Introduction to JavaFX, Flex and Silverlight

Introduction to JavaFX, Flex and Silverlight

Before discussing each specific technology / framework, let’s first introduce the term RIA (Rich Internet Applications), which is the reason why all these technologies became more widespread and gained a huge boost.  Rich Internet applications (RIAs) are web applications that have most of the characteristics of desktop applications. Rich Internet applications offer a rich, engaging experience that improves user satisfaction and increases productivity.
Some of the key benefits of RIAs:

  • Enable an engaging, interactive user experience
  • Provide immediate and dynamic visual feedback to the user
  • Provide cross platform support

During the last years the competition in the sphere of RIAs have been intensified and the reason is the introduction of new JavaFX technology from Sun and Microsoft’s Silverlight technology, that joined the Adobe’s Flex platform. The goal of these technologies is the same, namely to provide rich and engaging user experience, however the technology behind them is different. The intent of this discussion is to introduce you to these technologies, with their differences and similarities and as a continuation of this talk we can implement a sample example on these frameworks and compare in the specific environment.

Adobe Flex is a software development kit released by Adobe for the development and deployment of cross-platform RIAs based on the Flash platform. Flex applications can be written using Adobe Flex Builder or by using the freely available Flex compiler from Adobe. Current version of Flex is http://www.adobe.com/products/flex/.

Silverlight from Microsoft, which is a framework, integrating multimedia, animations and graphics into a single runtime. Latest versions of Silverlight brought support for .Net languages and development tools. Current version of Silverlight is http://silverlight.net/.

JavaFX from Sun is a software platform for creating and delivering RIAs for browsers, desktops and mobile phones. The goal of the project is to be able to run the applications on a variety of other connected devices, such as TV set-top boxes, gaming consoles and blu-ray devices. Current version of JavaFX is http://javafx.com/.

To make the comparison easier, I have created a table that lists the different aspects of these frameworks and how each of these technologies fits in.

JavaFX Flex Silverlight
Stable  release 1.2 3.4 3.0
Development Language JavaFX Script (syntax similar to Java). ActionScript (based on the ECMAScript standard). Subset of CLR (common language runtime), that enables to write in C#, VB.NET, ASP.NET, IronPython and IronRuby.
Platform Java Runtime Environment: Cross-platform Adobe Flash Player: Cross-platform (installed on over 98% of Internet connected computers) Browser plug-in: Microsoft Windows, Mac OS X, Linux
Licensing EULA (open sourced most of the components, under GPL licensing) OSS under Mozilla Public License (Flex Builder and Flash Player under commercial license) MS-EULA, with MS-PL components
IDE NetBeans IDE for JavaFX (Free Software License) Adobe Flex Builder commercial product (based on Eclipse) Microsoft Visual Studio 2008/2010, Microsoft Visual Web Developer Express commercial product

To summarize, all of these technologies have a lot of in common, but at the same time they are using different runtimes and technologies: they have excellent media enhancements, out of the browser support allowing Web applications to work on the desktop, excellent graphical features, huge set of components for improving developer productivity, etc.

In the end I want to mention that everyone will go with what they know and that it’s very important to have all these competing technologies that will have positive impact on the advancement of the RIAs and finally change the browsing experience of the end users.

  • Share/Bookmark
This entry was posted in Web Technologies and tagged , , , , , , . Bookmark the permalink. Post a comment or leave a trackback: Trackback URL.

Post a Comment

Your email is never published nor shared. Required fields are marked *

*
*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Bad Behavior has blocked 13 access attempts in the last 7 days.