Sencha Architect 2.x - First Experience

Sencha Architect 2.x - First Experience

As the technical lead of our development group I am faced with making a purchase decision not only for Sencha Architect 2.x but for the Fast Track Sencha Touch 2 Advanced Training class. I have been using Ext JS for several years now and it has become the standard client-side technology for our internal business applications. Though I am very comfortable "hand-coding" the applications I decided to download a trial version of Architect to see if it could speed up our development cycle. After familiarizing myself with Architect I began using it to rebuild an existing application that was crafted by hand. I would imagine that many developers have gone down this same route in order to learn the tool. Though I found the code-generating capabilities of the tool to be very powerful I ran across some limitations which give me cause for concern:

I cannot extend my classes. For example, I have a BaseController class which encapsulates commonly used functionality that can be shared by all controllers in the application. I don't see a way to implement this in Architect. Copying the same functionality into all of my controllers is just not an option.

I cannot create utility classes within Architect. For example, I have several utility classes with static methods that perform commonly used functionality such as date calculations, math calculations, various application-specific algorithms that are used by several of the application components. I believe the accepted workaround for this is to keep the files outside of Architect and add them to the project using a "requires" array in the application component.

I cannot insert comments into my source code files.

I work with medium to large applications where my top-level folders contain many nested folders that are organized according to the various modules within the application. Whereas I can achieve this in Architect by pre-pending the package structure onto the front of the class name, the Project Inspector does not organize the files that way so it becomes very difficult to view all of the components when they are presented in a single "folder".

I'm not trying to paint a negative picture here. I've stuck with Sencha for years now while others were shouting "JQuery" and "Rails". I will continue to stay with Sencha even if we don't purchase Architect or the training. What I'm looking for is someone from the Sencha team to address these concerns and let me know if and when they will be resolved in future releases. Of the points I listed above probably the inability to extend my own classes is the main showstopper. If I am wrong about anything I have described above please correct me. Thanks.

Thanks for the feedback. Many of the points you raise we are looking to address in a future release and are well aware of the need.

Originally Posted by sl5337

[*]I cannot extend my classes. For example, I have a BaseController class which encapsulates commonly used functionality that can be shared by all controllers in the application. I don't see a way to implement this in Architect. Copying the same functionality into all of my controllers is just not an option.

We're aware of the problem here. You could create a top level class that extends from another or you could mixin specific pieces of functionality.

[*]I cannot create utility classes within Architect. For example, I have several utility classes with static methods that perform commonly used functionality such as date calculations, math calculations, various application-specific algorithms that are used by several of the application components. I believe the accepted workaround for this is to keep the files outside of Architect and add them to the project using a "requires" array in the application component.

This is possible today.

You can add them as an external JS resource into Architect. You can also create your own classes from Architect via clicking the add button in the inspector -> Class -> View/Model/etc.

You can then add plain functions/static functions etc.

Originally Posted by sl5337

[*]I cannot insert comments into my source code files.

We're well aware of this deficiency and will be addressing it shortly.

[*]I work with medium to large applications where my top-level folders contain many nested folders that are organized according to the various modules within the application. Whereas I can achieve this in Architect by pre-pending the package structure onto the front of the class name, the Project Inspector does not organize the files that way so it becomes very difficult to view all of the components when they are presented in a single "folder".

I think if you look through the forums you'll see that we are listening to our customers and implementing the things they need. We're aware of all the above points and intend to address them, it just hasn't been implemented yet. There are only so many hours in a day and we are trying to keep a stable product.

Thanks Aaron. I will take a look at your suggestions and keep plugging away. I honestly think that Architect could be a turning point for Sencha in terms of opening it up to a broader audience. I appreciate the fact that you guys are trying to keep a stable product and I understand about having only so many hours in a day - I wish I could find the time to participate more in the forums and help others with my experience.