A new way to write web applications.

Antarctica Starts Here. » Antarctica Starts Here. 2013-03-15

Summary:

It's almost taken for granted these days that your data lives Out There Somewhere on the Internet. If you set up a webmail account at a service like Gmail or Hushmail, your e-mail will ultimately be stored on a bunch of servers racked in a data center someplace you will probably never see. Users of social networks implicitly accept that whatever they post - updates, notes, images, videos, comments, what have you - will probably never touch any piece of hardware they own ever again. Everything stays in someone else's server farm whether or not you want it to, and while there are sometimes options for extracting it rarely has anyone written any software which can actually do anything with it (like re-importing it someplace else) because the formats are never identical. It'd be a lot of work. Additionally, if you lose access to your account somehow - for example, if someone manages to successfully guess your password, social engineer their way in, or force a password reset it's exceedingly difficult to get your access back (Why would someone want to do that? Since when have people ever needed a reason to be malicious?) But what if you didn't have to trust someone else to hold your data? What if you didn't have to worry about logging into a service somewhere and managing yet another password? Granted, we're not completely there yet, but there are definitely options waiting to be assembled into something more... In the past couple of years a new paradigm of web application has started to see a fair amount of development. Called unhosted apps, they use the state of the art in HTML, CSS, and JavaScript to build completely self-contained applications that load and run in practically any modern browser (yes, even IE, much to my surprise). The web apps that we usually think of are found on web servers Somewhere Out There. A lot of personal sites and web apps these days are written using PHP, which is executed by a subprocess on the web server, usually accesses a database or two (MySQL remains the de facto standard even though there are better ones out there), and generates the HTML which you see in your web browser. The barrier to entry for PHP apps is so low (upload files, set permissions, create database, profit) that practically every web hosting service worth the name supports it as part of the basic package. More recently frameworks to build web applications which are closer in architecture to desktop apps under the hood have become popular (like Django and Ruby On Rails) and consequently are hot fields of employment. The thing about most of them is that their dependencies and runtime requirements are much greater than those of PHP. Just about every web hosting service out there imposes limits on how long a process owned by a particular username can execute, and most of those take the form of a service which runs in the background continually, with the web server sitting in front as a proxy. PHP apps are executed only when someone browses the page, so the system admin and accounting overhead is far less. Still, these frameworks are incredibly useful and see a lot of use, which is probably one of the reasons that personal VPSes have gotten so cheap. Unhosted applications are unique in that they're not written in a language like PHP or Ruby, they're implemented using just HTML, CSS, and JavaScript. They might be broken out across a couple of files but there is no reason that all of the code can't be stacked neatly into a single file (for example, an unhosted wiki called Tiddlywiki that I use frequently in software development projects (because I can check it into a version control repository along with the source code); it's an entirely self contained self-modifying HTML file). Unhosted apps can be dropped anywhere you can upload an HTML file, from a web hosting provider like Dreamhost (disclaimer: I've been a Dreamhost customer for several years), to a service like Dropbox to a random anonymous text hosting service like Pastebin. Of course, you can also keep the HTML file on your desktop along with other documents. Or you could save the entire app as a bookmark so you'll never be without it. There is an example unhosted text editor called Codemirror which is linked from this article which is implemented as a single serialized block of code that your web browser will execute if you click on the link. It can also be saved to your bookmarks like any other link. You can load and save local files and edit them

Link:

http://drwho.virtadpt.net/archive/2013/03/14/a-new-way-to-write-web-applications

From feeds:

Gudgeon and gist » Antarctica Starts Here. » Antarctica Starts Here.

Tags:

default

Authors:

The Doctor

Date tagged:

03/15/2013, 12:16

Date published:

03/14/2013, 19:44