Tuesday, July 16, 2013

SenchaCon 2013 is going on in Orlando... Missing the fun but here are the top 10 reasons to use Sencha Touch

Senchacon 2013 has already started and if not for pressing engagements, I most definitely would have headed to Orlando. All is not lost for me as I plan to  follow on twitter and follow blogs of Sencha folks. Before I go into my top 10, I would like to give some history about my love affair on Sencha.

It was early 2012, when I came across Sencha Touch 1.1 framework.  I was at a large operator tasked with finding ways to engage developers and offer them tools to develop for smartphones. I had seen umpteen solutions until then - ranging from a Powerpoint deck full of promises to a whole range of products that did not deliver.

So my skepticism was high when some one claimed Sencha Touch can perform at close to native levels. Instead of a typical powerpoint, I had a walk-through of the Kitchen Sink complete with "rubber band scrolling"  and one by one my my concerns faded just like the fade transition supported by Sencha.

I was concerned about performance - the size of memory and the speed/cpu usage of a sencha app. But quickly my team learnt about the best practices - minify, paging, rescoping, effective memory management, etc and soon we were all fanbois of Sencha. 

When I left Orange, my first step at Silvo was to create a working prototype using RAILS and for the client side coding - it was no surprise that I used Sencha Touch 2.1 framework. If you are developing for  a startup or if you are a big company there are a wide range of reasons to use Sencha Touch. I list my top 10

10.  MVC  - Model View Controller is a proven and pervasive pattern that most of us have used in server side programming. Offering MVC framework in the browser complete with support for routes and event handling at the controller make it easy to organize and sustain code.

9. Model Association - Being able to define models that mimic the associations on server side and reflect these associations of object oriented design to navigate objects is truly a programmer's delight.  

8. Storage, Stores and Jersey Shores.   Okay, there is no Jersey shores, but being able to define stores that sync with servers and keeps track of changes on the client side is truly empowering to developers. Local Storage and caching makes it easy to provide a native like experience

7. Every imaginable view element - When I last counted there were 40+ different view elements in Sencha. If you decide to customize and reuse it, you can do so as well. 

6 Proxy - Communication between servers and clients has never been so easy. I remember using libraries, Message oriented middleware, supporting custom protocol, etc. With REST support and extensibility of JSON and XML you can attach a proxy to a store or a model and rest is easy.

5 Drag queen a.k.a Architect -  As a product marketing professional, I found the thought of learning Sencha daunting. It quickly dissipated when I began to use Sencha Architect dragged a few objects from the pallette to create a "hello world" app.  The code generated was simply pedantic!

4. Works great on Android, iPhone, iPad, Blackberry, Playbook and now Tizen. Am sure Microsoft Phone support is on the way! Steve Ballmer probably will be making a call after reading this.

3  Double Sassy - If you are delivering a cloud based solution and you do not have a name draw of a Google, then the best way to get traction is to send HTML5 links as an SMS when consumers interact with a business. That is exactly what I did with Silvo which had a SAAS platform as the core. Sencha HTML5 combined with CSS3 framework helped deliver the consumer experience. And theming was easy thanks to the awesome SASS framework.

2.  Cheaper, Faster and Better. Time taken to develop and support multiple devices is a major concern from time to market and cost perspective. Thanks to the significant javascript talent pool, you can tap just about anyone to code in Sencha.  If anyone is looking for resources give me a shout. @hjdave is awesome

1.  Awesome documentation, Even better samples and community support.  Many developer products fail because of poor documentation. Sencha Touch truly excels in all three.

If you have a differing point of view or have your own favorites about Sencha, please let me know in the comment section.

4 comments:

DotRam said...

What do you think of the announcements so far? I just checked in Sencha Space...

Dayashankar said...

I still think they have not done much from natie packaaging. Their documentation on how to package is out of date as well. I like Appcelerator...

Satyamallya said...

DotRam,

There is a definite need for a HTML5 app distribution and monetization. Doing it in native stores means wrapping your app for distribution.

Sencha Space is quite interesting. It squarely addresses the mobile application management space for IT and businesses of this world. I cannot think of a better way to develop, distribute and manage applications - I was speaking to Laura of Good Technology just last week - than HTML5.

Sencha is well positioned to take advantage of this. I am excited about Sencha Space.

Satyamallya said...

Daya,

If you are referring to native packaging, there used to be a tutorial from Robert Dougan. Have you checked it out.... I will try and let you know more.