In our first part, we took a brief look at Silverlight and Flash, and how well they stack up against each other. In this second part we continue the discussion from the developer's side, and take a look at the development options available with Flash and Silverlight.
For any Web 2.0 website, the creating of websites has become more like developing software. The design of the user experience and interaction, the development of the client-side side functionality have become as important as the visuals. Regardless of the what technologies are being used to create and deliver the content, the development bit is more important than ever. The applications written today need to be scalable to be able to successfully meet the challenges of tomorrow.
Flash and Silverlight aren't just for creating simple animations and banners, they are target runtimes for highly interactive content and rich internet applications. As such they need a proper development environment, and a good workflow with designers.
Neither Flash, nor Silverlight are technologies which require an investment of hundreds or thousands of dollars. Both support free development environments, and it is now possible to create content written in either for free. However, both Microsoft and Adobe have professional solutions for creating content as well.
Microsoft has a lot more experience with creating development products, and has created some powerful development tools with its Visual Studio suite. Their Visual Studio suite is capable of creating Silverlight application after the installation of the Silverlight SDK. With one of the most powerful IDEs backing Silverlight, Microsoft's offerings for Silverlight are much more powerful than anything Adobe has to offer.
For Silverlight, Microsoft provides the free Silverlight developer tools, which also integrate with the free Visual Web Developer Express suite, allowing you to make Silverlight content for free. The support for Silverlight on Linux platforms is rather weak, the development choices for Linux users are slim and don't support the latest version.
Adobe on the other hand, provides a free, open source SDK called Flex, which can be used to build applications for the Flash runtime. The Flex framework provides you with interface controls and libraries that can be used to build most application. The SDK includes an open source compiler for Flash written in Java, hence the SDK can be used on any platform as long as the Java runtime environment is installed. Creating content which doesn't use the SDK is easily possible, and, given the situation, can be much more efficient. The Flex compiler can directly output .swf files straight from ActionScript code.
While with Visual Web Developer Express along with the Silverlight development tools provides you with a free IDE and development environment, the only IDEs for Flash development by Adobe are Flash Professional and Flex Builder (to be renamed to Flash Builder with v4); both paid. Here again Silverlight has an advantage, with a free solution -- Visual Web Developer Express, available. Although both Flash and Silverlight have third-party free IDEs available for development too. For Flash you have the open source FlashDevelop, and Silverlight has alternatives such as eclipse4sl, which is an add-on for the popular Eclipse development environment.
Silverlight on the other hand is built on Microsoft .NET, and as such can scripted with any programming language that can used in .NET. Because of this, Silverlight developers have more options when it comes to programming applications, they can use any .NET language such as C#, Visual Basic, and infact, it is even possible to use Python or Ruby with the open source IronPython and IronRuby.
C# as a language provides many functionalities which are absent from ActionScript. ActionScript on the other hand has some very simple yet powerful methods to work with XML files, and offers a much richer API for working with sound and image data, which has become increasingly important in online applications.
While in the end the user experience matters most, when it comes to development, we see Silverlight take a leap over Flash. Flash may have been the king of the internet for quite long, but Microsoft has been king of the desktop for longer, and they have brought some of that shine to their tools for Silverlight.