Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

I've been writing a few tools as standalone webapps for which I have written no server side code and it strikes me that I'm not sure what people call such things.

I like them because they can be distributed as a single file that anybody with a web browser can run. Typically all the funky stuff is done by calling AJAX web APIs like those provided by Stack Exchange, MediaWiki, Google, etc.

The following terms all seem plausible but might also cover other things or not tell the whole story:

  • client-only
  • pure JavaScript
  • standalone webapp
  • web script
  • web tool
  • browser app

Is one of these terms or something else in common use for such apps / tools?

Here's links to some of my little tools on GitHub: travel-se-airport-tags.html, travel-se-1-or-2-answers.html, travel-se-stats.html

There are some much more app-ish examples in the 10k Challenge...

share|improve this question
4  
May be Browser App? (Because it is no longer web if it doesn't go out to web at least). –  Dipan Mehta Jan 17 '12 at 7:00
    
Question: How can a "standalone client side" app be pure Javascript? The only cases I could think of are Javascript scripts, frameworks, libraries and plugins, and that's what you should call them. If I'm missing something obvious, please give a small overview of your apps and links to source, if they are open source. –  Yannis Rizos Jan 17 '12 at 7:00
    
@Dipan: If it calls web APIs is that not going out to web? But I like the term "browser app" - is it in use? –  hippietrail Jan 17 '12 at 10:04
    
@Zaphod: The fact that it can't be pure JavaScript is why I thought there must be a better term than "pure JavaScript". For instance my tools have at least minimal HTML and CSS which ought to make the both not pure, and not just scripts. And it's easy to imagine much more complex ones than mine. –  hippietrail Jan 17 '12 at 10:07
1  
I see. I'd call those browser applications, as @DipanMehta suggested already. –  Yannis Rizos Jan 17 '12 at 12:24
show 5 more comments

closed as primarily opinion-based by Robert Harvey, psr, Dan Pichelman, MichaelT, gnat Jul 24 '13 at 7:00

Many good questions generate some degree of opinion based on expert experience, but answers to this question will tend to be almost entirely based on opinions, rather than facts, references, or specific expertise.If this question can be reworded to fit the rules in the help center, please edit the question.

4 Answers

up vote 3 down vote accepted

What you are describing sounds a little like a single page application.

A single-page application (SPA), also known as single-page interface (SPI), is a web application or web site that fits on a single web page with the goal of providing a more fluid user experience akin to a desktop application.

In an SPA, either all necessary code – HTML, JavaScript, and CSS – is retrieved with a single page load, or the appropriate resources are dynamically loaded and added to the page as necessary, usually in response to user actions. The page does not reload at any point in the process, nor does control transfer to another page, although modern web technologies (such as those included in HTML5) can provide the perception and navigability of separate logical pages in the application. Interaction with the single page application often involves dynamic communication with the web server behind the scenes...

share|improve this answer
2  
You can write an SPA where you have written code on the server, so it's not applicable. –  StuperUser Jan 17 '12 at 17:15
    
+1 for finding a term which is accompanied by a Wikipedia article. –  hippietrail Jan 17 '12 at 17:41
    
This is the right answer. Stack Overflow now even has a tag for single-page-applications. I stumbled across the term when browsing the new beta site for software recommendations. –  hippietrail Feb 28 at 12:41
add comment

There's a contradiction,

"webapps that have no server side code", "the funky stuff is done by calling AJAX web APIs"

These applications are still web apps, you've just not written the server side code.

EDIT

I've updated your question, to my knowledge there isn't a broadly understood term for an application that consumes solely public APIs. I won't suggest another competing term.

share|improve this answer
    
Well technically, that's a weakness in my question text which already felt too long. In your case please read the question as What to call pure JavaScript standalone (web)apps for which I've not written any server side code? –  hippietrail Jan 17 '12 at 16:09
    
@hippietrail I've updated the question and my answeras per your clarification. –  StuperUser Jan 17 '12 at 16:24
    
I don't see any connection between terminology and standards \-: –  hippietrail Jan 17 '12 at 17:45
    
True, just wanted to put the reference to that joke in, updated. –  StuperUser Jan 17 '12 at 17:48
    
What about such an app that didn't make any calls to services at all, such as a game, or something that processes text pasted into a text area? –  hippietrail Jul 31 '12 at 15:23
show 2 more comments

Google makes a distinction between two types of Installable Web Apps available in the Chrome Web Store:

Many installable web apps are hosted apps—normal websites with a bit of extra metadata. You can build and deploy hosted apps exactly as you would build and deploy any web app, using any server-side or client-side technologies you like. The only difference is that you must provide a small manifest file that describes the app.

If you want your app to work especially well offline or to be tightly integrated with the Google Chrome browser, you can create a packaged app. A packaged app is just a web app that the user downloads. Packaged apps have the option of using the Google Chrome Extension APIs, allowing packaged apps to change the way Chrome behaves or looks.

For the apps you linked on Github, however, I think the term I generally hear in circulation is "in-browser app(lication)".

I like the distinction because "browser app" could refer to a web browser itself, as opposed to an application that runs inside of one.

I think it's important to note that the distinction between 'in-browser' and 'standalone' or 'desktop' apps will likely be diminishing to the point of irrelevance in coming years; it's possible to create mobile apps with little more than HTML5, CSS3, and JavaScript today, and Windows 8 is (supposedly) moving to HTML5 as the preferred platform for 'native' apps.

share|improve this answer
add comment

Why not just "Javascript web app", or "browser-based Javascript app"?

As the comments have pointed out, just because you didn't write any server side code, it doesn't mean it's not a web app. So, "web app" actually does fit, but may be a little too vague for your purposes, due to the lack of server side code with the app itself, though technically, if you hook into any APIs at all, then someone had to write server side code somewhere, even if that someone wasn't you.

Calling it a "Javascript app" doesn't work, as there are cases where Javascript can be used to create applications that aren't actually web apps (Appcelerator Titanium Mobile, and Gnome 3 extensions come to mind).

On the same token, using "browser app" doesn't really work well, as browsers themselves can now host apps as extensions (such as the Chrome version of Angry Birds, or the Firebug Firefox extension, for example). Though, "browser-based Javascript app" could work, though it is a little wordy.

"Web tool" and "web script" might be able to work, but they're really vague (in my opinion). Likewise, "standalone webapp" doesn't mean much, either. Standalone from what? Does that mean it can run without a browser? Any webapp could be considered "standalone," if you think about it. "Client-only"? Again, seems rather vague, especially if you're dealing with non-technical people, or anyone who doesn't understand the client-server nature of the web.

"Pure Javascript", by itself, is generally in reference to the language (ie - Javascript without the use of frameworks or extensions like jQuery). A "pure Javascript web app" could be used, but seems a little wordy, and may provide inaccurate connotations of not using a JS framework.

share|improve this answer
    
True, but by similar reasoning the term web app isn't necessary either since "just because it doesn't run outside a browser, it doesn't mean it's not an app. So "app" actually does fit." But proved to be a little too vague for many people's purposes. I guess no standard term has yet emerged for this kind of web app yet because they are not yet popular enough... –  hippietrail Jan 17 '12 at 19:13
    
The main difference between an app that has its own server side code and one that consumes public APIs is that it can be distributed as a single file and run by anybody that has a browser. An app with a server side requires hosting and multiple pieces to be distributed and installed by a potential user who must also have a server or hosting set up. This seems like a major difference which warrants the existence of a separate term. I'm just trying to find which separate terms for them are already "out there". –  hippietrail Jan 25 '12 at 13:45
    
So it's a web app that doesn't have its own server-side component to it. It still needs access to the Internet to function properly, because it's still using someone's server side code. –  Shauna Jan 26 '12 at 16:46
    
Actually some of my code of this type will consume web APIs if it can access them, but will still function as best it can without them. Example: A currency converter. It would try to get current exchange rates, but if it couldn't it would give you conversions based on previously stores rates and warn how stale they are. –  hippietrail Jan 5 at 15:36
    
By the way I'm not polling for a good term if there's not already a standard term, I just thought there might be other people making such tools and that perhaps a common name for them was already in use. –  hippietrail Jan 5 at 15:37
add comment

Not the answer you're looking for? Browse other questions tagged or ask your own question.