Last summer I began a project that took me about a month. The application was written in C# using Windows Presentation Foundation (WPF). At that time, I had not yet heard of Intersoft and had not yet experienced their ClientUI toolkit. While I had no framework and didn’t want to take time to learn how to use one, I decided to make the application adhere to Model View View-Model (MVVM) as much as possible. I was tired of writing code that was hard to follow and parts of it were in the code behind class and the parts of it were in the controller class.
Unfortunately the 3rd party controls I was using did not work easily in a MVVM application. And in spite of my best intentions, I had code in the code behind of the view class and I had code in the View Model class. As the project progressed and the requirements changed, debugging became more difficult. I eventually finished the project. Over time, the client wanted changes made and features added and because code was all over the place it became more and more difficult to maintain the application.
Finally I reached the point where I was so frustrated with the app that I decided to start over. Considering the problems that I ahd the first time I was not looking forward to it. But I had one big advantage this time. I had ClientUI 5 controls from Intersoft. They are absolutely the best set of controls for Silverlight and Wpf on the market.
I began the application by using one of the templates provided by Intersoft. They provide about a dozen Wpf and Silverlight templates that give the developer a big head start. Using some sample tutorials from the Intersoft web site, Devforce Universal for the back end, and Intersoft ClientUI for the view controls, I quickly redeveloped the application in a matter of days instead of weeks as the first time. This time I am proud to say that the application faithfully follows MVVM. There is no code in the code behind of the View Class. The controls on the View are wired to commands in the View Model.
Why was it so easy this time? Because I was using Intersoft ClientUI 5 controls. The controls have MVVM capabilities built right in, making it easy to send commands from the View to the View Model. In addition, the same controls work on both Wpf and Silverlight apps. If I decide to move the application in the future to Silverlight it will be a very easy move. The final reason why it was easier this time is because the Intersoft web site has great tutorials, sample, blogs, and the support from the staff is fantastic.
I am not an employee of Intersoft. I am a software developer struggling to survive in a fast changing field.