Arthur Kay

Book Review: Sencha Touch Mobile JavaScript Framework

Disclosure: I am not being paid for this review, but Packt Publishing did offer me the book for free in exchange for my review. I also work for Sencha Inc. I intend for this review to remain impartial, but be be your own judge.

The Sencha frameworks have a long history of being difficult to learn, and as the first real mobile JavaScript framework Sencha Touch (1.x) was no different.

For many web developers, JavaScript seems like a magical language that simply modifies an existing page built with HTML and CSS. Sencha Touch (much like ExtJS) approaches web development from an entirely different angle – developers create an application by almost exclusively writing JavaScript, and the framework handles most of the HTML and CSS for you.

Sencha Touch Mobile JavaScript Framework is a wonderful starting point for web developers looking to make the jump into highly interactive mobile web applications.

What I Liked

I definitely liked that the book was aimed at beginners. Sencha’s products have a steep learning curve (despite our best efforts to offer guides and support), so books like this go a long way in helping our community!

I also liked how the authors introduced topics like SASS/Compass, Sencha.io Src, and other bits. The explanations were concise, and the examples were just enough to capture the imagination of the reader.

The authors also peppered the book with good advice. One example was event delegation (which helps save memory and improve performance).

Finally, I loved that the authors built a full-feature app in Chapter 8. It’s the kind of example that should really help people apply the knowledge learned throughout the rest of the book!

What I Didn’t Like

My first criticism is that the book discusses Sencha Touch 1.x – only because ST 2.x was released very recently. This fact immediately lowers the value of the book, as there are major differences between versions.

Although I liked that the book was aimed at beginners, I didn’t like that the authors spent time explaining how to download and use an FTP client (in chapter 2). That’s just wasting paper in my opinion… beginner or not, it’s not appropriate for a technical book as some level of knowledge has to be expected.

I also EMPHATICALLY disagree with the authors’ tip in Chapter 4 to use an “id” config on all components (so you can use Ext.getCmp(). DO NOT DO THIS. Stop telling people to do this. It is a really, really bad idea and causes a million run-time bugs when developers are not careful. The Ext.ComponentQuery class and its methods are a much better solution.

And unless I missed it, the authors failed to mention that Sencha Touch Charts are not free for commercial use. Although the cost isn’t all that expensive, that’s a big deal to a lot of developers.

Final Thoughts

I hope the authors take the time to update the book (soon) for Sencha Touch 2.x because it’s a great starting point for the framework. While more advanced developers familiar with Sencha Touch won’t get much out of it, I definitely think it’s a book worth recommending.

Be Sociable, Share!
    This entry was posted in Book/Product Reviews, Sencha Touch. Bookmark the permalink.

    2 Responses to Book Review: Sencha Touch Mobile JavaScript Framework

    1. Boris says:

      Hi,

      About the use of the id. Coming from a .NET background I find it weird and confusing to define your class and your instance(it’s what you are doing when adding an id to the config). I did it anyway, because I am lazy and the use of Ext.getCmp() was so convenient. But at the end of the day, I ran into multiple and frustrating run time issues because of this poor design. Can you develop a bit more on that and tell us more about the Ext.ComponentQuery method ?

      • Arthur Kay says:

        Boris, there an over-abundance of information on this topic on the Sencha forums. Hard-coding a component’s “id” itself is problematic from the DOM’s point-of-view. Relying on Ext.getCmp further complicates matters because modern JavaScript applications have a fluid DOM… Components are rendered and destroyed constantly, so relying on static DOM ids is a terrible idea.

    Leave a Reply

    Your email address will not be published. Required fields are marked *

    You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>