Tools used to create a complex JavaScript app – notes for an Async mini talk
I’ve spent the last 6 months leading the team who worked with Tesco on the development of the Tesco Food app in the Chrome Web Store. If there is time I hope to give a quick 5 min talk at Brighton’s Async group for the International Show and Tell this week, these are the notes for that talk.
Tesco Food App, Chrome Web Store
- Large shopping app
- All local
- JS, HTML, CSS
Backbone
- Models, collections, structure, underscore wrapped
- Combined with an MVC approach
- Didn’t take advantage of most, could be done differently
jQuery templates for templating
- HTML, so easy to follow
- Limited documentation and hard to debug
- No longer supported
- Used AJAX to load multiple templates in after launching the app, would not recommend - can be slow and needlessly complex
Selenium for automated browser testing
- reduce the amount of mundane user testing
- steep learning curve
- code needs to be as structured as main (almost)
- don’t change versions during a project
jQuery Mockjax for mocking data
- jQuery plugin, intercepting jQuery AJAX calls
- flexible - allows for most scenarios with a little work
- minimal contact with app - load it once and it takes over
Build script with Rake
- Concatenation with sprockets require
- jsLint4java for syntax checking - use strict to get team code consistency
- YUI Compressor for minification
Wish I’d used Google closure compiler
- Uses docs to check type, static etc
- Removes code you don’t use
- Can make mistakes/cause issues under documented circumstances