Chrome Packaged Apps : What are They and How can I Get on the Train?
The Chrome web browser has gone from obscurity to the most popular web browser on the planet in just a few short years because of its game-changing speed and capability. Google went a step further and created an entire operating system, called Chromium, with Chrome as the basis resulting in popular Chromebooks from multiple hardware manufacturers. The internet was most recently set abuzz by the stunningly beautiful Chrome Pixel Chromebook.
From some of the earliest versions of Chrome, Google supported the creation of third party extensions to the browser but more recently they have transformed the Chrome browser to a full-fledged application platform that can host web-standards based applications. In the earliest iterations of packaged apps, you could open new windows or tabs to display your application from the Chrome web browser but more recently, Google has added support for your application to launch in its own window, including an application icon in the taskbar.
A well-designed Chrome packaged app can run on every operating system you can find Chrome on including Windows, Mac, Linux and more. With the launch of the Chrome operating system, including Chromebooks and the new Chrome Pixel, packaged apps in a sense are the "native apps" of the Chrome operating system.
How Packaged Apps Look
In the Chrome web browser, installed apps appear when you open a new tab, and can be launched from there. On the Chrome operating system, packaged apps can be launched using the app launcher and appear in a way that native apps would appear on other operating systems such as Windows or Macs. They can be launched, work on files, and exit just like native apps would.
Figure 1. Launching a new chrome app via the new tab
Depending on how the packaged app was created, it will either launch in a new tab or in a separate window that can range from a standard "windows-style" window or a fully Chromeless window.
Figure 2. A launched packaged app on Windows 8
What can Packaged Apps Do?
In addition to appearing the way that native apps do, packaged apps can access privileged APIs that a normal web page can't access for security reasons. Packaged apps can open files, modify them and save them back out in a secure way. They can pop up notifications to the user. They can even directly access USB devices.
Packaged apps sync automatically on all computers that share a Google account. If I buy a copy of "FastGif" on my home computer, when I log into my computer at work that is also attached to my Google account, that licensed app with all of its configuration will be waiting there for me without needing to buy a second copy of the app. When I open my Chromebook, also tied to the same Google account, the same app will appear there too automatically. When the developer pushes out new versions, all of the machines I have will automatically and silently be updated to the latest version.
Packaged apps can both live in the cloud and offline. Packaged apps can write to the local storage on one machine while offline and automatically sync it to all computers linked to that Google account once it is online.
The Chrome Web Store
The Chrome Web Store is how both Chrome desktop browser users and Chrome operating system users find and install apps. The Chrome Web Store contains thousands of apps and reaches millions of users.
Google makes it easy to sign up as a developer and for only $5 you can submit up to 10 apps to be reviewed, approved and quickly available to millions of users. They even handle payment processing, currency conversion and more. Google does not charge developers to release patches, fixes or upgrades to their apps.
Chrome Packaged Apps for Line of Business Applications
Not all applications are meant to be distributed to everyone on the internet. Many programmers work creating line-of-business applications for internal use by companies. Chrome packaged apps can be distributed manually to a trusted group of users via the packaged CRX file. The downside of this approach is manual configuration and an inability to push out automatic updates to your users. All things considered, it is easier to build your app, publish it to the web store and utilize an authentication mechanism to make sure that only your company's users can use your app.
Google Chrome Packaged Apps provide a powerful way of creating cross-platform applications using open technologies. Access to the Chrome web store adds the opportunity to reach many more customers. As Chromebooks continue to proliferate, Chrome Packaged Apps provide the best way to get your application on these amazing new devices.
About the Author:
David Talbot has over 14 years of experience in the software industry and specializes in building rich UI web applications. He is also the author of Applied ADO.NET and numerous articles on technology. He can be reached at firstname.lastname@example.org