After talking with Telerik Technical Evangelist out here in Australia I've been considering using KendoUI Mobile to create a sample application for the MYOBapi for our external developer partners to use. So when I saw this book become available I was eager to read it to overcome that initial learning curve when adopting a new framework. I also use the ASP.NET Web API quite extensively in my day-to-day work and so I was interested in what they had to say on this subject.
The book is broken into seven chapters, five dedicated to KendoUI Mobile (KendoUI) and one to the ASP.NET Web API (WebAPI) and a final integration chapter, with each chapter building upon the earlier chapters in order to build a sample application around booking cinema tickets. It is not a complete working application that you can sell but at least it introduces some real world concepts and challenges that may translate to your own business domain.
Rather than provide a complete chapter breakdown, which you can instead get directly from PACKT, I will instead intend to describe how the book takes you through the process of developing a mobile application using KendoUI (beware spoilers).
The authors quite rightly start by introducing KendoUI along with the other web technologies which, if you aren't already, you should become familiar with, such as HTML5, CSS3 and jQuery, and gives some guidance as to why you should be using these technologies to develop mobile web applications. They then takes you through the process of creating an application from the beginning and introduces the various KendoUI components as they are used. As the story progresses the reader is introduced to some useful tools and samples hosted at jsFiddle.net, which I found really useful as I could play with the samples from my tablet.
A basic introduction to ASP.NET Web API is provided such as routing, controllers and authentication (basic) but rather than embrace REST the authors chose to use actions on the controllers which I felt a little disappointed as all the cool people are talking about REST and actions feel a little 'old'. There is however a hosted ASP.NET app that provides the movie sample data that you can use if you don't want to bother with this particular aspect of the book.
The story progresses by introducing more KendoUI widgets and how to handle human interaction e.g. swipe/touch and that old favourite 'pull-to-refresh'; Chapter 5 somehow feels out of place in the 'application development' story, I found myself skimming past this section, and should probably have been a reference section at the end. The story ends when
boy meets girl and they kiss under the moonlight the KendoUI application is finally integrated with the WebAPI backend to create a working application, again this application is available to play with for the impatient amongst us.
Pros and Cons
Things I like about this book:
- I like books that have a purpose (in this case developing an application) and provide working examples that look fit for the real world.
- The introduce the reader to a number of tools to help you develop. Some of which I knew and use daily e.g. Advanced REST Client and a number that I didn't e.g. Ripple Emulator.
- The use of jsFiddle.net to get you started on some of the samples so you can really play with the majority of samples without having to get your own developer tools out and start compiling (with all the horrors that that sometimes entails).
Things I disliked about this book:
- The ASP.NET Web API was a bit light and other than being used to provide a data source for the KendoUI application this is not the book to learn about ASP.NET Web API.
- The authors used a service (actions) orientated approach to expose the API rather than adopt a REST-like API; there is nothing technically wrong with this approach per se, it is just my personal preference.
- The authors used pre-canned filters when extracting data from the API instead of taking advantage of OData queries which are part of the ASP.NET Web API when pulling data from the API, it would mean less code overall and lets the consumer of the API be in charge of how they want the data to be returned.
- Showing the data as XML rather than JSON; most developers using or considering the web should be familiar with JSON and it is much easier to read and less verbose.
I liked this book and I took a lot form it that I am now using to build that sample application using KendoUI. If you want to learn about ASP.NET Web API then this book isn't for you and you'll learn a lot more from the ASP.NET Web API site. The things that annoyed me were minor and it's easy to list them so I've only listed those were I could be constructive as to what I consider to be a better way. It's unlikely this book will become a reference book that you will always be going to i.e. like a patterns and practices book, but one that will get you going from nothing to a point where I was comfortable with KendoUI to start building those mobile apps.
I have purposely not provided links to samples and online applications relating to the book (buy the book if you want them.)
14th Dec 2013 Initial Article