The art of creating a good control
Do you remember the joy when you were playing lego in your young years ? With small lego parts you can build your most wanted star wars ship. You don't build the lego parts though, you buy them.
It's the same for software components, also called controls. They are well builded, polished piece of code solving a problem; and they can be easily plugged into your app. They bring you value, and if they fit your needs out of the box, or if you are a little weak on coding (lots of us are), they will save you a lot of time.
A good control should:
At Vapolia, i'm building components since a long time, both internal components that never surfaced in public (for customer projects), the award winning components XamSvg and WheelPicker, and some open source components among which KeyValueLite, XamarinFormsGesture and MvvmCross-UserInteraction which started as a fork and was fully rewritten and improved.
There are a few top controls providers: syncfusion, telerik, grapecity, infragistics, all with tons of quite standard components like grids, calendars, and many others.