I just can't see it possible to run anything that relies on the weight of the JVM or relies on external apps (Redis, etc). What web app can live without some sort of a data store (MySQL, PostgreSQL, MongoDB, etc)? Let's not even get into if you need to compile anything. (Even if you're not working in C, compilation is sometimes necessary with gems/npm/etc)
The default answer seems to be just ssh into a dev machine, using the Chromebook as a dumb terminal. While it works, that destroys a classic workflow used by many, relies on Internet access, and adds additional cost (especially if you're a consultant). Even a cheap VPS adds at least $300 a year in cost.
Am I incorrect about running a full dev environment on the Chromebook? I'd love to hear others' experiences.
a. Those that run fine on the Chromebook.
b. Those that would run fine on a larger laptop or desktop, but not on the Chromebook.
c. Those that need to be deployed to some sort of server.
I don't write anything that falls under (b). If a program is expecting to be run on 10 disks, or with 48gb of RAM, or across a cluster of 12 nodes, it's highly unlikely that my personal dev machine will work out, so (c) will be used. That's also how I'd want to test any production-level deployment.
The gap between (a) and (b) is actually quite small. The Samsung 3 Chromebook specs are a bit better than almost every smartphone, so pretty much any Android app could be placed under (a). Pretty much any unit test for a (c) app fits under (a).
Compiles would be faster with a beefier dev machine, but the fact that the Chromebook comes with an SSD already places it ahead of the default corporate machine (at least in my experience - perhaps employees get SSDs in their Dells nowadays). Certainly a MB Air has a faster CPU, but the difference isn't that dramatic for development purposes.
As one counterexample, I'll point out that my wife spends most of her work day in Photoshop and Illustrator. Even if those apps ran on Linux, my guess is that the resource needs would still make an Air or a MB Pro a much better choice.
The SSD in the Chomebook for instance gets about 64 MB/s sequential read, 17 MB/s sequential write, 4 MB/s random 4k read and 1 MB/s random 4k write.
Which in practice is probably better than a 5400 RPM HD, but there's still a magnitude of difference from a most laptop SSDs.
I know the JVM isn't often associated with low memory applications, but it seems like it should be possible. As I mentioned in my other reply, the Chromebook has more resources than the average Android phone, so all those Java Android apps should run fine (albeit under Dalvik rather than Sun's JVM).
For instance, I recently bought a Lenovo x230. I have Arch Linux on it, along with Firefox and Ratpoison. I get pretty much the same thing as I had ChromeOS: a full-screen web browser in one window and a full-screen terminal in another. This configuration has none of the privacy concerns I have about using a Google product and I don't need Google's permission just to create a user account.
(Backups are a breeze too: just a few dot files. I use Firefox Sync to back up my bookmarks.)
I personally love the design of the x230, and am looking to get one myself. The biggest sticking problem for me is price.
As a programmer, I honestly only use 2 windows: browser and shell. Running crouton to create chroot Ubuntu "images" I can have my normal full (text-based) dev environment, and alt-tab back and forth with the browser. Honestly it feels easier to use than Ubuntu - I don't use any of the builtin Google services (e.g. Drive), but they manage to stay out of the way.
It's pretty cheap, looks pretty reasonable, and comes in at a pretty low weight. The screen's not the greatest, but I'm not doing anything where that matters. So all in all a great dev machine.
Only caveat for me is that Dropbox doesn't have an installable app for ARM. I need to find something else that does a good job of seamlessly syncing my workspaces and NFS, rsync, etc don't fit as nicely as Dropbox.