The article was written by Matthew Anthony Pace and was published on the Sunday Times Tech-Sunday (15 November 2015)

More and more websites are pushing for responsiveness, which means a much wider audience can use a website across multiple devices and platforms. While packaged web apps are essential a responsive website encapsulated to look like a normal native application that runs outside the web browser. Packaged web apps will usually have more freedom to access device APIs not available normally available to websites.

The technology being made available to packaged web apps currently depends entirely on the manufacture of platform and the operating system on which the packaged web app runs upon.

Most of the technology APIs being made available to developers are first created by leading web browser creators such as Mozilla, Google or Microsoft, in some cases they will work together to push a new technology APIs forward. After sometime working on the new API and being stable enough, a draft document it presented to W3C to become a standardized API. This is done so that websites and packaged web apps using any technology API can be 100% cross platform compatible, which makes it easier for developers to cater their website and packaged web apps to a much larger audience. Such technology APIs include Geo-location, Push notifications and Raw TCP Sockets.

There are a number of operating systems and devices that support packaged web apps as one of the ways for 3rd party developers to create apps. One of these operating systems is Firefox OS, which is currently being pushed by Mozilla to phones, tablets and Televisions. Other operating systems that are pushing for the packaged web app standard are Chrome OS, Tizen and Alibaba's Yun.

For other operating systems that do not directly support packaged web apps out of the box such as Android and iOS, developers can use what is called a web app wrapper, which are basically minimalistic web browser with additional exposed proprietary APIs which allow access to the devices hardware such as the GPS and vibrate functions, in most cases these wrappers do not follow the W3C standards and will require developers to learn and to switch any existing code to work with the custom wrapper APIs provided by the wrapper's creator. Mozilla has also ventured in to allowing all users of Firefox for desktop, to run packaged web apps directly as native Windows or Mac Applications.

One of the most popular open source web app wrappers is called Apache Cordova which was formerly known as PhoneGap. This should not be confused with Adobe PhoneGap which is a cloud service which uses Apache Cordova in their backend. Adobe PhoneGap allows developers to create packaged web apps without purchasing the hardware required, such as requiring a Mac for developing on iPhone as the builds for the iPhone are done entirely in the cloud.

Benefits can be seen by developers using both offline and online service based packaged web apps for their main frontend. These benefits include quicker time to market as it is almost identical to website development, using the same technologies such as HTML5, JavaScript, CSS3 and even webGL for those who are developing games and other graphical apps.

A high number of high profiled development companies are already using packaged web apps as a way to bring their content to multiple device, one such company is the Russian based ZeptoLab which produced the Cut the Rope game.

Though using packaged web apps might be compelling to use, there are a few shortcomings which all developers should take into consideration.

The first would be performance, while in most cases fastest and optimized executions are not a biggest factor for more smaller simplistic apps, it is however mandatory for graphical and memory intensive apps. Though packaged web apps do come close to the performance of other lower level languages such as C using AsmJS which allows the use of lower level programming structures to be used, it will require a developer to use partially complex programming methods which he or she may not be aware of or use to.

Another issue of using packaged web apps is security, in the terms of how relatively easy it is to reverse engineer back the source code from an obfuscated code compared to other programming languages. The best way to mitigate this issue would to put any sensitive logic on a backend server away from any prying eyes.

Original Times of Malta Online Article:

http://www.timesofmalta.com/articles/view/20151115/technology/Open-the-wrapper

Copy of printed Newspaper: