jQuery UI vs Kendo UI

原文地址: http://jqueryuivskendoui.com/

We've spent a lot of time talking to customers about Kendo UI, our framework for building rich web applications with modern web standards like HTML5, CSS3, and jQuery. Since its launch in November 2011, we've answered many questions on the Kendo UI Forums, Stack Overflow, Twitter and elsewhere. One of the most frequently asked questions involves comparing Kendo UI with jQuery UI. On this site, I've documented the similarities and differences between these two frameworks in the hope of providing an answer to this question in a detailed manner than what you may have read, seen, or heard elsewhere.

Tweet 
Disclaimer

I work for Telerik as a Developer Evangelist. My role is to help developers be awesome with Kendo UI and our other products. That stated, our views of the world may differ on the matter of jQuery UI vs Kendo UI. It is my goal to present a detailed and accurate comparison of these frameworks so that you can make an informed decision if you in midst of an evaluation. By the way, if you see something that I've stuffed up, please let me know!

John Bristowe (@JohnBristowe)
January 2012

Updates

January 30, 2012: Replaced social buttons with Twitter and G+; updated DataSource section to include (upcoming) Dataview component for jQuery UI; updated Mobile Device Compatibility section to include information about touch interaction updates pending for jQuery UI.

Introduction
Kendo UI and jQuery UI are JavaScript frameworks that provide many useful and robust building blocks of a modern web application. Both are built on top of jQuery, the most popular JavaScript library in use today.

jQuery UI

jQuery UI is part of the jQuery Project and is described as:

[...] an open source library of interface components - interactions, full-featured widgets, and animation effects - based on the stellar jQuery javascript library. Each component is built according to jQuery's event-driven architecture (find something, manipulate it) and is themeable, making it easy for developers of any skill level to integrate and extend into their own code.
jQuery UI is a popular JavaScript framework in the web developer community.

Demos & Documentation »

Latest release: 1.8.17 (January 10, 2012)
License: GPLv2 and MIT

Kendo UI

Kendo UI is a pure JavaScript framework with CSS defined for styling and behaviors. It is developed by Telerik and is comprised of the following three products:

Kendo UI Web
Contains the core functionality of Kendo UI framework, including the DataSource component, templates, drag-and-drop, and themeable widgets with integrated animations.
Kendo UI DataViz
A collection of HTML5-powered, mobile-ready, data visualization widgets.
Kendo UI Mobile
Native UI widgets for building HTML5-powered apps and sites for modern mobile devices.
Demos & Documentation »

Latest release: 2011.3.1129 (November 30, 2011)
License: GPLv3 and commercial

Why Kendo UI?
Kendo UI is an end-to-end solution for modern client-side development. It's everything you need for building applications for modern web standards, saving developers time and minimizing frustration by providing an integrated - yet highly modular - framework.

Kendo UI framework is developed by Telerik – a leading provider of development and testing tools for web, desktop and mobile applications. We are trusted by over 100,000 customers worldwide for our innovation and industry-best technical support. It is our commitment to provided first class support and a rapid, regular release cycle.

When building Kendo UI, we wanted to ensure that the out-of-the-box features were highly-tuned to the tasks at hand and capable of maximum performance. We also wanted to minimize external dependencies so that Kendo UI can be quickly evolved based on feedback. To do that, Kendo UI provides many of its own implementations for core framework features.

You can use jQuery UI with Kendo UI without conflict. However, Kendo UI is not based on jQuery UI. Kendo UI has been built from the ground-up to deliver a rich HTML5 app framework that is highly tuned for performance and positioned to rapidly evolve.

Kendo UI FAQs »

Many more widgets, features, and overall improvements are scheduled for Kendo UI Web, Kendo UI DataViz, and Kendo UI Mobile. For more information about what's coming, please take some time to review our roadmap!

Quick Comparison
The following table is based on data from jqueryui.com and kendoui.com:

