There has a lot of discussion going around in the past days about the big Adobe vs. Apple issues. All because of Flash.
Steve doesn’t like Flash. He says, it’s buggy, slow and unstable, which I, as a Flash developer, must agree to partially.
But this is only one side of the medal. While the Flash player itself isn’t that great, the development tools provided by Adobe, like Catalyst, Flash Builder or Flash Professional, are really awesome. For me, as a traditional software engineer coming from Java programming, all these tools are absolutely professional, easy to use and really enhance the development workflow.
Thus, there can be only one consequence:
The Flash Player must be eliminated from the web and Adobe should continue building their great developer tools, but target HTML5.
On the Adobe MAX 2009, it was demonstrated, that it is possible to export Flash applications into HTML5. I know that this is just an early prototype, but if Adobe wants to survive, I think this is probably the best way to go, since all sides would benefit from this:
- The web gets rid of the Flash Player
- Steve is happy
- Flash Developers can continue using Adobe products to create web applications
- Adobe will survive
This strategy totally makes sense. Adobe doesn’t make money by selling the Flash Player. They sell development tools which target the Flash Player. If these tools would instead target HTML5, no-one would get hurt.
I know, this is technically not very easy. There are Flash-features which do not exist in HTML5 (yet), like web-cam support for example. But time will fix this. As far as I know, web-cam support was already suggested as a new feature for the next HTML versions.
Steve is a prick. As a developer who uses many technologies, I deserve the freedom to choose whatever technology and language I wish to build applications in. I understand Apple does not ship plugins on their mobile browser platforms… but why not cross-compile? I want to be able to maintain a single codebase and deploy my app across as many platforms as possible with the least amount of effort.
Bottom line, its unethical to force developers to use one language or another.
I can partially understand Apple and their intentions. They want all the apps in the app store being based on one consistant platform using Objective C and the XCode tools.
This has three benefits:
1. Whenever Apples makes changes to the iPhone OS, developers won’t have to wait for third-party companys (like Adobe) to update the SDK’s.
2. Only “real” software engineers are able to code in Objective C. No Flash-Designer, who is only able to use Flash Prof. CSx, can bring crappy, bad coded apps to the iPhone/iPad.
3. All apps have the same look and feel regarding UI. This prevents Flash designers from creating their own UI looks, which might confuse the user.
My understanding of being able to deploy Flash applications to the iPhone OS is different though. I don’t see Flash and Objective-C apps as competitors. Flash-based apps could never be that smooth as native iPhone apps are, BUT Flash can be a great platform for creating multi-platform games for mobile devices, since the development of mobile games in XCode is a real pain in the a**.
Although all of the above statements are definitely not wrong, I wouldn’t really agree.
“Openess” is vital for all kind of operating systems.
A Windows OS, which only allows .NET-applications would’ve never become what it is now.
A MacOS without the Java Virtual Machine would be ridiculous.
Conclusion:
– In my opinion, Apple should ship iPhone and iPad WITHOUT a pre-installed Flash Player, BUT give the users the ability to install it, if they want to.
– Multi-platform technologies to create apps for the iPhoneOS should be allowed.