Does anyone know of a well-supported ASP.NET wrapper for jquery (much like the way Coolite works for ExtJS)? I have a lot of ASP.NET web forms experience and really don't like writing javascript. I've found working with raw jquery in the web forms model to be difficult (especially when dealing with animations and handling postbacks).
If not, I'll probably just dedicate myself to Coolite!
jQuery already ships with ASP.Net MVC these days. Have you looked into that? Not sure that it "wraps" the jQuery API per se vs. being used under the hood (I'm not sure, I don't use it).
Related
I'm being a ASP.NET developer over years but recently I started to work with some PrimeFaces solutions with JSF 2.0. I haven't nothing to complain about it.
It is worth emphasizing a few points that did me likes the PrimeFaces: many components, easy to use, fully based on jQuery and jQuery UI (which are very important to me) and very focused on web standards (even more important to me).
But there are some cases that I would really want my server-side with ASP.NET. I don't want to start a discussion here about advantages between JSP and ASP.NET, both has many motives to be used.
Well, the standard ASP.NET components aren't jQuery based, aren't themable with jQuery UI Themes, aren't fully based on web standards (a big problem) and the variability is much more simple (there aren't Carousel, Accordion, Captcha, Slider, Spinner, etc, etc, etc).
EDIT
Continuing the saga, the #Raynos answers inspired me to study lighter possibilities, like the suggested manos. But I really would like something a little more automated, at least in the HTML generation for common controls. Someone known working CRUD samples for manos or additional modules supporting this task?
Recalling that the main question is still open anyway: Do you know any UI Framework for ASP.NET based on the same ideas of PrimeFaces, prefered open-source like it is?
I suppose we cannot answer your question with something simple. As showed by other answers, unfortunately we don't have in ASP.NET any UI framework fully web standards based.
You surelly have that choice about not using ASP.NET but another .NET Framework based engine. I really think that ASP.NET MVC would be the more closest to JSF and so to PrimeFaces. But it haven't a large set of builtin controls based on jQuery as you liked on PrimeFaces. Also, if you only used up to now the vanilla ASP.NET, the MVC concept can be very confusing to start through a professional project.
It may be safer to continue with your technology knowledge while learning something totally new. Even so I don't indicate manos to your project, although it shows to be very light and stable. Furthermore, with it you would need to "recreate the wheel" for many tasks that ASP.NET knows to do well within the standards and such.
Based on these arguments, it seems that in your case you (or your team) is so familiar with ASP.NET that your immediate need is to use good tools to improve the shortcomings of ASP.NET on HTML5, web standards and themes. Then you don't need to change everything you knows right now, just improve what you already know (and of course we recommend that you consider these other approaches gradually).
So let a few helpful hints for you:
First read about and download a sample of a good architecture using HTML5, jQuery and jQuery UI. This post covers all those technologies and have the full source code to download.
Also have in mind that you don't need start your project from scratch. There is the great HTML5 BoilerPlate which comes with dozens of good pratices (and a nice Web.config created with many nice ideas). Important note that it's also based on jQuery as you want.
Maybe you already have some incredible themes created for PrimeFaces and you would like to use on your ASP.NET projet. Then remember: to take advantage of the jQuery UI Themes you just needs using class names and DOM hierarchy. If your PrimeFaces Complex DataTable gerenates an incredible HTML which is so beautifull with your CSS, just use the same generated HTML inside a UserControl so you can reuse it around all yours pages without needing rewriting all the HTML.
Also remember that PrimeFaces is opensource and because of it you always can open the sources, read the jQuery codes and reuse what you really think are perfect for you.
Then, finally, there are many tools and approaches to support you enjoy what you've done with PrimeFaces and also enjoy your existing knowledge in ASP.NET. Unfortunately we don't have done something like this to ASP.NET, but maybe what you'll do will be so good that you can publish opensource for everyone?
PrimeFaces for ASP.NET is announced. http://blog.primefaces.org/?p=2128
Sounds like you need ASP.Net MVC instead of ASP.Net Web Forms, this gives you much more control.
You have the asp.net mvc html helpers toolkit, see: http://weblogs.asp.net/gunnarpeipman/archive/2010/08/16/asp-net-mvc-meets-html5.aspx
I'm not aware of great open-source .NET integrated UIs, but Telerik RadControls are themeable (sp?), standards compliant, integrated with ASP.NET, and built with jQuery. They are really great if you have a few hundred dollars to burn.
Otherwise, AjaxControlToolkit is integrated with ASP.NET and open source but I'm not crazy about it. It's not based on jQuery but I think it is standards compliant.
Sadly, the open source communities tend to shy away from .NET (and Microsoft in general).
PrimeFaces For .NET Cancelled
PrimeFaces for ASP.NET WebForms project has been cancelled after two releases and as PrimeTek we have decided not to do further investments. Instead of .NET, our secondary focus will be PrimeUI who is very close to 1.0 release already and can be used with any web framework.
You can check out the PrimeUI library which is:
a collection of rich javascript widgets based on jQuery UI. PrimeUI is a spin-off from the popular JavaServer Faces Component Suite, PrimeFaces.
My team is currently working on a substantial update to an existing ASP.NET 3.5 application which uses the Ajax Control Toolkit on virtually every page. We've found that in many cases that its use is unwarranted (clearly a previous developer decided to "Ajaxafy" everything), and a richer - and simpler - experience can be found using jQuery.
We've also found that the AjaxControlToolkit can be a pain to work with frankly in terms of maintainability and performance when you have half a dozen developers working it. We're debating scrapping its use completely, and going with jQuery for the UI experience. We're fortunate to have enough time to do this safely, and every feature we use can be replicated without any problems (AutoComplete, Calendar Control, etc).
It seems Microsoft are siding with jQuery with its addition to Visual Studio lately, and the current Ajax Control Toolkit isn't in ASP MVC (client side files only). Therefore I'm personally siding with jQuery for the moment, as it seems to have a future, while the Control Toolkit's future is a little more cloudy.
However, from a maintainability perspective, how is jQuery to work with?
It's essentially just Javascript, so no plugins required. Are updates stable, and do they often break existing functionality?
We use jquery extensively with asp.net 3.5 and have upgrade jquery and jquery ui about 3 times without a hitch. Both times we have had noticeable speed increases. Maintenance has never been an issue in about 2 years of use with 5 developers.
We find jQuery very readable and enjoyable to code with.
Don't give up on AJAX just yet. Both AJAX and jQuery are useful as long as you're using them to do what they're suited to. I really don't see too much of a difference in maintainability, it's all still code. You need to test new releases/updates before putting them into production; vet any 3rd party code you're integrating into your code base, and make sure that you're not using AJAX/jQuery to pound a square peg into a round hole.
As to the pros/cons of AJAX vs jQuery:
AJAX beats out jQuery when it comes to:
Server-Side integration
CLR Features and Feel
JSON and WCF
jQuery beats out AJAX when it comes to:
Animations
Being Lightweight
DOM Selection
Attribute / CSS Manipulation
The ACT isn't in MVC because the control structure is deeply embedded in the web forms product; most vendors (like Telerik, Component Art etc) are actually writing a separate code-base for MVC because of the complexity of making it work with two frameworks, although Telerik did a good job of it (you can use the web form controls in MVC, though the MVC-specific controls are much nicer to use).
I like JQuery, and for a project, I believe we are going to go Telerik/JQuery and plugins, so that is always a good bet.
Also, the ACT does have a lot of scripts and may not be applicable in all scenarios, but the real issue is adding too much AJAX when it isn't warranted, something that can be a problem with any other framework too.
HTH.
jQuery is tested pretty extensively. I don't remember a break caused by an update, you mileage may vary. They would likely know about any compat problems and warn about them in the release notes or elsewhere.
I want to make my website look spiffy. Should I use jQuery, or what is better suited to be paired with ASP.net?
jQuery works very well with .NET.
I would highly recommend jQuery UI.
http://jqueryui.com/
JQuery compliments .NET quite nicely. Here is a good blog article that should get you started.
I've can say this with confidence - you can use jQuery with .NET with no issues. I do this all the time.
Absolutely. I don't know that it will necessarily make it spiffy as you asked, but it'll certainly ease your programming work.
AJAX will help with the "spiffiness".
You want really spiffy? Look at Silverlight!
Yes, you can definitely use JQuery for ASP.NET apps. Check out an introductory article on how to get started - Getting Started with JQuery
jQuery works as well with ASP.NET as with any other server platform, because it's just a set of client-side scripts. When you consider its daily usage (such as assigning Thread.CurrentThread.CurrentCulture.DateTimeFormat to jQuery calendar) the final code won't look as short and elegant as advertised. The server controls of ASP.NET AJAX have their own bonuses. In short: if you use ASP.NET and not going to change the platform try standard ASP.NET AJAX facility (possibly with AJAX Control Toolkit). Otherwise starting with jQuery can be much better investment.
Recently i completed on mid level web application where i have used telerik controls,
all the developers in project used native javascript functions as well as telerik
functions to work with javascript.
We faced so many cross browser issues in this approach, we have solved all the issues but i am just wondering that what should be the best approach ?
Do i need to consider JQuery for the next project for avoiding cross browser issues or there is any other option
I want my application should work perfectly in (IE 6+, FF 2+ & Chrome)
Please suggest the appropriate solution.
I prefer using jQuery. It helped me lot to develop rich applications without writing code that target each and every browser.
Also I found their documentation to be relatively simple and have a large user base which is quite an advantage for a library. Also there are plenty of plug ins that are built on top of jQuery.
If you are doing trivial amounts of JS, then a framework is usually going to be more bandwidth than it is worth. (It doesn't sound like you are, but I think it is important to get that statement out of the way first).
Once you get into serious amounts of JavaScript, then it is worth looking at the various frameworks out there.
jQuery is popular. I prefer YUI. I've heard good reports about ExtJS for projects described as "web applications". There are a number of other popular choices.
It is worth evaluating which best suits the sort of projects you are working on.
I used telerik controls in the past, and I have to say that they are quite a pain in the butt. They are very rigid and don't allow you any control. I have found that YUI provides you with a solid javascript framework that has all the features telerik offers, but with non of the limitations.
Check it out here
Most people here will suggest you use jQuery. I would suggest you sketch out your requirements and priorities before starting development on your next project and evaluating libraries based on your list of requirements. Using any large general purpose library such as jQuery or Prototype will have implications (download size/delay for user, code quality, trade-offs between generality and speed) you should be aware of before using them.
as most have already posted, it all depends on what you need to do, i used jQuery, script.aculo.us, and Mootools for some time, and for lightweight effects mootools was the most appropriate, as for support and medium sized projects jQuery. script.aculo.us is pretty usefull as it is based on prototype, but it took me some time to figure out how to actually use it effectively
I personally prefer JQuery and ASP.NET AJAX (Microsoft AJAX Library). There are so many JQuery Plug-in available which you can try them out. As for ASP.NET platform, Microsoft AJAX Library is inevitable because of its simplicity and tight integration with ASP.NET controls. Recently, JQuery has attained citizenship in Visual Studio 2008. This should also be taken into account.
I have very basic knowledge of Javascript and now I am looking forward to learn Ext JS and implement in in my ASP.NET application.
If anyone can guide me on how to start and which book I should follow, I'd be thankful.
Nor sure if it is the quickest approach, but all I did (as well as another developer that was working with me) was review the ExtJS documentation and samples gallery (and viewing their source).
One big issue to watch out for when using ExtJS with ASP.NET is that when using BorderLayout you will go crazy trying to figure out why Postbacks no longer work. There is a workaround though.
Another ASP.NET gotcha is that if you use ExtJS to talk with ASP.NET web services (or WCF) you have to do some special things to get it to work (adorn your webmethod with special attributes, or add some things to web.config, etc).
Those were the only two gotchas I can recall, other than just learning and getting the hang of ExtJS itself.