Sunday, October 22, 2017

The CDK was exhibited by Jeremy Elbourn at the AngularMix.

CDK stands for Component Dev Kit. You may read more about it here and Mr. Elbourn's talk, the best of the bunch from the AngularMix Tuesday, is given here. I don't believe this is quite out of development yet, but it is more or less stable and you may have at it as part of Angular Materials 2 here. Angular Materials are made up of CDK elements which are building blocks. Jeremy and his team tried to find functionality that came up as a need repeatedly and across commonly hand-rolled controls to make building blocks for such. The particular example that was on exposition in the talk was the challenge of a pane that appears popping out of another element upon interacting with the element. The list that appears when you click a dropdown would be an example. That is easy enough to make yourself, right? Well, in the CDK example that was shown there was emphasis on making the area that appears appear above the control if the control sits near the bottom of the browser so that one does not have to scroll down to see what appeared and below the control otherwise. What is more, if you move the scrollbar to move the downward sitting pane below the base of the browser it will auto-adjust to sit on top and when you scroll back up the thing on top will go below again, and so on. There is a lot more engineering to be done for this sort of puzzle than one might think of at an outside glance. I'm sure lots of devs have only realized hip deep into making their own controls what some of the challenges are. Other things mentioned included a11y which is an accessibility subpacket for screen readers, LTR/RTL reactionary capabilities (reading left-to-right versus right-to-left), and the utilization of SVG. The CDK is a set of engine parts to build up a rocket. Third parties rolling suites of controls themselves may utilize the CDK primitives. As you might imagine the CDK is going to have some dialogs, some list boxes, and yes, some tables in it. Tables seem to be the flagship of complexity and "doing too much" in any third party library such as DevExpress. Having bit into this challenge myself as suggested here I know that it isn't trivial to tackle this sort of thing. When I try to imagine myself writing something like the reactionary pop-out panes that either sit above or below a control I envision myself determining the height of the control and then figuring out how much screen real estate is left visible, etc. Hopefully the CDK will alleviate some of this heartache for a lot of people.

No comments:

Post a Comment