Firefox OS - The Web goes Native
A theory I share with many people is, that natively compiled code will lose many advantages and also the significance of advantages, compared to interpreted, JIT-compiled code. Here are my 800-something words on what I expect of Firefox OS and app/platform development in the future.
The kickoff in my head
I want to point some of the things out, that I was thinking about when I listened to Linux Outlaws 301. It's a great linux podcast, that Lennart recommended to me a while ago and I've been keeping up to date with Fab and Dan ever since.
In their episode Fab questions why he would have a web app compared to a native app on his phone. Overall he is positive towards Mozilla's initiative and their work on Firefox OS, but this skepticism towards web-apps struck me.
Right now Firefox runs IonMonkey, which shows some perfomance improvement, compared to previous versions.
Digging through some of the developer information on Firefox OS, I've even found a recommendation for node.js as backend infrastructure.
The Web going Native
An interesting talk on why things like PhoneGap are not fast enough for facebook and what kind of features are needed in mobile browsers can be found here:
Facebook State of Mobile | PhoneGap Day EU 2012
Now with environments like node.js, WebGL, Firefox improving JS engine, maybe we can cut the middle man and focus on making it all fast enough. Devices are getting much beefier and I can do nothing but bet, that the API's to sensors like the accelerometer or GPS that are considered "native" will be very easy to access for developers.
Mozilla has a nice chart how the architecture looks for Firefox OS at the moment.
If the Firefox OS simulation plugin for Firefox is not fitting your needs, you can apply for a Firefox OS developer device on their site geekphone.com.
Less Specificity and more Modules
I believe that less specificity and more modules are going to be a future trend. Looking at npmjs, it seems like we're going to build smarter ecosystems for development, where many small building blocks are available, that depend on each other meaningfully and that the way we write software becomes less diverse, even if the amount of mobile platforms will increase.
Where now developers have to tie in API's of their respective cloud services into multiple native apps or lose performance, we'll have a more compatible way of accessing native functionality.
Package Managers for Smartphones
Expecting less binary applications for phones, we can also draw from experience with package managers in the Linux world or even for node.js or ruby on rails. Just patching files, maybe handled through git all become much more possible when we don't have to boil it all down to megabytes, that have to be downloaded in bulk, every time an update for one of our apps is rolled out.
The Next Level
Mozilla is really attempting to take the mobile web to the next level, even though it seems ironic to launch another platform for that purpose. It, like Firefox, is an open platform and not as many of the core parts are restricted, like on Android.
I'm very curious to see this all evolve and gain momentum, to see mobile developer stacks and restrictions shrink in amount of languages/steps involved and hope to see more people get involved with this way of thinking and liberating web technology, close to the consumers.
Mozilla, in my eyes moved from they guys who broke IE's dominance and then started lagging behind webkit, to a quite serious, awesome bunch again.