DEV Community

[Comment from a deleted post]
Collapse
 
ryios profile image
Ryan Mann • Edited

I use knockout for basically everything, it's my preferred library for binding html to javascript. We use it on legacy apps and new projects.

Most recently we launched an SPA as a javascript widget built entirely on Knockout, Jquery, and Bootstrap. The SPA is nice because it compiles to a single JS file and we can deploy it as a widget with one line of HTML to wherever we want it.

The particular SPA in question is basically an application sitting on top of a search engine backend running in google cloud and it has over 12,000 unique visitors a day. It performs great and has tons of analytic tracking with google analytics. It get's lots of compliments. It also has complete hash state tracking which means you can deep link to anything in the SPA.

My preferred build tactic goes like this:

  • Gulp 4
  • Uglify
  • CssGo
  • Gulp-Sass
  • Gulp-Include
  • Gulp-Html-To-Js
  • Gulp-Css-To-Js etc

So basically all the html and css compiles to js files in a stage folder and then gulp-include pulls those js files into a main.js file which ends up compiling the entire application to 1 js file.

This particular SPA fully compiled is 212 kb in one file.