Could you people share your opinions about future of JavaScript libraries as compared to ASP.NEt and JSF component libraries?
Do you feel that Pure JS components are going to live around us for quite a some time? Or ASP or JSF would be a safe investment?
views:
76answers:
3ASP.NET is a server-based technology, not a client-based one, so it's comparing apples to oranges. Each tool has its appropriate use. I don't know much about JSF, but in my world Javascript programming (and its associated libraries such as jQuery) will be around for a long time.
Both are different approaches. JSF and ASP.Net are server side technologies that have some advantages: they are developed in rock solid languages, world biggest IT companies are behind them and this approach is very well in the market and is an accepted norm. The biggest downside that I see is these component suck. They are dependent on the server for every piece of work converting our huge client machines into dumb terminal. It looks ridiculous to me.
On the other hand pure JS libraries are a bit new as compared to ASP and JSP but they have gained a lot of momentum. Giants like Google and Yahoo are putting their weight in JS side. Moreover there are pretty stable JS frameworks in the market that have proved that they can filter bad JavaScript to build a solid basis for components. IMO future of JS is going to be brighter and brighter with every passing day
I bet that you actually mean "ASP.NET MVC" when you said "ASP.NET". ASP.NET cannot be compared with JSF. ASP.NET MVC and JSF are both server side component based MVC frameworks. They removes the tedious job from gathering request parameters, validating/converting them, updating the model values and rendering the response in the server side so that you end up with basically a view (ASP or JSP page) and a model object (value object, javabean, whatever). Without them you'll have to write all the boilerplate code yourself to grab request parameters, validating/converting/updating/redisplaying them, etc.
JavaScript in turn is a client side language which impossibly can take over this job. It doesn't run at the server side. JavaScript is just good for the user experience and UI improvements/enhancements such as fast validation and asynchronous processing. You however still need a framework at the server side to take care about form submits and so on.
I don't do ASP.NET MVC, but for JSF there are ajaxical and rich-skinned component libraries available which helps improving user experience with help of JavaScript (Ajax) and CSS (for the look'n'feel). Examples are RichFaces (showcase here) and IceFaces (showcase here). Those kind of libraries combines the best of having a component based MVC framework at the server side and a rich UI / improved user experience with help of JavaScript (and CSS) at client side.
Once again, if you would do this all with only JavaScript and you want to expose more than just "static pages" (and thus also handle form submits and deal with model values), then you'll have a lot of ugly and boilerplate code in the server side to do all the business stuff. In other words, there can really be no means of "ASP.NET MVC/JSF versus JavaScript". Both have their own distinct goals/purposes and both can be combined as good.