At the moment the API appears to be non-obvious and truthfully to me it looks like a lock-in strategy since the code we write is heavily binded to the Ext.js API and not portable. Is there any technical reason for going with this approach?
Also how well does Ext.js work with other js frameworks such as the google closure library?
I tried for a long time to write code "in the spirit of the web", and eventually I had to conclude that the Ext approach is the right one. HTML is too low-level to structure application user interfaces in. You need to abstract it as components and layout systems in order to develop features faster. Ext basically is a higher-level language to build your programs in. Would you complain that a PHP app is not portable because it is bound to PHP?
So compared to other frameworks that adhere to the spirit of the web, i.e. jQuery, Prototype, Closure Library, etc. It is much easier to port a widget you've created to work across with these frameworks.
>>Would you complain that a PHP app is not portable because it is bound to PHP?
I just want to understand before I commit to this library its reasons for doing so, and advantages it has over the conventional approach, etc. As I said earlier I'm concerned that this is a lock-in tactic.
PHP is more an API than a language, given its many thousands of functions. It's easy to migrate PHP syntax to Python using semi-automated scripts, but migrating actual code is impossible because of all the PHP-specific functions. Just like PHP's selling point is the API's it exposes, Ext's selling point is the same.
jQuery and prototype are the browser abstraction subset of what Ext does (Ext can run on top of jquery), but not the DOM abstraction. The components built on top of those platforms live in isolation from each other, and applications designed using them are very DOM-oriented when dealing with actual business logic. Ext puts one more level of abstraction on top of the DOM so you can think in terms of Stores, Components and pure business logic. Depending on where you stand this is either ingenious or blasphemous.
If you don't see the value, then by all means, don't use it. There is no such thing as a "one size fits all" toolkit. Ext may be the wrong choice for you. It happened to be the right choice for me.
So compared to other frameworks that adhere to the spirit of the web, i.e. jQuery, Prototype, Closure
What spirit would that be?
Those libraries are different.
jQuery is merely a set of foundation classes like Ext Core.
There's no point using any textual HTML at all. It does not offer any advantage to send down limited bandwidth a whole load of "<" blah bla + ">" text, and then in a second pass, crawl over that, setting up some homegrown object model to "activate" the resultant DOM.
Face it, applications now are DOM applications. The fact that you once created a DOM using "<" thingies is irrelevant.
It's the resulting DOM, and how it is managed that is important.
And Ext offers the best way to create a fluid, managed DOM application.
Seriously I hope we don't get side tracked into debating whether PHP is a programming language or not (i.e. it may be interpreted but its still a programming language). Cross-compiling is technically possible and has been done for many different languages. A programming language contains the essence and intent of your program by definition it is tightly-coupled.
ASP.NET (which I've had many years experience with) is another leaky abstraction that I consider that breaks the spirit-of-the-web, Microsoft is learning from problems inherent from their approach and its latest incarnation ASP.NET MVC follows a more natural web development model. For anyone that is interested I've wrote an article highlighting some of these issues here: (http://www.servicestack.net/mythz_blog/?p=251).
Anyway what I'm really wanting to find out is the reason why it's built this way? i.e. what are its advantages?
Maybe its because it enables more control and encapsulation than what is otherwise possible?
>>What spirit would that be?
This is obviously not helpful. I was just after the advantages of the Ext.js approach of owning the whole UI layout rather then the conventional approach of graceful enhancement to existing markup - This will be my 4th time now in just as many posts. I'm not looking to criticize I just want to know the advantages from someone who knows them and the primary reasons for their approach.
The PHP point is not a side-track. You're missing the point that I'm trying to get across if you think it's a side-track. The point is that the API matters. Ext offers a different API than regular DOM / HTML, and this has distinct advantages in development efficiency / program scalability.
Ext makes compromises for this "richer" API. It trades in SEO, and graceful degradation. However, I make apps where those two are irrelevant (login-walled business apps that can assume a specific set of browsers). In my experience the API that ext delivers is not possible using "semantic" HTML without a LOT of very messy code that breaks easily. Semantic HTML is a tool that serves an end (search engine visibility). If the end is not required, semantic HTML is not required. Ext merely draws that conclusion to its extreme.
[update]Graceful degradation does not scale to apps as complex as the ones built with ext. Google docs doesn't do graceful degradation, it merely has separate front-ends for low-powered devices. That's Ext's strength. It drops the low-end to reach the high-end.
Turkiyenin en sevilen filmlerinin yer aldigi xnxx internet sitemiz olan ve porn sex tarzi bir site olan mobil porno izle sitemiz gercekten dillere destan bir durumda herkesin sevdigi bir site olarak tarihe gececege benziyor. Sitenin en belirgin ozelliklerinden birisi de Turkiyede gercekten kaliteli ve muntazam, duzenli porno izle siteleri olmamasidir. Bu yuzden iste. Ayrica en net goruntu kalitesine sahip adresinde yayinlanmaktadir. Mesela diğer sitelerimizden bahsedecek olursak, en iyi hd porno video arşivine sahip bir siteyiz. "The Best anal porn videos and slut anus, big asses movies set..."