Thursday, 19 December 2013

And we're off! (almost)


Over the last few years, whenever I have thought "I really must get up to speed on Technology X", I have done, nothing.

This time it will be different! (ok, I said that a lot too)

Most of my career has been involved in Mapping Software, primarily with Sam Six (http://www.samsix.com) so I thought I would start a long-term project that involves mapping, but using technologies we *don't* use at Sam Six (yet)

I wanted the project to be long so that it became something substantial; well substantial enough that I could point to it as something that indicated I *had* learned something.

I jotted down a bunch of "what about this?" technologies I thought would be interesting (having no clue if they would all be applicable to my project) and sent them off to my good friend Tom in the US to see what he thought and whether he wanted to be involved.

The list involved (roughly) and in no particular order:

  • NoSQL - I picked MongoDB (http://www.mongodb.org/) - mainly because I saw it had spatial capability
  • node.js (http://nodejs.org/) - was interested to see if it could server up either the map backgrounds or the map data itself
  • Hudson/Jenkins (http://jenkins-ci.org/) - for CI
  • Heroku -  (https://devcenter.heroku.com/) - To use that 'Cloud' thing :)
  • IntelliJ (http://www.jetbrains.com) - ok this a paid for IDE, but as I have paid for it, I figured I should learn it.  Helps that Tom uses it already :)
  • Groovy - because I like it
  • Grails - to see if it was useful for tabular data we generate
  • Git - of course! 
  • Github
  • Gradle - done with ant!
  • HTML5/CSS3/Responsive Web Design/LESS/SASS ...
  • Single Page Application - this came from reading - Single Page Web Applications
  • Javascript Frameworks - Angular.js/Knockout.js/Backbone.js/Ember.js ...
  • jQuery
  • and on...


Anyway, that sort of stuff. I am sure the list will change.

Tom's input was to perhaps use:

  • Vert.x (http://vertx.io/)
  • Travis instead of Jenkins

We also wanted to build everything using current 'Best Practices', so testing, testing, testing...  jslint/jshint/findbugs/PMD and whatever other tools we come across that make this all maintainable


In the end, just to have something to start with, we decided on the following:

  • MongoDB
  • Angular.js
  • To do a Single Page Application, rather than a website
  • Travis
  • Vert.x

Man, that is a list and a half... where to start?

And we still need a name for the app...




No comments:

Post a Comment