Monday, August 17, 2015

Monday morning rabbit-hole: JS frameworks and other Web Development

After having prepared the backend services for our app ( all scalable Azure cloud services :) ) I've now moved over to the frontend of our systems, to build the behavior for the site.

The problem with green-fielding anything JavaScript related these days, is that every time you have to start something - the 'hip' technology or framework stack has changed.
  • Go with JavaScript ? If so - v5 or v6 with transcompilation by Babel? Or maybe TypeScript - or AtScript? Oh ... that's already merged into TypeScript... 
  • AngularJS then? Oh v2 is coming up - which is written in TypeScript... hmm...  that makes a case for TypeScript ... But it's already very much in beta.
  • So how about SEO then? Do we have to use prerender on AngularJS to render HTML on the server in order to get better SEO? Or do isomorphic frameworks solve these issues?
  • Isomophism you say? Apps that can run both client-side and server-side? That's a whole new interesting field to explore. Now we're talking MeteorJS, React and other frameworks I haven't worked with before. Is that the future then? React is one-way databinding I think. So is two-way databinding an anti-pattern then? Does flux solve this issue? 
  • And how about Aurelia then? I hold Rob Eisenberg and Scott Allen very high. Rob worked on Durandal first, then moved to Angular, quit that team and is now creating Aurelia. However, Aurelia is not isomorphic at this moment - and is in beta by the way.
  • What about Dart, Coffeescript? And on css side: less, sass or yass? Testing ... oh no ... Karma? QUnit? Mocha? Assertion library ? Chai TDD or BDD style
  • Then there's the Grunt/Gulp choice and how about bower or jspm
Man ... I guess web development is going to puberty with a whole bunch of languages ( and language versions ) to choose from as well as transpilers and compilers. Does it even matter which one you choose - except 'not be hip' ?






No comments:

Post a Comment