JavaScript libraries on my current project

I've finally got my foot in the door of the AngularJS world and I'm pretty happy to have this opportunity.  The project I'm on uses an ASP.NET WebAPI back-end, and the development environment is Visual Studio with Resharper, but otherwise it's pretty much a front-end JavaScript based project whose architecture was designed by some pretty smart guys.  They're using AngularJS but also making use of the Flux architectural pattern.  If you're coming from a .Net development background this is a completely different way of thinking and it's quite an eye-opener.  But what I like about it is that it has a very good separation of concerns, it's very modular and decoupled, makes good use of the CQRS pattern, and (if we adhere to the patterns these guys have established, which I hope to write about in a future post), seems to lend itself to best practices in software architecture.

I've been reading a few books on it as mentioned in a previous post.  But this current contract has introduced me to a number of interesting JavaScript libraries I thought I'd mention here.  The lead developers at this organisation seem quite cutting edge and have clearly eschewed certain libraries in favour of others which many in the community seem to agree are evolutionary steps forward.

The open source community seems to move a lot faster than a community whose tools and techniques are tied to a particular vendor.

For example, on this project, the lead developers are using:

lodash instead of underscore.

gulp instead of grunt.

sinon, mocha and karma instead of just jasmine and karma by themselves.

They also swear by Resharper and use custom templates to generate the JS files that make up the "modules" (i.e. components) of their architecture.  Again I hope to write about this in more detail in a future post.  Here I just wanted to mention a few interesting tools and techniques they're using.







Comments

Popular posts from this blog

Parsing MSTEST results (.trx files) programmatically (in C#)

The description for Event ID ( 3 ) in Source ( TFSShellExt ) cannot be found.

Request.Browser.IsMobileDevice