Last
few years have been highly significant and eventful for the app developers and
IT professionals in more than one way.
PCs were dominating the personal and enterprise computing spaces for the
last 2 ,3 decades. Even now PCs are not
going anywhere and enterprises are not going to dump them in the near future at
least. But what about the personal computing space?
Smart
phones and tablets have successfully entered our drawing rooms, if not the bed
rooms and rest rooms. After giving the
PC a run for its money, these mobile devices have started helping people solve
some of the light weight enterprise problems as well. That's the reason all
CIOs are carefully watching the BYOD movements and no one can afford to say an
unconditional 'NO' to these personal gadgets. These disruptions in the
technology world is characterized by some industry-wide events and trends that
are not under the control of any individual or even one big technology
corporation
- When the PC revolution happened, there was one Goliath, one OS - Microsoft and Windows. Now there is no monopoly
- Though the smart phones era was started effectively by Apple, they don't command more than a decent a market share
- Openness of Android has enabled even very small, local hardware makers to come up with 'world class' mobile devices though Android itself has so many security vulnerabilities for exploitation by lip smacking hackers.
- Mobile platform market is highly fragmented between many players and none is having the brutal power that Microsoft once wielded on PCs
- Microsoft was directionless and confused throughout -where their sweat spots reside and who are their primary targets? individuals or enterprises?
- Consumers are not ready to pay for the personal computing software- be it a tax calculator or a personal organizer or even Angry Birds
Confusion for Developers and IT
Now
the biggest question facing individual developers and IT departments is what's
their choice when it comes to app development?
- What will they develop for- desktop or web?
- If desktop app, will they need to support mobile devices as well?
- If I develop a windows desktop app, can that be made device independent with relative ease at affordable cost?
- Do I need to worry about the Chrome OS if I choose desktop app or am I fine with worrying about Windows alone?
- Do I need to embrace the highly touted 'Mobile first, desktop next' mantra?
- If I develop a web app, which technology should I go for? Windows friendly ASP.NET or Java technologies or open sources like PHP or Python?
- Can web apps be truly platform and device independent?
- Can the web apps provide true native app experience?
There
are many questions no doubt, but is there a solution or a combination of
solutions? I am not too pessimistic because of the presence of one open
standard: HTML5
Emergence of HTML5
Though
HTML5 is the next and the latest version of HTML, it's more than just the next
version. HTML5 not only provides you just mark-ups unlike the earlier versions,
but a lot of hidden scripts and functionalities behind those mark-ups. It would
be an injustice to call HTML5 a mark-up language; it's a web technology.
There
are so many web technologies, HTML5 stands out from the crowd in that it's
emerging as an industry standard promoted by W3C. More importantly all the
major web technology vendors have pledged support for HTML5, actively taking
part in developing the standard. All the major browsers have started supporting
HTML5- Chrome and Safari are front runners; IE, Firefox and Opera are catching
up. Reality is if the browsers don't support the HTML5 standards, there are
high chances of getting dumped and losing the user base.
Why HTML5 is important for developers and IT?
These
are early days but chances are bright that HTML5 emerges as the de-facto app
development platform. HTML5 itself is not a complete standard as of now and no
one single browser is supporting the available standards 100%, though Chrome
and Safari are very close. Not many real time, complex apps are developed in
HTML5 yet. Notwithstanding all the above facts, HTML5 have started answering a
lot of questions the technology community and IT are facing
- If you decide to create a web app now, HTML5 is the most preferred technology because it's cross platform, cross device
- If you decide to create a native app, HTML5 will still be an option. There are many open source packaging tools that compile your HTML5 app for the native platform- be it Windows or Mac OS X or Linux.
- You shall switch between web and native with relative ease as per the business and user community needs with just one codebase
How
the packaged native HTML5 app works across platforms? As long as your platform
has a browser engine that supports HTML5, it's good enough to run the native
HTML5 app
- If you have Chrome or Safari, then you have the WebKit browser engine by default (WebKit is the powering engine for countless number of browsers)
- If you have IE, then you have Trident browser engine
- If you have Firefox then you have the Gecko browser engine
All
these browser power houses are supporting HTML5 in varying degrees. In future,
you would only expect that the compliance
to grow till they catch up 100% HTML5. So it's safe and wise decision to
embrace HTML5 whatever may be your app development needs. Following facts make the choice more obvious
- With HTML5, you shall target PCs, smart phones and tablets all at once. With proper architecting, you may do so with a single code base
- Microsoft's windows native app options are confusing as of now- No updates for Windows Forms and WPF for the last 3 years. WPF got an update only in 2010.
- You can even build the Windows 8 Metro apps (also called Store Apps) in HTML5.
Without
hype, it looks like all the roads are leading to HTML5- be it a consumer or
enterprise app, web or native app, PC or mobile app. It's a welcome change from
the skills perspective, you don't need to learn too many technologies that all
finally accomplish the same. Instead you can focus your effort and energy onto
something useful for the betterment of our lives
No comments:
Post a Comment