Mobile Frameworks
26.06.2012 Posted in Production
If we go back to the year of 2007, when Steve Jobs presented the first iPhone, we could not guess the “big bang” of mobile devices, neither in quantity and in quality. Before that year, most of the people use their phones to play snake, make calls and send text messages. Obviously there were smartphones before the iPhone, like the PDAs from HP, but they were not affordable for most people. Those smartphones were much too complex, too expensive, too big, too heavy, in short: they were too much of everything.
After that year a new era of communication arrived, new smartphones made their appearance, like Android or Bada. They are simple, affordable, with easy and fast interfaces, touch screens, camera and GPS.
The last few lines were written from a user perspective. But what about a developer perspective?
Well, we have App stores for all the operative systems. Every day thousands of applications are being downloaded, a huge amount of internet traffic is being generated through mobile devices and it’s increasing every day. In consequence a lot of money is going back and forth: this is the so called “El Dorado”. But not everything is hunky-dory: each device has it’s own capabilities, screen size and programming language. That’s why Mobile Frameworks have made their appearance.
Putting it simply, mobile frameworks are designed to support the development of applications for different devices or operative systems with the same lines of code.
Nowadays we have frameworks specialized in all sorts of things:
- 3D games – Unity3D, Marmalade
- 2D games – Cocos2D, Corona SDK
- Access device capabilities like GPS or accelerometer – PhoneGap
- Native applications development with Native User Interface – Sencha and Appcelerator, AppFurnace, MoSync, monoTouch
- Web Applications – jQuery Mobile, Jo, LungoJS, XUI, EmbedJS
And we have more dozens of frameworks besides these ones. We are reaching the saturation point where there is almost a framework for each specific thing that we need.
Well we solved our problem with another problem: Which framework should we choose?
Sorry, I have no right answer for this nor an exact algorithm for choosing frameworks for development, although some key features should be taken into consideration when we need to choose between frameworks, like: user experience, the budget available, the needs for device capabilities and target devices. Then look for the available frameworks and see if there is one that fulfills your needs and get to work.
My personal opinion is that most of the times, we should go native, but I know that we need a huge budget for that and a team with a wide and deep knowledge in different operative systems and programming languages – most of the time it’s simply not feasible. Don’t get me wrong, the idea for this post isn’t to set up the endless discussion about Native development versus Web development, that topic is maybe for another post.
Currently I’m developing applications with Objective-C and phoneGap with jQuery Mobile. I have also used Cocos2D in the development of an iPhone Game and tested Unity3D. I have no hard complaints about any of them and right now I’m also testing the capabilities of HTML SVG (Scalable Vector Graphics) with Raphael Javascript Library. First impression: “Amazing”, it’s positively changing my opinion about Web development for mobile devices.
And you, have you worked with any framework? What is your feeling about those frameworks?
Don’t forget: The world is going mobile
Older post |   Newer post

One Response
Everyone loves what you guys are up too. This type of clever work and coverage! Keep up the good works guys I’ve added you guys to blogroll.