# Friday, 19 August 2011

A few days ago in Part I of this blog post, I described how we are moving into a new era in application development, the Device+Cloud (D+C) era. I mentioned how just like 15 years ago we had the “Windows or Web” debate, we are now having the “Native or HTML5+JS” debate. Just like 15 years ago, the answer is that we should take a hybrid approach. Some projects will require the reach of HTML5 and others will require the tight OS integration and custom experience of a native app. Some companies will build a HTML+JS version of their app for broad distribution and then choose to build some native apps on popular devices that they are specifically targeting. Think of Amazon’s Kindle Cloud Reader built in HTML5 and its native Android tablet app.

I know many developers that are throwing their lot behind either HTML5+JS or Native. They should be learning and supporting both. If you believe the rumors about Windows 8, they take a hybrid approach where you can write apps in either a “native” XAML or HTML5+JS approach. That said HTML5+JS is a technology that is here to stay. This leads us to the problem with building HTML5+JS applications today.

The problem with building HTML5+JS Applications 

Building an HTML5+JS application will undoubtedly involve using jQuery due to its ease of use and near ubiquity. That said, you have to wire up a lot of different components to get your application up and running. Depending on your application, you may need things that are not part of the core jQuery libraries, including:

  • Templates
  • Data Binding
  • Data Source
  • Localization
  • Validation
  • Drag-and-Drop APIs
  • Universal touch support
  • UI widgets

Here lies the fundamental problem with HTML+JS development with jQuery today: there is no underlying framework or “base class library” that provides all of these services. Many libraries/plugs-ins/frameworks exist for each of the services I listed above, however, you have to search Google for the best one to provide the service you need, then learn, master, code, and distribute it. Each will work similarly, but have subtle differences, especially when you integrate them with your application. You may spend a long time learning a popular framework for localization, however, on your next project at a new company, find that it is either incompatible with what you are doing or not the preferred framework at that shop.

A new, modern, one-stop shop for HTML5 plus JavaScript development

At Telerik, we saw this problem and decided to build a complete framework to address this issue. We recently released a beta of Kendo UI, a HTML5, CSS3, and JavaScript-based framework for building modern HTML apps. As we said when we launched, it, Kendo UI combines the best of emerging HTML5, CSS3, and JavaScript technologies with robust, cross-browser techniques to deliver a framework that is both powerfully rich and broadly compatible with older browsers.

Kendo UI combines everything that a developer needs to build a rich JavaScript app, eliminating the traditional challenge of manually researching and combining all of the needed plug-ins, frameworks, and libraries needed to build apps. Kendo UI includes rich UI widgets, a JavaScript DataSource, fast Templates, cross-device Drag and Drop API, Build in Touch support (great for mobile development!), and more.

image

Just to prove that I am not all talk, check out our live demos here. You can also download the beta and to get started all you need is a text editor, nothing else.

Telerik: Our Strategy has NOT Shifted

If you know a bit about Telerik, you would know that we are famous for our user interface components and developer productivity tools on the Microsoft .NET platform. You may be thinking, “Telerik’s strategy has shifted, they are now offering non-Microsoft technology.” While Kendo UI is our first developer product not reliant on .NET and truly cross platform, it fits right into our core competency and sweet spot: making developers more productive. At Telerik we have a passion to make the developer’s life easier. Why? We are a company made up of developers! Smile

If you are a long time Telerik customer, you may be thinking that we are abandoning our Microsoft product lines or we are taking sides in the Silverlight v HTML5+JS debate. As our CEO said last week, our strategy has not shifted and we will continue to innovate and release our industry leading .NET developer components. We will continue to innovate and release everything including “older” technologies such as Windows Forms. As Microsoft evolves its XAML tools, including Silverlight, we will continue to innovate and evolve our XAML tools as well.

As Kendo UI matures and gains traction, expect to see some tight integration with Kendo UI and some of our existing products. In the future as a Telerik .NET customer, you can have the best of both worlds, choosing to use Kendo UI as the front end on some of our existing platforms. If you come from a non-Microsoft background, you can use Kendo UI independently.

We are not taking sides in the “Silverlight vs HTML5+JS” or “Native v HTML5+JS” debates. At Telerik, we hold the view that I spoke about in Part I of this blog post: modern developers will have to take a hybrid approach and build some applications using HTML5+JS and some with more rich technology, such as our XAML tools. This is clearly the direction that Windows 8 is taking, allowing you to build applications with both HTML5+JS or .NET/XAML. As the modern developer evolves, so are we at Telerik. I hope you enjoy Kendo UI, let us know how you like it, your feedback will determine its roadmap.

Friday, 19 August 2011 12:27:49 (Eastern Daylight Time, UTC-04:00)
Hi,
it looks promising, but to compare it with Ext.js there is much missing widgets: Better Fields controls (Numeric Controls, Richtext), Tree, etc.
Petr
Saturday, 20 August 2011 03:04:11 (Eastern Daylight Time, UTC-04:00)
Have you ever thought about writing an ebook or guest authoring on other blogs? I have a blog centered on the same subjects you discuss and would really like to have you share some stories/information. I know my viewers would value your work. If you're even remotely interested, feel free to shoot me an email.

http://www.forextradingsystemtool.com
Tuesday, 23 August 2011 10:52:58 (Eastern Daylight Time, UTC-04:00)
Hi Steve;

Great blog post, especially pointing out the pain of gluing and integrating these libraries when there isn't a base foundation in place. There is a mention of "Datasource" on the client side. As you know, this type of development lies in a 3-tier modeling where you really need to also cover the middle tier and backend data tier. As much as it sounds nice to say our datasource can hookup to any OData, but the reality of a LoB application is that, it can become very data interactive where the middle tier and client need to have a close integration for business logic, validation, error trapping and using server side attributes.
In none of the talks or info in Kendo, this getting addressed in a black & white but rather a formal answer that we can talk to OData. For any LoB developer to step in and consider Kendo, a complete solution must be presented. It's like your building a beautiful car sitting in the showroom, and when we open the hood, there is no engine, transmission there. And you say, well, our car works with any GM engine... I wonder how many people will buy into driving that car out of the showroom.
Hope to hear more on this Data Engine and getting the data to Database (Transmission part).

Thanks!
..Ben
Tuesday, 23 August 2011 16:57:30 (Eastern Daylight Time, UTC-04:00)
Off-topic question: why can't I read your blog posts in google reader? It always only shows a small part of the blog posts (true for all telerik blog posts).
Martin
Wednesday, 24 August 2011 07:52:50 (Eastern Daylight Time, UTC-04:00)
Thanks for the post Stephen. I'm a true and die-hard native dev (formerly C#/WinForms/WPF) and have read a lot about the ongoing debates of new technologies. Your post has inspired me to not just choose one or the other but to learn BOTH.

I've tried giving JQuery a shot but am still trying to warm up to the idiosyncrancies. Nice list of what's not in JQuery atm, and I think that's important to know for LOB developers of what's NOT there. Kendo UI looks promising and I'm going to try it on a personal project to learn web dev.
ct
Comments are closed.