Sencha / ExtJS Rant
July 29th, 2010 by pyratRant
Decided to start ranting about things as I become more of a grumpy old man!
I am not an expert in extjs but have a working competance.
- It is really slow to develop with.
- Memorizing apis and setting keys on objects is dull and leads to messy code.
- The templating system is dirty.
- HTML in javascript is bad.
- Not SEO friendly.
- CSS is clumsy and ugly, just like the rendered html. (You essentially have an empty html document which ExtJs writes to.)
- When you get an error or problem it is common to see the ‘white screen of death’ with accompanying cryptic error messages.
- Testing seems non existant and its really just a method of apple-r / ctrl-f5 and pray.
Mobile Web Development
- Mobile web development is mainly using the advanced nature of webkit CSS3, built-in hardware accelerated animations and using touch events rather than click events.
- Design for the mobile web is a knowledge of what webkit gives you and the ability to work with small screens effectively.
- Mimicking native applications is not the way forward. Look at gmail for iphone as an example of how good custom approaches can be.
- Writing web applications for the mobile web should harness the advantages of a web based approach, not shoehorn a native approach into a monolithic javascript object.
These advantages include:
- Writing HTML and CSS by hand. (lets get semantic man!)
- Unobtrusive javascript. – Javascript is great, unobtrusive javascript is amazing.
- Generating HTML with your favourite web framework (rails, django, symphony). This is powerful but also you need to think about html manifests and caching to not affect performance on shaky connections. If you shift paradigm and think of the web framework as an html generator / ajax interface this helps. (helped me)
- Knowledge of the fancy new functionality that webkit browsers provide is the main new skill required.
- Keeping a lot of your business logic in a web framework allows for easy testing using mature tools.
July 29th, 2010 at 4:42 pm
DHTML is not SEO friendly.
July 29th, 2010 at 5:31 pm
True. But unobtrusive javascript and using the same actions for web browsers / mobile browsers is.
July 30th, 2010 at 9:46 am
All sufficiently complex application development is slow.
Cobbling a mess of HTML is quick. A slick, functional application will take time.
Why would an application bother with search engines? It’s an application. Free yourself from the concept of “web pages”.
HTML is bad.
DOM is good, but sending tag soup down the line in order to end up with a certain DOM and then groping around that DOM in Javascript to arrange your object model is just perverse. It’s deliberate timewasting.
August 2nd, 2010 at 8:22 am
Complex application development doesnt need to be slow. Accepting this as true is giving up.
Good point about application SEO being a waste of time. Mobile web SEO is also potentially a waste of time but I am not sure. As I can imagine some search engine robots firing in mobile user agents in the near future.
HTML is good. It is a great way to describe structure on a screen, better than object literals.
Semantic HTML quite pretty and makes a lot of sense in my view. JQTouch party operates in this manner and I really like it’s approach.
The success of Jquery proves that unobtrusive javascript works and is not perverse.
September 9th, 2010 at 9:41 am
That’s a common religious viewpoint.
HTML is good. You MUST describe your UI in HTML. The elders told me so, amen!
Why?
It’s just an extremely incomplete description of a UI!