Steve Jobs originally suggested iPhone developers would be able to deploy any applications they needed through the device's built-in browser, but that was before Apple saw the light and launched its industry-leading iTunes App Store.
[ Keep current on the key software development news and insights with infoworld's Developer World newsletter. | Stay up to date on the latest security developments with our Security Central newsletter. ]
Since then, even established websites have often chosen to deliver their content to mobile devices using native apps, rather than trying to shoehorn it into mobile browsers. Despite the improvements introduced in HTML5, many developers feel Web technologies are still inadequate for the unique needs of smartphones and tablets.
If that's true, it's time for a rethink of how online information services are developed and deployed. In the past, developers built websites first, then adapted the same content for mobile apps. But in today's market, where mobile devices are increasingly the primary means by which users interact with online content, that approach is arguably backward.
What's needed is an evolution in mobile development, similar to what we saw in the early days of Web applications. The first enterprise Web apps did little more than screen-scrape legacy mainframe output and pretty it up for the browser. But as browser-based computing became the norm, application logic moved off the mainframe, and HTML output became the primary target. Mobile applications are undergoing the same shift. The next generation of information services will treat desktop browsers and mobile app clients as equal citizens, and the same application logic will serve content to both.
Equally important, this transition comes at the same time as another significant sea change in the IT industry, which is the move toward cloud computing. As platform-as-a-service (PaaS) offerings mature, it makes less and less sense for information service providers to host application logic on their own private infrastructures.
Linking devices to the cloud
For application developers, managing both of these migrations at once can be a daunting task. Fortunately, platform vendors are already offering tools to make the transition to hybrid Web/mobile apps as painless as possible.
At the recent Google I/O developer conference in San Francisco, the search giant unveiled a new beta version of the Google Plug-in for Eclipse (GPE), a set of tools that allow developers to create, test, and upload applications for Google's App Engine cloud platform, all from within the Eclipse IDE for Java.
Previous versions of GPE enabled developers to build App Engine applications with integrated support for Google Web Toolkit (GWT), a framework for creating sophisticated Web-based UIs. The new GPE 2.4 beta adds support for Android apps. In effect, developers can build application logic for App Engine, then simultaneously generate I/O code for Web and mobile clients.