The Future of Silverlight and Flash PRO

Trying to forcast which technology will rise and which technology will fall is a mission impossible. The technology world is too complex driven by away too many forces, both technology and social. In addition, it is important to remember that each and every technology stands on its own and the case with one technology isn’t necessary the same with the other similar ones. There are too many forces involved in our world to get a clear and final deduction.

It is about Money
History teaches us that when alternatives (simpler to use which usually means cheaper to implement) emerge they usually get a market share in the expense of the older and the more expensive ones. Sometimes, the transition from the old technology to the new one takes time. Sometimes it happens fast. The economic factor is the one that eventually drives new technologies in the expense of others. Keeping that in mind it would be simpler to predict the future.

The History Lessons
One example we can learn from is the Java Applets that were the driven force for Java popularity during the years 1995-1996. At that time, the expectations were immense. Everyone was talking about Java Applets and when the alternative cheaper and simpler technologies emerged (Macromedia Flash is one of them), the Java applets market share began to shrink. During the years 1997 and the ones that followed it was clear that there is an alternative for the client side code running on the user computer. When it was about multimedia, the animated GIF format as well as the Flash technology were promising relevant alternatives. It is far more simple to learn how to develop in Flash (comparing with learning Java). It is far more simple to use animated GIFs when they do the work. When it was about sophisticated client logic, there was the alternative to develop it in JavaScript (which is a much simpler language to learn comparing with Java) or the alternative to develop the logic on the server side (whether using ASP, PHP or one of the other server side relevant programming languages which are much simpler to learn and implement). Apart of the technology possibilities the defragmentation problem arised and had its input as well. It was the defragmentation emerged following Microsoft Visual J++ JVM in Internet Explorer, that had its differences comparing with Sun JVM in Netscape Navigator, the other web browser at that time. That defragmentation increase development costs, which eventually push developers into other technologies. That was the case with Java applets and that was the major factor for the success of Adobe Flash and Microsoft Silverlight (at a later stage).

The Market Today
Microsoft Silverlight and Adobe Flash are today most dominant technologies for creating rich internet applicaitons. Each one of them allows us to develop rich user interface. Each one of them is relatively easy to develop with and each one of them allows us to reach most users. Today most users browse the web using their personal computers on which Microsoft Windows is the ‘Standard de Facto’ operating system. We enjoy both technologies (Flash and Silverlight). Sometimes directly and sometimes indirectly (Flex, Air and WPF). Even when the client is a web browser running on mac the two technologies are still relevant.

The Market Tomorrow
It is clear that tomorrow world is different. Within a year or two when the smartphones of today become the standard of tomorrow, people will browse the web more and more through web browsers (or hybrid applications that use web browsers engine) running on various platforms. It will no longer be a world of clients dominated by one operating system. It will no longer be a world dominated by web browsers running on personal computers. The first phase will be characterized by a clear growing number of people that browse the web using mobile telephones and tablets. During this stage both Adobe Flash and Microsoft Silverlight have a problem. Adobe Flash cannot reach iOS (iPHones and iPads) and WP7 (Windows Phone 7). Microsoft Silverlight cannot reach iOS (iPhones and iPads) and Android. Given the continous growth of the andorid market share, Microsoft Silverlight is even in a bigger problem. During the next phases to follow we can expect even a bigger defragmentation involved with a bigger number of operating systems that will allow us all to access the web from many different types of devices, yet to be invented.

We can certainly expect that those devices will use different operating systems. Java ME and JavaFX are still in the game. Some of those operating systems will most likely be limited in their computing resources, either due to technical reasons or economic ones. We all know that appliances manufacturers always look for lowering their costs. Given today technologies I cannot think of any other option but to use standard technologies, such as HTML5 and JavaScript, that don’t require tailored plugins, that most likely won’t be available for every platform.

Ease of Development
The HTML5\JavaScript alternative still does its first steps. It will take time till the HTML5 specification is finalized (the optimistics talk about 1.5-2 years till that happens). The available development tools and frameworks that use HTML5 still haven’t arrived their maturity stage. Especially the ones that are relevant for mobile platforms. Ext JS Designer relatively does a good job. Microsoft Visual Studio 2010 SP1 that supports HTML5 is still beta, jQueryMobile is still alpha3, Sencha Touch still includes a relatively small number of controls and Google Web Tookit (GWT) integration with common IDEs still does its first steps. We can see all that changes and it is probably just a matter of time till we have available easy to use development tools that use HTML5.

Business Applications
When developing a web application for use in organizations that their information systems are already microsoft based then using Silverlight surely makes some sense. The ease of developing silverlight applications allows the organization the required flexibility in updating its information system. Yet, the question to be asked whether within few years a business would like to keep its information system dependent on Microsoft solutions, discarding the usage of technologies, tools and hardware that don’t support Silverlight. The same apply for Adobe Flash and its Flex web framework. Do we want to be restrained from using devices that don’t support the two technologies (flash and silverlight)? Although today it is about android (doesn’t support silverlight) and iphone/ipad (don’t support flash nor silverlight) only, what about the other devices and the other platforms that have recently emerged into our mark (e.g. Bada, MeeGo). What about those that yet to be invented? (make sure you watch the video clip in the market tomorrow section).

