Update: After hearing about some misunderstandings regarding this post, I want to make sure, that the title “Flash – The new Java?” is of course targeted at front-ent software engineering, not backend. Although it’s obvious that noone would ever try to build a web application backend using Flash, I just wanted to make sure that you understand what I am talking about :-)
Flash/AIR seems to really become a serious alternative development environment if it comes up to multi-platform requirements for desktop- and mobile applications.
With one codebase (in ActionScript3), it’s possible to target:
- Windows
- Mac OS
- Linux
- iPhone, iPad
- Android
- Web OS
- …
Don’t missunderstand me. If I say “desktop application”, I am not talking about ones which run inside a browser. Instead, they are being installed on the local file system and run inside a runtime environment. Think of them like Java applications running inside the Java Virtual Machine.
Check out this youtube video where Flash’s multi-platform capabilities are being demonstrated.
Note: Since both, the iPhone as well as iPad, don’t support the Flash runtime environment, it is possible to compile Flash into native iPhone applications, which behave 100% as their originals (I, personally find this unbelievable!).
On all other platforms, there is a runtime environment, called AIR (Adobe Integrated Runtime), available. On Android phones, there is even a Flash Player installed which makes it possible to run Flash apps inside the browser. – Just one of the reasons why I am gonna buy the new HTC Legend in the next days. Sorry Apple :-P
For me, Flash is the new Java, which always claimed to be the platform-independent runtime environment for front-end applications. As good as Java is for backend-development on the web, the more it failed on the desktop and mobile phones.
Flash is not an animation-tool for designers anymore. It’s a serious SDK for writing great front-end applications in half of the time one would need using Java. ActionScript3 is a great programming language based on the object-oriented principles of java with some syntax similarities with JavaScript. In AS3, the developer has everything to code robust applications in OO-style: Classes, interfaces, polymorphism, events and more. Using Eclipse as the IDE of choice, one gets all the benefits of it like great debugging tools, for example.
Check this link out for a comparison between Java and AS3 syntax. You won’t see that much of a difference.