For years I’ve resisted ASP.Net MVC and WebAPI.  I am (slowly) coming around to the popular opinion that they are a good technologies, but only when applied to the appropriate tasks.  I’m also working with Single Page Applications using Knockout JS.  I’m having a bit more trouble moving to the dark side on that one.  My complaints and concerns about JavaScript-heavy applications are being somewhat justified by my experiences thus far.

My tasks thus far have been very entertaining.  I’ve written a database driven rules engine that compiles rules to CLR code via the Code DOM.  I’ve built pages for our SPA, a task that has taught me a lot about ASP.Net MVC.  Most recently I’ve been working on how to improve performance of the SPA by (gasp) moving code out of the JavaScript and back into the server.  Not only that, but we’re moving the AJAX calls from MVC controllers to WebAPI.  I’ll be posting another article soon about why you should avoid MVC controllers for AJAX when using JSON to pass around the data.

So I’m very much enjoying my new job.  I’m loving having a team of people to work with that can related to my daily challenges, and it’s been refreshing to work for a manager that isolates us from the office politics and allows us to do our work!

 

INTRODUCTION: I may be about to start a holy war, but this is actually a topic I’ve had to very recently deal with at work. For years I’ve standardized the theming of websites on jQueryUI and ThemeRoller. It was simply the thing to do. All the cool kids did it. It was kinda easy and if you followed the rules you’d (pretty much) avoid trouble. ThemeRoller is easy to use, there’s tons of great pre-built themes, and it got the job one. Then came Bootstrap, and it set the web on its ear. Bootstrap is more than just a theming mechanism, it’s a complete way of designing your website from both a layout and a stylistic perspective.

For years we were told the web would magically make it easy to write consistent applications that would work anytime, anywhere. For years we fought with browser incompatibilities, indecisiveness on visual standards, and a general lack of any kind of standardization on how the UI of a web application should act. Twitter decided enough is enough and dropped a big bomb on the whole net. If you want a consistent UI experience, you need a consistent tool and the appropriate conventions to go with it.

Bootstrap is that tool. Bootstrap enforces those conventions. Bootstrap not only assigns the pretty colors, but it tells your layout where to go, how wide to be based on the device, and whether or not certain elements should even be visible based on the device. All without the web developer (notice I did not say graphic/web designer) having to lift a finger. Bootstrap really is the closest thing to a magic bullet that the web has seen since ASP.Net was born.

CONCLUSION: So what do you do about all your old websites? If they ain’t broke…. But if you do have to refactor the UI for whatever reason, you should really look at converting them to Bootstrap. The shelf life of jQueryUI is basically up. Time to learn Bootstrap.