The lack of current working examples in Sencha 2 MVC style that are non-trivial - and the extensive (but cryptic) documentation without syntax examples or Architect screenshots really make coming up to speed really frustrating. Also - all the prior 1.1 and non-MVC examples confuse the issue and a lot of them are just plain the 'Wrong Way' to really do things in the real world - IMHO.

Especially for experienced devs who have built complex Jquery and javascript enterprise apps - we're looking for the 'How do I do it the CURRENT Sencha 2 way?'

We don't want to become experts at one-time setup & plumbing issues. I spent three days foraging around, and then got one good example and was up and running with the whole theming & pictos icons in 10 minutes - and I know I'm not alone here. The screencasts are great, but a working example that doesn't require chasing down all the slightly different and obtuse config details would totally make the difference in 'Dev Satisfaction'.

Savvy devs know what we're looking to do - and how to do it in native js or Jquery, Backbone, Knockout, Zeptos, Dojo, etc... but the lack of overview and foundational documentation for Sencha has us being dragged through a bed of nails. And out-dated techniques that are pretty much throw-away just make it even more aggravating - when you want to build an industrial-grade mobile enterprise app.

That said - this framework totally rocks and you guys are doing a great job of charging after the prize - I know this is a tough thing to get right.

You just really need to tie up some of these bleeding edge setup & example issues to make it simple to get up and running with a 'Professional Dev Environment' without all the negatronics.

Maybe a comprehensive 'dev environment setup' repo on GitHub would make this simpler?

I wish to share my first experience with the product, was not good but may be constructive.
I have registered to sencha community and installed for my first time sencha architect last Friday, during my first day I found the very cool approach of architect making my first UI(one view) all my exclamations was WoW!, cool! etc... all days after I starting to become every day I bit more frustrate I cannot do simple things I do not understand how to bind events with multiple view using controller. The example repeated many time in the docs and videos simply cannot be done in the architect, because I can't set "xtype" attribute, I can't set "controllers" attribute inside my controller, I can't edit that parts in the code view, etc.. docs also confusing me because as you describe is not clear how to identify an object or how we manage id,itemid, class name,xtype in the architect..to bind events.
I read a lot of docs and spent many hours, looking inside code examples (that simply cannot be made with architect!) and finally I also downloaded the zip "architect examples" opened "city bar", the architect say that is an old project (what?!?), than after converting this it say that there is an error etc.. and as expected it did not work!.
After all, I found your post and I TOTALLY agree with you! in all points, from 1 to 5 and inclusive of your final consideration, in the mean time I lost 4 days and now I can't hide that I'm feel a bit angry..
so if the architect can not work as expected in documentation or is not clear how to work with it, why we should pay for this tool and also charge us with the complexity of sencha programmatic approach to develop UI in javascript compared to the easy, totally free and seo friendly combinations of jquery or dojo or yui..+ html +css?
I think that the architect come out with very good ideas but simply still a beta product, lack a working examples, lack a real documentation to guide users and also may be useful to have autocompletion as free update in the next release .
My reasons to give a chance to sencha versus jquery mobile was the slightly better performances and this rad tool, and I'm sorry but after this marathon and stress all my initial enthusiasm was transformed in frustration

Originally Posted by CarClub

Somebody needs to sit down and write a "theory of operation" for this framework because there seems to be an awful lot of magic running around and I'm struggling over and over with some very basic concepts.

1) Normal MVC typically has a Controller manage one or more Views. How one is supposed to associate a controller to a view remains a total mystery to me. I'm used to iPhone development, have done Smalltalk, Cocoa, Motif, lots of other MVC frameworks. This one acts like none of those. So while I can add an event handler to a button, how do I actually get that to call the appropriate method in my controller?

2) As many designers I created a bunch of standalone views for the various screens first. Now I want to create a matching controller for each. Controllers have a 'views' attribute. Dragging a view into that or naming it results in a dialog that asks if I'd now like to delete the "copy" of the view? WTF? Seriously I need somebody to draw me a flamin' picture of how all this stuff fits together.

3) There are way too many ways to "identify" things. We have userAlias, id, itemID, userClassName and who knows what else. Stores seem to have even more handles or names.

4) Screen navigation - the iOS way this is handled makes sense - a controller manages one or more views. Pushing a controller onto a navigation controller displays its view. How this is supposed to work with Architect I have no idea but I ended up creating a top level card view and calling "setActiveItem" to swap views. Probably there is a better way to do this but I can't find it.

5) Stores have models if I create the store itself. But why does the Model have a store attribute? Is this supposed to be a bidirectional link?

Really frustrated and I'm pretty close to abandoning this tool as being way too complex but I like your widget set. I don't give a fig about the models or the stores, I use web local SQL (sqlite) and JQuery ajax and I prefer that but I like the controllers for partitioning logic so - how can I actually use them if I can't reference the controller from the view?

I wish to share my first experience with the product, was not good but may be constructive.
...
My reasons to give a chance to sencha versus jquery mobile was the slightly better performances and this rad tool, and I'm sorry but after this marathon and stress all my initial enthusiasm was transformed in frustration

Sorry that you feel that way. We're continually taking users feedback to improve Architect. Better docs and examples are coming.

I wish to share my first experience with the product, was not good but may be constructive.
I have registered to sencha community and installed for my first time sencha architect last Friday, during my first day I found the very cool approach of architect making my first UI(one view) all my exclamations was WoW!, cool! etc... all days after I starting to become every day I bit more frustrate I cannot do simple things I do not understand how to bind events with multiple view using controller. The example repeated many time in the docs and videos
...
My reasons to give a chance to sencha versus jquery mobile was the slightly better performances and this rad tool, and I'm sorry but after this marathon and stress all my initial enthusiasm was transformed in frustration

This helps a lot. The state of the documentation and examples is not good and we know it. There's no magic wand to fix this today, we can just work through the issues and make sure we constantly improve. The last update to the docs was very significant but we're not done for sure.

So I tried this. I associated my view with my controller. I added an action in the controller with target Ext.button and event touch. Great. However this gets every single button touch in the application. Not really useful. How do I make it more specific? And what is a control query?

Being more specific is done the same way you do w/ css.
Most specific to least specific
Set an id on the button and using #theId for the query

Set an itemId on the button and use [some parent view selection] > #theItemId for the query (scoped to the top level view and not global) e.g. #myForm > #cancelButton

Set a class or cls on the button and use .className for the query (.cancelButton) -> any observable with the class cancelButton will trigger this.

Also using class but be more specific to buttons button.cancelButton

Use an xtype form > button (all buttons that belong to a form)
button (all buttons)