Several months ago I found myself contemplating the creation of yet another HTML client, this time to help in prototyping a larger application concept I was working on. I wanted the client to be responsive and I didn't want to put a lot of work into it.

There's a wide variety of excellent frameworks to choose from when building HTML clients. Frameworks such as Angular, React and Aruelia offer rich feature sets for building amazing web applications but all of them come at a cost, e.g. npm, web pack, development web servers, etc. I wanted something simpler.

In searching for simple HTML client application frameworks I quickly encountered Vue.js. It was exactly what I was looking for. Vue requires only a single .js file reference for the base framework.

<script src="{path}/vue.js"></script>  

The addition of a second file is needed for interactions with HTTP services.

<script src="{path}/vue-resource.js"></script>  

With these two references in place, the ubiquitous Bootstrap and application specific app.js and index.html files an impressively full-featured client application can be created with a few dozen lines of code.

Vue can be used to create large-scale, componentized client applications rivaling anything you might see in other frameworks but it also allows for ultra-rapid creation of basic HTML client applications. In this Vue excels above most of its rivals.

I used Vue to create an simple HTML client for my Stupid Todo exploratory application (live demo). For that application the combined line count of the app.js and the index.html files is ~180. It's a fairly impressive illustration of what can be accomplished using Vue with only 180 lines of written code.

I created a short video discussing Vue and demonstrating the Vue client for Stupid Todo.

If you're like me and occasionally have the need to create simple HTML client applications I recommend you give Vue.js a look.