Category jQuery UI Kendo UI
Widgets (Total) Yes (8) Yes (16 Web; 8 Mobile)
Themes (Total) Yes (25) Yes (5)
Effects (Total) Yes (13) Yes (5)
Interactions (Total) Yes (5) Yes (6)
Templates No (see Template) Yes
DataSource No (see Dataview) Yes
Data Visualization No Yes
Globalization No (see Globalize) Yes
Validation No (see jQuery Validation Plugin) Yes
Browser Support IE 6+, Firefox 3+, Safari 3.1+, Opera 9.6+, Chrome IE 7+, Firefox 3+, Safari 4+, Opera 10+, Chrome
Mobile Device Compatibility No (see jQuery Mobile) Yes
Widgets
jQuery UI and Kendo UI both provide widgets for constructing the front-end interface of your web applications. These widgets are designed to support progressive enhancement, allowing users in older browsers to access existing content and functionality of native HTML types if certain capabilities aren't accessible by the framework.

jQuery UI Widgets (8)
Kendo UI Widgets (16)
There are a few things worth mentioning here:

There are many additional widgets are available from the developer community.

The Autocomplete widget in jQuery UI combines the functionality of the AutoComplete and ComboBox widgets in Kendo UI Web.

The Datepicker widget in jQuery UI combines the functionality of the Calendar and DatePicker widgets in Kendo UI Web.

Menu, Spinner, and Tooltip Spinner widgets are under development and scheduled to ship with jQuery UI 1.9.

Editor and ListView widgets are scheduled to ship with the next version of Kendo UI in March 2012.

At the time of this writing, the jQuery UI team is working on a Grid. I recommend reviewing the jQuery UI Grid Project for more information about this project and its status.

Finally, Kendo UI is regularly adding new widgets and improvements to existing ones. Checkout the Kendo UI Web roadmap, the Kendo UI DataViz roadmap, and the Kendo UI Mobile roadmap for more information.

Themes
Widgets in both jQuery UI and Kendo UI support themes and styling via CSS. Both frameworks also provide a number of themes out-of-the-box along with a means of creating custom themes.

jQuery UI Themes (25)
Kendo UI Themes (5)
Both jQuery UI and Kendo UI support the ability to customize themes. This can be done either manually or through a visual tool that's provided by both frameworks; the jQuery UI ThemeRoller and the Kendo UI ThemeBuilder.

Both the jQuery UI ThemeRoller and the Kendo UI ThemeBuilder serve the same purpose; to allow the quick creation of custom themes for widgets. However, they differ slightly in their approach. While the jQuery UI ThemeRoller provides an integrated gallery of themes, the Kendo UI ThemeBuilder auto-generates and displays the CSS and LESS representations of the custom themes that are generated.

Effects
jQuery UI supports a rich framework for integrated effects and animations that can be applied to any DOM element. These effects include the ability to animate colours and conduct easing functions. Kendo UI has fewer integrated effects and easing functions than jQuery UI. These are also only present to support the visual transitions that occurs on its widgets.

jQuery UI Effects (13)
Kendo UI Effects (5)
Interactions
jQuery UI includes a number of interactions to that you can use to apply to DOM elements. Kendo UI defines interactions that are used as part of its widgets.

jQuery UI Interactions (5)
Kendo UI Interactions (6)
The interactions provided by both jQuery UI and Kendo UI are highly customizable.

It should be noted that interactions for jQuery UI are being rewritten for the 2.0 release.

Templates
Currently, jQuery UI is in the process of developing support for templates. Kendo UI supports a simple yet high performance templating engine.

In August 2011, Todd Anglin (@ToddAnglin) did a great job providing an overview the templating engine of Kendo UI in his blog post, Kendo UI Templates: Faster than a Speeding Resig:

One of the key components included in Kendo UI is a very high-performance JavaScript "micro-templating" implementation. Almost every JavaScript front-end development project needs templating, so consistent with Kendo UI's goal of providing everything you need for JavaScript development in a seamless, compact package, we've included a templating solution out-of-the-box.

A performance comparison of JavaScript template engines can be reviewed here.

Kendo UI Template Demo

DataSource
A significant difference between jQuery UI and Kendo UI is support for a DataSource component.

Currently, a DataSource-like component called Dataview is under development for jQuery UI. You can read more about its progress on the wiki page for Dataview.

The DataSource component is a powerful abstraction of data in Kendo UI and is fundamental to the way in which databinding is conducted with widgets. While the concept of databinding of local and remote data source is supported in jQuery UI, no such abstraction exists.

From the demo page for the DataSource component:

The DataSource component is an abstraction for using local (arrays of JavaScript objects) or remote (XML, JSON, JSONP) data. It fully supports CRUD (create, read, update, delete) data operations and provides both local and server-side support for sorting, paging, filtering, grouping, and aggregates.

