Sencha – Use Architect to Not Use Architect

One of the first decisions faced with when switching to the Sencha ExtJS framework will be, do I use Sencha Architect or not. This is truly an opinionated question with many holding different strong views either way. My experience has led me to work in both environments. In my day job I we work with Sencha Architect version 4.2.4 while on “pet” projects I prefer to use more traditional hand coding. In both cases there are opinions both for and against.

Architect is Sencha’s GUI for developing ExtJS applications. As I found with other GUI’s they are clunky, do some things in the background I prefer to have more direct code writing ability to make changes from their automated solution. Architect lacks here just like other GUI’s I’ve worked with over the years. My personal preference with current version of Architect is to avoid using it. The team I work with with they prefer having the drag drop to decrease time when doing screen layout. As individuals we simply think differently; I think in terms of how quickly I can type something I know to accomplish coding aspects; others are thinking in terms of time reduction in interface design. Neither of us are right and we all know this.

Architect is a great product for doing quick mockups of the interface. One of the better GUI’s I’ve had opportunity to work with. Though from my perspective manual coding of GUI is still quicker especially when fine tuning and making tweaks in the code.

Sencha Architect uses metadata when creating the GUI files. This metadata is then converted into the JavaScript files when the project is built. This entails using the GUI builder to accomplish anything you do with Architect. If you were to create a change in the JavaScript file, Architect would write over any custom code you had when the metadata created an updated JavaScript file.

Another current limitation is Architect cannot open existing CMD created projects. It will only work with Architect created projects. The reason for this decision by Sencha should be clear; the metadata development currently used does not use raw JavaScript. Something one has to work around and consider but your primary decision should be on needs to reduce interface design time and not what may have to be worked around.

Architect does have strengths even with limitations. As indicated we use Architect at work, I don’t on pet projects. Architect is a tool like every other tool we’ve used. It has a purpose and once we understand the purpose, make a decision to move forward using it you will also be faced as with every other new technology out there; a learning curve. I come over the initial humps and today agree with the others on using Architect at my day job. Why? Because at my day job we develop single toolkit solutions. Classic and modern are not mixed within a single project. This and having ran the learning curve makes Architect the better choice for a development environment.

Another heads up with Architect. Themer is not designed to work with Architect projects. Sencha Themer is a great tool for creating new styles for your projects but does work with projects created using CMD. If you decide Architect is right for you, know I recommend creating a CMD project to create your theme with then exporting that them to be imported into your Architect projects. The plus side is your theme is easier to share between multiple projects both inside and outside of Sencha Architect. The fact Themer doesn’t play well with Architect is not a flaw in the Themer product. It is the result of a choice Sencha made when first developing Themer they felt would best fit the needs of their users. Themer is another great tool when you understand design intent and apply using the product as it was designed within your projects.

Understanding Sencha’s plan and design considerations will only help you enjoy and get more out of the framework. Don’t hesitate to share your preferences with Sencha, today they seem a very open company to feedback from users so they can improve their products and roadmap for the benefit of their user. Sencha is no different than we are as programmers. We strive to give our users the most advanced and robust product on the market; and sometimes we fail achieving this on our first run because we need user input in order to bridge the gap between what we intended and how our users actually use the product.

Architect is a great product knowing the limitations, accepting you will have a learning curve in getting up to speed writing code with it; but in a single toolkit development environment it is hands down superior in decreased time in GUI development.


Author: aallord

Leave a Reply

Your email address will not be published.

This site uses Akismet to reduce spam. Learn how your comment data is processed.