Recently I was in a situation to find a dynamic view engine technology to be used for my MVC with Bootstrap project. My basic need is to segregate the twitter bootstrap user interface from the rest of the code. So the user interface designer will be able to do changes in the view without any interference. At the same time the web applications needs several client side validation and dynamic changes involved in the user interface.
I had three familiar technologies to choose from. They are Razor view engine, jQuery or KnockoutJS view model. All these three technologies are useful for creating dynamic user interface. I’ve to decide the best view engine technology which suites my need. So, I’ve started with comparing the pros and cons of these technologies with my basic need in mind.
1. Razor View Engine
This is one among the view engines in MVC. It’s not a new language. So it’s easy to learn and easy to use.
My Opinion: More productivity, Less UI segregation
2. JQuery (or Java Script) with ajax
My Opinion: Medium productivity and Medium UI Segregation
3.KnockoutJS with ajax:
The main purpose of knockout is to segregate the UI totally and easily using MVVM technology. It’s mainly designed based on the UI segregation pitfalls in jQuery and PrototypeJS. As this is relatively new technology there is a high learning curve. There will be slower production during the learning curve. Also just like jQuery we have to do more coding compared to razor.
My Opinion: Starts Low and then Medium productivity and More UI segregation
Finally we have decided to use KnockoutJS with Ajax for our project.
What do you think? You might have faced similar situations when identifying the technology for your product. Please share your ideas!..