System Interaction
One of the claims recently heard in favor of using the Silverlight technology is the ability to interact from within the Silverligh code outside the web browser. We can get similar interaction when using Adobe Flash as well. All that is true. Yet, doing the same when coding JavaScript is feasible on android (AKA ‘Hybird Applications’) and to some extent on other platforms as well. When developing for web browsers running on linux, solaris and iOS and windows we can develop Java applets that will be able
to interact with the platform (assuming few changes in the security setting, which makes it relevant for organizations only). Our code in JavaScript can use LiveConnect to interact with the applet. When developing for Internet Explorer running on windows we can develop ActiveX componentes, with whom our code in JavaScript can easily interact. The possibilities to reach outside of the web browser when using other technologies exist.

Rich Media
There are few who claim that you cannot develop rich media using HTML5. Rich is a relative term. I strongly recommend on checking the emerging HTML5 based frameworks. Ajax.org, PhiloGL, Sencha Animator and jQueryMobile are just few samples.

Some will claim that the rich user interface we can create using Adobe Flash and Microsoft Silverlight is unmatchable, and getting the same result using HTML5 based frameworks is impossible. One of the samples those people usually present is the case of presenting maps together with a zoom in/out button. You can get all that without using Adobe Flash and Microsoft Silverlight. It would be even simpler. Many of today JavaScript framework already includes a map control you can embed within your web page. One sample is the Sencha Touch map control. The following video clip shows Sencha Touch available controls, including map.

I also strongly recommend to check the recently published book The Definitive Guide to HTML 5 Video, authored by Silvia Pfeiffer. It overviews some of the amazing possibilities we have when using HTML 5 for presenting video in our web page.

Windows Phone 7
Some will claim that Silverlight is the only option when developing applications for the windows phone 7 platform. This is not accurate. The windows phone 7 includes the WebBrowser contorl we can span over the whole screen. That control is currently based on IE7. I guess it is just a matter of time till it will be upgraded and be based on IE9 or even IE10. When that happens there won’t be any problem to effectively use all the great HTML5 based frameworks currently targetting WebKit based mobile platforms (iPhone, Android, Nokia, BlackBerry, MeeGo, Motorola etc).

Staying Relevant
Is it possible for Adobe Flash and Microsoft Silverlight to remain relevant in the long run? There is one thing both Adobe and Microsoft can introduce into their technologies that might turn them into more relevant than ever. Yet, it is a question of whether the two companies will be fast enough to introduce those changes. If the underneath implementation will be based on JavaScript and HTML5 (even partially so that when the client platform cannot support the installation of a Silverlight plugin the underneath running code will be JavaScript and HTML5) it will allow the developers that use these two amazing technologies to reach a bigger market share, enjoy the benefits of the excellent development tools and remain relevant. The other alternative, trying to develop the required plugins for all platforms won’t do the trick. With the years passing by, more and more new platforms emerge. Some of them might not have the capability to support neither Silverlight nor Adobe Flash (at least not in their early stages), not to mention the expected defragmentation problem (make sure you read the history lesson on top).

Conclusions
Becareful of those who claim their preferred technology is better than others. Usually, such sayings indicate about nothing but ignorance. There is no such thing one technology better than the other. It is all about picking the most suitable one for the very specific case we are dealing with. Silverlight will continue to be relevant for those specific cases in which it fits better than the alternatives. The same with Adobe Flash. Nevertheless, the market share of these two technologies that require us to install specific plugins into our web browser, will dramatically decrease. These two technologies evolved due to the vacum created by the freeze of the HTML specification since 1999 (HTML 4.01 release). HTML5 specification will most likely be completed within the next coming year or two, and HTML5 frameworks and tools will continue to evolve in order to meet with the never ending requirements.

Share:

The Visitor Design Pattern

The Visitor Design Pattern

The visitor design pattern allows us to add operations to objects that already exist without modifying their classes and without extending them.

What are Anti Patterns?

Anti Patterns

Unlike design patterns, anti patterns just seem to be a solution. However, they are not a solution and they cause additional costs.

Virtual Threads in Java Professional Seminar

Virtual Threads in Java

The use of virtual threads can assist us with improving the performance of our code. Learn how to use virtual threads effectively.

NoSQL Databases Courses, Seminars, Consulting, and Development

MongoDB Design Patterns Meetup

The use of MongoDB involves with various cases in which we can overcome performance issues by implementing specific design patterns.

image of woman and database

Record Classes in Java

Learn how to define record classes in Java, and when to use record classes in your code. Stay up to date with the new Java features.

Accessibility | Career | Conferences | Design Patterns | JavaScript | Meetups | PHP | Podcasts | Python | Self Learning

Teaching Methodologies | Fullstack | C++ | C# | CSS | Node.js | Angular | Java | Go | Android | Kotlin | Swift | Academy

Front End Development | Scala | Architectures | Cloud | Big Data | Internet of Things | Kids Learn Programming

The Beauty of Code

Coding is Art! Developing Code That Works is Simple. Develop Code with Style is a Challenge!

Skip to content Update cookies preferences