I don't understand Chrome apps. They require installation and only work on Chrome, so they come with none of the benefits of the web. They are slower and uglier than native Windows/Mac/Linux apps. What's the point?
They are just apps that use the ChromeOS development library (JS, HTML, CSS and some custom APIs). Think of it like Cocoa on OS X. Except they can also run in the Chrome browser on other OSes. I don't understand why people get so riled up about this.
Well, most browser extensions relate to browsing. Google, on the other hand, is trying to turn the browser into an OS. This is a really big shift that may very well determine the future of computing, so I think there's plenty here for people to get legitimately angry about. Not really the same kind of "hate train" that occasionally shows up on project posts, I think.
Are people angry about building an OS that incorporates Chrome? Or are they angry about Web apps shipping on the desktop, turning Chrome into an application platform? These are separate things (Linux does not ship with your desktop browser, for example), and frankly, criticizing either is ignoring the couple of years' worth of successful desktop applications running mostly in embedded WebKit. Making this environment useful through a centrally-controlled and sandboxed runtime and, now, a development toolkit, is simply not worth being angry about at this point.
What's wrong with the Chrome browser becoming an OS? What you get is a fast and secure OS. Most users spend most of the time on the browser anyways - why not leverage that to make user's lives easier?
I don't know about others, but for me, it just doesn't make any conceptual sense. Would you use Excel as a word processor? Would you use Lightroom for mapping? The modern operating system offers so many amazing frameworks and features; why throw that all away and start anew on a shaky foundation of Javascript, HTML, and insanely complicated rendering code, all originally designed for a completely different purpose?
I prefer my software to adhere to the single responsibility principle as much as possible.
EDIT: Why are you downvoting me? If you disagree, that's what the reply button is for. I'd like to think that HN is better than Reddit.
> Google, on the other hand, is trying to turn the browser into an OS
This isn't new, not since Marc Andreessen said "[Netscape will soon reduce Windows to] a poorly debugged set of device drivers" - in 1995. Which I take to mean he fully intended to make everything above device drivers the domain of the browser.
Is there someway to do standalone installs as well? It seems like that might be against Google's motives in getting everyone to use Chrome as a browser, but it would make it easier to distribute applications in a "traditional" manner.
Plus, it would be nice to have dedicated icons, etc...
Chrome Apps as far as I know can only be installed via a proprietary web store. You can't actually package them up as an exe or dmg to distribute yourself. They also don't have access to the system tray - they're not really first-class standalone desktop apps.
There is a PhoneGap wrapper for Chrome Apps, which you can probably eventually use also for packaging for the desktop OSs (even though now the focus is understandably on iOS and Android as Chrome apps work on the other platforms):
In addition to all the siblings' points, it does look like we're going to be able to have Firefox and Chrome compatible apps someday (I can't find a link right now, but it's been a secondary goal for both teams, Mozilla especially as they define APIs for Firefox OS that will be compatible with the open (but with permissions) web). Hopefully the teams keep working on this.
Except that ActiveX works only on Windows IE and not built on web tech. Chrome Apps run on ChromeOS, Windows, OSX, Linux, Android and IOS. And they are built using HTML and JS.
That’s a funny definition of cross-platform. You mean, it’s cross-platform if you use Google’s browser.
And as far as offline goes, that’s an active area of development within the HTML5 spec. It doesn’t strike me as a particular draw given that it’s at least possible, if still somewhat painful, to build truly cross-platform apps with offline capabilities.
Why should I support ChromeOS? ChromeOS is not the web!
Yeah, and Java apps are cross-platform if you use the JDK. It's cross-platform from an app developer's perspective because the runtime exists on multiple platforms. Pretty standard definition of "cross-platform."
I'm not telling you what you should do. I'm telling you why this model is attractive to me.
Java is only cross platform if you use the JDK, Flash is only cross platform if you use Adobe's plugin, etc. So I don't think this is a completely funny definition of cross platform.
>>It doesn’t strike me as a particular draw given that it’s at least possible, if still somewhat painful, to build truly cross-platform apps with offline capabilities.
If you can achieve a cross platform experience using something that's installed on most PC's, and if it offers features or simplicity that is not available in the truly cross-platform spec, then that seems like a strong draw.
TBH JDK has open, 3rd party implementations. I'm running one right now.
Chrome's API don't have this. Chrome == Chromium, and there's nothing else under the sun that either have it or want it.
HOWEVER - Chrome has the largest marketshare by far, thus enforcing whatever it wants. Knowing competitors will not pick up the functionality because "its really made just for Chrome, not for the open web", that's called "extinguishing" competitors. But I'm sure everyone is all too familiar with that concept.
jdk is not open source, or wasn't at the time. So 3rd parties open implementations were required. Chrome through chromium is an open implementation by default and it's highly maintained, tested and optimized. Reimplementing it wouldn't make much sense and so would complaining about the lack of implementations.
> Reimplementing it wouldn't make much sense and so would complaining about the lack of implementations.
I do not think that Chromium represents the best possible implementation of the Web stack. Having multiple implementations of HTML and the various related specs is what has pushed them forward so rapidly.
>That’s a funny definition of cross-platform. You mean, it’s cross-platform if you use Google’s browser.
Cross platform just means they run in different platforms. Nothing in the notion depends on if they do so with native code or with some supporting layer (like the JVM, WxWidgets or Chrome).
>Why should I support ChromeOS? ChromeOS is not the web!
Why should you support ANYTHING for that matter? Including the web. If you want to do so, do it. If not, don't. You don't "have to".
Chrome apps can also be compiled to cordova so chrome apps can run natively on iOS and Android too, no need for chrome. This was just announced at the chrome dev summit and a bit earlier at the cordova conf in Amsterdam.
In addition to the other points made here - it's far simpler to adapt a web application you've already built to an off-line chrome app, than it is to start again in a native language.
* Its an easy way to build simple(ish) cross-platform apps using HTML/CSS/Javascript.
* A native app platform for Chromebooks
* Promotion of your app the Chrome store.
* For users their apps are available anywhere Chrome is.
The productivity of web-based development, with access to richer API's and local storage, on the reach and cross-platform of Chrome, with the visibility of publishing it on the Chrome Web Store, and only 1 browser to test it on = Win, Win!
I prefer using my email in the browser over any native email client. And as an added bonus, I get nearly the same user experience across my many disparate devices.
Define "installation"? My definition of installation is whether or not I can install it on a PC that is locked down by a system's administrator. While it may (or may not) be possible to lock down Chrome from being able to install apps, I've never been anywhere that did, despite those machines being otherwise locked down.
Otherwise, the benefits are
- being able to develop in just HTML/CSS/JS
- being able to deploy to Windows, Linux, OSX, anywhere Chrome runs
- No infrastructure costs to host / distribute (unless your app has server-side functionality)