Working with Current Trends in Web Development

18 Nov 2013 — By Brian Baker, Development

Over the years Markit On Demand has developed custom libraries before the industry has decided (or in some cases dreamt up) a standard. Before the widespread adoption of jQuery, for example, Markit On Demand had its own libraries for DOM traversals, manipulation, and eventing. Once jQuery became the standard across the web there was no longer a reason to maintain a custom solution and jQuery was adopted at MOD.

Years ago, Markit On Demand needed a solution to handle the combining and transforming of JavaScript and CSS assets. At the time, there weren’t many options for .NET, so once again we set out to build a custom library. Shortly thereafter, ‘ResourceManager’ was born. The library worked beautifully for years, but recently it started to show its age with the lack of support for LESS, TypeScript, and other emerging languages. Our once cutting-edge combiner was finally falling behind the industry. As a result, our Web Capabilities Team (a small group of developers focused on improving quality and efficiency) started a working group to research new alternatives. The unanimous decision from the group was to adopt a new Bundling feature of .NET 4.5. Bundling is quickly becoming the standard for combining and transforming CSS and JavaScript. It has a growing community surrounding it enabling developers to use LESS, SASS, TypeScript, CoffeeScript, and more.

Bundles is great for new sites that can run on .NET 4.5 servers but Markit On Demand also maintains hundreds of .NET 3.5 sites that cannot upgrade. In order to allow these older sites to make use of the latest tech, the Web Capabilities Team developed a proof of concept for integrating Grunt into the development workflow. Grunt runs on top of Node.js and allows developers to pre-compile their CSS and JavaScript regardless which .NET framework is used. A handful of new projects at Markit On Demand are using this new workflow to pre-compile LESS and TypeScript.

The Web Capabilities Team continues to provide custom solutions to issues that don’t yet have a community-wide standard. However, whenever possible, Markit On Demand looks to remove homebrewed solutions in favor of community supported standards.



  • Tags:
  • Grunt
  • jQuery
  • .NET
  • NodeJS
  • TypeScript
  • LESS
  • SASS