Kendo UI has a nice array of widgets to offer and has a stellar framework where you can create your own widgets. In this post, I would like to introduce a new Kendo UI Media Player widget that is web, mobile, and MVVM compatible.
A potent mix for creating elegant mobile applications is Kendo UI Mobile with MVVM and RequireJS. Included is an online sandbox environment with code snippets that will highlight the concepts needed to create more advanced Kendo UI Mobile applications. This has been created using jsFiddle and acts as a starter template to update or fork as needed.
Kendo UI has an excellent drag and drop framework. Although it has a nice API and is very capable, I found it a bit difficult to understand due to the disconnected implementation between the drag and the drop. There are two separate widgets to create a single drag and drop action: one is the kendoDraggable widget and the other is the kendoDropTarget.
When using MVVM in Kendo UI Mobile, there are times where you will need the context of the view so you can make changes to it or read values from it. You can get the current view from the application’s “view()” method, but sometimes your app is not in the global namespace if you architected it this way. Unfortunately, this does not come as a parameter for your observable functions. So here’s the trick to finding the current view.
When working with Kendo’s SPA implementation, you will soon realize that you can only create views out of existing elements on the page or feeding it raw HTML. What about remote views? Unfortunately, only Kendo UI Mobile gets to have remote views. In this post, I will show you how to extend Kendo UI Web’s kendo.View to give it remote view capabilities just like mobile!
Kendo UI is more than just interface-candy. There is an elegant, underlying framework at play that makes things work. Is it easy to extend though? YES – Kendo is also framework-candy!
Cross-browser compatibility can be a major pain. The philosophy for most web developers is to code against a standard-complaint browser (Chrome), then apply CSS hacks later for other browsers that need to play catch up (Internet Explorer). In other words, it is better to make your code forward-compatible and apply backward-compatible hacks instead of the other way around.
If you are a big believer in Kendo UI, then you will be glad to know there is a built-in template engine as well. The problem was that you have to load the entire kendo.web.min.js file just to render a simple template (~0.5MB). Kendo is now AMD-complaint and can be used with RequireJS! I can now use Kendo UI’s as my new favorite template engine. Why not if I plan to use other parts of the Kendo suite later or on other pages.