Over a million developers have joined DZone.

What is a "Web App"?

DZone's Guide to

What is a "Web App"?

· Web Dev Zone
Free Resource

Make the transition to Node.js if you are a Java, PHP, Rails or .NET developer with these resources to help jumpstart your Node.js knowledge plus pick up some development tips.  Brought to you in partnership with IBM.

In technology definitions are important. We talk in a language that's mostly made up by our own industry.

Bugs, cache, regressions, polyfills, monads, polymorphic functions, isomorphic JavaScript and a lot more language. Even when you do work in our industry, it's hard to keep up with all the language.

Then there's "web app". A lot of people (including myself) will refer to many web sites as apps. But why? I don't know of a good definition ("good" in that there's no hand-waving involved).

So here's my definition and distinction between web site and web app.

Web site

A URL that you visit. Classic examples include a blog or a wiki. Where the content is waiting for you at the end of the URL.

JS Bin is a web site by this definition. You visit the URL and create content. Someone will share a bin, and you visiting this content. You go to the site.

Web app

A URL that you take with you. This is locally installed and data is pushed to you. Classic examples of this are email clients, news readers, task orientated applications. The app goes with you.

Importantly: you expect it to be available with or without an internet connection.

Isn't this just a web site with offline support?

I'm still scoffing at "just". Sure, if you want to dumb it down as such. But equally isn't an app on your screen, like Chrome or TomTom or PhotoShop, just some compiled code? Yes, it is, but it's actually a lot more than that.

The common language word we refer to compiled programs are: apps.

It's not that it's harder to build web apps, it's that the experience with these types of web sites are fundamentally different to a web site like Wikipedia for instance.

The future of web browsers is coming, and they're giving us more and more support for offline technology, through storage (for data caching) to control over the network (through service workers).

If you're using progressive enhancement, then your web site can achieve both. However, I don't believe it's entirely possible to create a web app without the functionality that JavaScript provides. So there's is some expectation that a web app relies on JavaScript, but that's not what makes a web app.

Now, next time you're asked to build a web app, at least you can have a feature set that you're working towards.

Learn why developers are gravitating towards Node and its ability to retain and leverage the skills of JavaScript developers and the ability to deliver projects faster than other languages can.  Brought to you in partnership with IBM.


Published at DZone with permission of Remy Sharp, DZone MVB. See the original article here.

Opinions expressed by DZone contributors are their own.

The best of DZone straight to your inbox.

Please provide a valid email address.

Thanks for subscribing!

Awesome! Check your inbox to verify your email so you can start receiving the latest in tech news and resources.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}