The DataSource component is powerful aspect of Kendo UI and provides developers with the ability to perform local and remote databinding quickly.

Kendo UI DataSource Demo

Data Visualization
jQuery UI does not provide a framework for data visualizations. However, many plugins exist.

Kendo UI provides a library of data visualizations through Kendo UI DataViz, an API that provides Pie, Line, Bar, Column, and Scatter charts to your applications and websites.

Kendo UI DataViz automatically uses SVG or VML to render rich data visualizations, depending on the capabilities of the browser. This makes it possible to render Kendo UI DataViz charts in [many] environments, from older browsers, like IE7, to mobile browsers on platforms like iOS and Android (Opera and the Android browser v3 and up).
Kendo UI DataViz is underpinned by the effects and interactions framework of Kendo UI to provide visual animations when rendering to the browser.

Globalization
Both jQuery UI and Kendo UI provide excellent support for globalization. Both frameworks have localized widgets for date formats. However, Kendo UI includes support for currency and times as well. Support for culture-aware number and date parsing is available for jQuery UI through the Globalize, a JavaScript library currently in development as part of the Grid project. From the project wiki for Globalize:

In the future, jQuery UI core will expose an API interface that can be met by Globalize. At that point the jQuery UI team will encourage widget authors to utilize this $. utility API to ensure any widget can be globalized in the same way, with or without globalize.js as a dependency.

jQuery UI via Globalize Demo

Kendo UI Globalization Demo

Validation
jQuery UI does not provide a framework for validation. However, a plugin exists.

Kendo UI includes validation out-of-the-box via the Validator component, which offers a mechanism of performing client-side form validation. Built around the HTML5 form validation attributes, it supports variety of built-in validation rules, but also provides a convenient way for setting custom rules handling.

Kendo UI Validator Demo

Browser Compatibility
The widgets of both jQuery UI and Kendo UI feature excellent support for older browsers.

jQuery UI Browser Compatibility
Kendo UI Browser Compatibility
While jQuery UI does feature support for Internet Explorer 6, we decided to drop its support after the Kendo UI Beta 2 release based on the feedback we had received from customers.

Mobile Device Compatibility
jQuery UI widgets do not provide support for touch and mobile devices. However, the jQuery team is currently working on touch support for all interactions - more information is available here. As an alternative, jQuery Mobile provides an excellent framework of widgets for building mobile web applications. From the project's homepage:

A unified, HTML5-based user interface system for all popular mobile device platforms, built on the rock-solid jQuery and jQuery UI foundation. Its lightweight code is built with progressive enhancement, and has a flexible, easily themeable design.

Kendo UI offers support for touch and mobile devices out-of-the-box. All widgets in Kendo UI provide full support for touchscreen devices, such as the iPad. The support for touch input is also extended to its support for drag-and-drop interactions with any DOM element.

Kendo UI Mobile features widgets for build HTML5-based applications for modern mobile devices, including Button, ButtonGroup, ListView, NavBar, ScrollView, Switch, and TabStrip. Demos of these widgets in-action may be seen on the Kendo UI Mobile demo page.

Web Standards Support
jQuery UI and Kendo UI leverage and utilize modern web standards when supported by the browser. Note: This also includes incorporating aspects of HTML5 and CSS3. The following isn't exhaustive; rather, it provides a set of examples where both jQuery UI and Kendo UI either incorporate or leverage modern web standards.

jQuery UI Web Standards Support
Kendo UI Web Standards Support
A significant difference between jQuery UI and Kendo UI is support for ARIA and accessibility. jQuery UI provides great support for ARIA and accessibility. Out of the box, Kendo UI does not. Your mark-up must be supplemented to support this.

Product Support
Both jQuery UI and Kendo UI feature support through a number of different means. Many web developers can find support online in forums and sites like Stack Overflow.

Support for jQuery UI is described on its website as follows:

The jQuery UI community is very active and provides a friendy, helpful environment when you need development advice or have ideas on how to improve a script. The jQuery UI Team encourages everyone to actively participate in the development of the library.

Commercial support for jQuery UI is available through third-party sponsors of the jQuery and jQuery UI projects.

For the commercial version of Kendo UI, Telerik offers a 48-hour guaranteed response time for tickets submitted to its support system. Additionally, Telerik is committed to providing all service packs and weekly builds for commercial customers.

你可能感兴趣的:(jQuery UI)