Foreword

Line of Business applications. Think about this term for a moment—Line of Business. Yes, Business. Business means change. Changes are happening faster than we usually think it is possible. How can we deal with it? With the right set of knowledge and tools, of course!

Business, nowadays, is more demanding than ever, but so are the technologies we have in hand. We have moved away from the times when a fully-featured desktop application was enough. Now, we want to be able to work from anywhere—from any place on Earth, by any means—let it be our office computer (PC or Mac), our netbook at home, our mobile, or tablet on the plane. This is how RIA applications emerged. This book is about how to get started, with developing RIA applications using one particular set of technologies—those in the Microsoft domain, namely, Silverlight, WCF RIA Services, and other frameworks and tools around them.

Back in 2007, when the first pre-release bits of Silverlight were introduced, there weren't many ways to build fully-featured and always-connected applications. JavaScript was one of the options. It had been out there for a long, time and, although it could help you build magnificent applications, it didn't come far when talking about robust, highly-maintainable, change-resistant, and easy to get started code. Its support for different browsers was not a pretty story. The pre-release version of Silverlight was rather limited, but even then people started to see big potential in it to target media and business applications. The potential turned out to be real, when a year and a half later, the Redmond campus released the First Official Release of the plugin, which had .NET Framework support called Silverlight 2. Developers were excited, and this is how things got to work. The whole community was pushing hard; .NET developers were finally able to start writing applications that could work everywhere. The Silverlight release cycle period is an unbelievable nine months. That means every nine months, the community was getting a new version! Silverlight 3 came packed with lots of features enabling the development of Line of Business applications. Everyone was wowed, as to how quickly Microsoft got their product ready for the enterprise and some big players, such as banks, started paying attention.

Thanks to the great support, both from the community and Microsoft, Silverlight emerged a real business-oriented platform. A lot of open source projects popped up—MVVM Light Toolkit (by Laurent Bugnion, see Chapter 4, Architecture), Prism (by Microsoft Patterns & Practices), MEF (later included in the .NET Framework version 4, see Chapter 4, Architecture), WCF RIA Services (see Chapter 5, RIA Services Data Access), and enabled rapid development of strong and well-architected applications. At least two web communities (one Microsoft, Silverlight.net and another independent, SilverlightShow.net), focused entirely on Silverlight, starting right from the birth of the plugin and covering every little piece of the framework with news, articles, and video tutorials, both contributing solely to the evolution and adoption of Silverlight as the platform for the development of Line of Business applications.

Microsoft continued their work on the platform and released Silverlight 4, a version I like to refer to as business-feature complete. With that release, Microsoft enabled us to do whatever we needed, to satisfy business requirements. From then on, only a few things could be done better, and that is exactly what happened with the latest fifth release.

Now both, the JavaScript and Silverlight world has evolved to a point where you can accomplish astonishing things in very little time. But even with the latest powerful JavaScript frameworks such as jQuery, Knockout, Kendo UI, and many more, we still struggle to create well-performing and easily-maintainable Line of Business applications. While it is easy to use JavaScript for lots of different types of applications, Silverlight remains the platform to go with, when you are looking for a business-class environment.

Starting from the fundamental Create Project, to architecting your application, this book guides you through all the major steps and dives into details of creating Line of Business applications that are resistant to change. Give yourself a jump start and ride the wave of exciting and continuously changing world business applications.

Emil Stoychev

Co-founder, SilverlightShow.net