Keeping track of new technology is quite a tedious job. In fact, if you try to catch up with all hot trends in software development you probably will end up having a job as a full time blog reader. In contrast, most software developers are always anxious about stretching their fingers on some actual coding. But the beginning is always the hardest part, even more if you are not patient enough or haven’t had time to watch videos and spent hours reading tutorials. In case you are coming from a different programming background, you are certainly used to specific methods and practices. Even though the general programming paradigm may be essentially the same, the best practices employed in every technology may significantly differ. That is why, if you are new to Silverlight, it’s essential to have a general overview of the framework that will eventually help you get started and flatten your learning curve a bit.
To make the things simple I will just brief what the tools are, and where you can find them. For more detailed information and advanced topics you are welcome to read and comment all blogs by the Silverlight community at Telerik, as well as to use our Resource page.
Simply enough, if you want to build a Silverlight web application you would need the following tools installed:
Visual Studio 2008 SP1 or Visual Web Developer 2008 SP1 or Eclipse IDE with Eclipse4SL plug-in
Silverlight Tools for Visual Studio 2008
.NET Framework 3.5 Service Pack 1
Expression Blend (optional)
Note that you can use Eclipse as your integrated development environment, but you will still have to write your code in C# and XAML. More information about Eclipse4SL can be found here.
After you have installed all of the above software you may now start tampering with the code itself.
Now if your “hello world” textbox takes the whole page even thought you carefully positioned it in the center, it may be helpful to take a look at the layout system in Silverlight here. Just make sure to look at the Canvas, Grid and StackPanel that are usually used for achieving some trivial layout. In case you are really innovative and require some more fancy ordering of your elements on a panel, you can read about how to inherit the panel class and override its Measure and Arrange virtual methods to introduce your own logic here.
We get a little bit tricky here. The user interface is the tangible place of your application, and thus should be well designed and implemented. Even though the interface is a tedious job, you can use Microsoft Expression Blend, a great and easy tool for creating an exciting design. You can download Expression Blend and all necessary assemblies to get started from here. There are also a number of emerging tools that focus on alleviating the gap between design and interaction concepts and actual implementation. You can keep an eye on the Sketch Flow application that is expected soon to have some beta versions.
The data model
Binding between View model, e.g. user interface, and data model is not always easy as it seems. Hopefully enough Silverlight provides the plumbing by its powerful data binding model. All you need is to make your class inherit INotifyPropertyChanged and introduce some simple logic in order to make your class suitable for binding. It’s essential to read some of the getting started tutorials by Microsoft for data binding here. Once you understand the binding model you will need a database or some other backend for your data layer. Currently, there are two widely used techniques for using database engine as a backhaul in your Silverlight. Either you can use LINQ to SQL classes that are mapped to relational objects, or you can download the latest version of RIA services framework that makes it easy to create your N-tier data layer in ASP.NET and share it between several n-tier applications.
Microsoft includes its own Silverlight toolkit that possesses a bunch of controls. What you would usually need is set of controls that have specific focus and goal. The Telerik team implemented RadControls of Silverlight to be the panacea to every professional line-of-business application. RadControls for Silverlight come in three completely professionally built themes that can be further extensively modified by Expression Blend.
More information about our controls can be found here:
Rich set of video tutorials