Wednesday, April 18, 2012

Mobile apps and HTML5

Mobile apps are growing very very fast, since last year or so smartphones and tablets have been starting to have a significant share of the internet (more precisely websites) view devices.  And in opposition of many believes, also a big share of all the money spent in personal software! So, developers are trying to go with the trend and learn to code for this platforms but...One have to learn at least Java (witch is widely known, however most web-developers dont) and Objective-C. Lets say I own a very popular website: I want to make it mobile/tablet friendly, I'll need to re-write my website (or make it responsive to display sizes). A few months later I want to make my mobile app, a different way to view my website and to access my services, and again...another application has to written. Later I want my tablet app, witch its not much different from the mobile one but has a different display and performance...needs re-write. At the end of the year, I want this app in both Android and iOS (and here I'm excluding Symbian Blackberry and Windows Phone, or it would be impossible to a small company to write this app in all this platforms) so I'll need to re-write again these two applications...So it would be:


5 applications:


  1. Mobile version of my website
  2. Mobile app for accessing the website services and content
  3. Re-write to make it tablet friendly
  4. Re-write of (2)
  5. Re.write of (3)

And the bottom line is that when you want to update your application you'll need to do it five times! Here is where the HTML5 kicks in, you are able to write a JavaScript application witch will run as a website or wrapped in a iOS, Android, Windows Phone, Symbian and Blackberry application. So it means that the the first application (1) is ported to all other platforms and devices, with minimal code adjustments.

How can we achieve this? 
There are some projects (some more open-source than others) that wrap your HTML5/JavaScript/CSS3 application in a custom (usually webkit based) browser. Imho these are the two most important wrappers in the market:
PhoneGap is very good for mobile wrapping, gives you access to all hardware features and so far it went perfect for me.
Titanium Studio is another promising framework (and IDE, based on Eclipse). In this case it wraps for mobile and desktop. For mobile cases is not as good as PhoneGap however it gives up a multiplatform desktop wrapper witch means: Windows, Mac OSX and GNULinux, and so for works great.


If you have questions, opinions or rants just comment, I may not reply rapidly but I will reply :)

6 comments:

  1. Olha um espaço para flamar !!!

    Noob es um Noob

    IF I WANTED TO PROGRAM BY EMBEDDING A BROWSER IN MY FUCKING APPS, I’D FUCKING USE A WEBVIEW NATIVELY. PHONEGAP IS THE BIGGEST PIECE OF SHIT I’VE EVER SEEN. GTFO WITH YOUR “CROSS PLATFORM” BULLSHIT. ANYONE CAN CREATE A WEBSITE AND POINT A BROWSER TO IT.

    ReplyDelete
    Replies
    1. Flame away...

      If your so pr0 why dont you explain to me what's the difference between a PhoneGap wrap and a native webview if you please?

      Delete
    2. you cant use flash in Apache Cordova

      Delete
    3. One does not need flash in a mobile application.
      This kind of frameworks are not intended to be used for games and such things. This kind of wrap doesn't allow great performances, what it does allow is a easy cross-platform.

      Delete
  2. AllNuzs 1º looks like a bawss. Very nice post, even to the people like me. Never had the chance to "play" with this apps or even the Html5, but congratz for your effort and dedication in this Post. Keep on Going Nuzs.

    Regards

    Chinas

    ReplyDelete