Recently I have been involved in a discussion about 3’rd party rapid application development tools. The users wanted to know about Telerik controls.
Telerik are very new to the Windows Forms game as they have always been web giants. For a recent application, I needed a grid that displays progress bars/department progress as an order goes through various departments. Only problem is with all the main vendors they have heavily modified their grids to cater for 10 000 different situations. The net result, is that you have 10 000 options to learn, to fully utilise their grid. Personally I found that the DevExpess grid for instance, is optimised for databinding, and does not have an unbound mode (after a month of fiddling about with it). For all the others I needed to owner draw the progress bars, which I may as well have done with the standard datagrid view. I have now done this, and optimsed it though, getting rid of the flicker when painting.
The feature I do miss is grouping, and this is what most people that buy RAD components go for, i.e. getting their app to look like Outlook. I will be modifying this grid and adding a Linq data source. All in all, it will take me less time to do this, than learn third party vendor solutions, and improve my development skills. You automatically, in fact exponentially raise the complexity level when you use third party suites, when a lot of the time, not being lazy and working a little harder results in attaining what you wanted without the huge complexity overhead.
2 years down the line, you have to maintain the application (I want to move to WPF), you then need developers that are trained in whatever suite you used and that really does add to the costs. The only third party thing I will purchase will be a calendar/scheduler because I really haven’t time to update the open source ones and I need something that looks good.
You can say what you want about Krypton, but this I have found to be highly customisable with things like button specs. It is far, far, far more flexible than some of the main vendors, and I have tried them all.
One of the main complaints I receive from customers, is when using solutions like RedPraire. The main complaint is, that you are tied into their specific implementation for your business, i.e. you work around the system and not the other way around. This is no different with software from 3rd party vendors. Your are tied to their specific implementation of for example how a datagrid should work. Try 2 different vendors and get 2 completely different grids and abstractions. Just like windows forms the drag and drop experience is quick (dragging components onto the form), then the real challenge begins in learning the various abstractions.
Use third party components, if you have a substantial budget, and have 4-5 years programming experience. Without that, you will never fully utilise what’s on offer, and never know how .NET really works, because you are shielded from using delegates and interfaces.