We have a pretty complex application to be built. Planning to use EXTJS4. We have a team who is well versed with coding EXTJS3 style. We are researching on MVC feature of EXTJS4 and whether to go that way or not. Want to add that we will have really complex layouts and pages.
Can we use EXTJS4 without using MVC feature?
Yes, you can... however if the only reason you are avoiding MVC is that someone on your team is "well versed in Ext JS 3 style" then you are in for a world of hurt.
Ext JS 4 is very different from Ext JS 3, in about a hundred thousand ways. The latest version is Ext JS 6.0.1 -- and follows all of the paradigms introduced in Ext JS 4.
TL;DR -- if you are serious about using Ext JS for large projects, (1) use the paradigms for the framework and (2) use the latest version!
Related
I am working on a big CMS project which is developed by angularJS and suddenly I have to change the image cropping tool to a new image editing tool. since there are no anguarJS based project which full fill my requirements and There are some projects that can possibly usable but which written using angular2 or higher version, I am looking for a way to integrate some of those libraries to my angularJS code-base somehow. It may be a really stupid question, but I am out of options here. Any advises would be really helpful.
As a example, what if I want to add this image editor which is developed for angular 2 Angular 2 Photo Editor SDK for HTML5. in to my angularJS project – Sanira 1 min ago
Actually it has to "order for licence", But I just asking is there a way to integrate that kind of angular 2 component in to an angularJS project
Iam trying to implement my applicaion in ext js 2.3 using mvc architecture.
Can someone suggest me the classes available in ext 2.3 version to implement MVC.
Any links to extjs 2.3 tutorials will be highly useful.
Thanks in advance.
MVC has never been implemented in Ext 2.3, as far as I know. I also think that it is not worth the effort as 2.3 is three versions back and it is really outdated today.
If you have a motivation and resources to upgrade the existing app then opt to update the app to Ext 5.x. It would be much better spent development time.
In Extjs4.x, the MVC appears for the first time. So it can't be used in previous versions. It becomes mvvm in Extjs5.x. I recommend you to learn Extjs4.x or Extjs5.x.
I am would like to use ext js in a new application for my client,
Ext js had lot of widgets that i can leverage and MVC framework. Can anyone throw some light on the drawbacks of ext js?.
What are the things that i need to keep in my mind while using ext js?
I have been using ext js for more than a year in a complex large-scale application.
These are some of the drawbacks that I have come across with Ext JS:
I have observed relatively slow loading in our application. The library has big size. A lot of JS code has to be loaded during pre-initialization of the application. (need to use sb3 ext js SDK tool to consolidate all your ext js source files for improving performance)
Finding CSS selectors is tedious and not extensible to other non ext js UI’s. I have spent a lot of time figuring out the correct definitions for CSS selectors. I don't think it's documented anywhere either. So i just can't seriously customize quickly. Even if we end up writing custom CSS for Ext, we will not be able to reuse this CSS for other UI technologies such as HTML,
Availability of Ext developers (resources) are rare. Whereas, there are good amount of jQuery talent
Ext's Data visualization/3D Graphic visualization is not up to the standards that can meet all the needs (stocks charts, candle stick charts and so on). High charts/d3 would be viable option here.
Ext js is a single page application, you need to implement url hashing for multi-page interaction(browser back and front button interaction)
$400 per developer, though cheaper than building/integrating jQuery widgets I would say.
Not crawlable by Google, though if you are behind a login, doesn't matter.
It's a bitch to theme. Sencha introduced their Neptune theme like 2 years ago, and it still barely works, and that's with their own engineers working on it.
Has some irritating bugs and sucks to get model associations working.
Still worth it though.
First thing Ext js is good for SPA(single page applications).
Major Drawbacks of ext js:
1) Slow in IE 9 and blow
2) Memory leakage
3) Lots of DOM objects
4) SKIN customization is hard. should know CSS or SCSS
5) always have to cleanup variables.
I am using extjs and sencha touch for more than 4 years. What can I say is that (almost) none of the above are really true.
Possible drawbacks:
Learning curve might be a little larger if one has no experience with oop.
Complex relations between models are a little bit tricky.
Is not free but...
If you are planning to build up a enterprise application to run in browser I wouldn't know another choice.
What are the risks associated with updating from ExtJS 3.x to Ext JS 4 Beta?
Would you expect that user extensions which work with Ext JS 3.x will work with Ext JS 4 Beta?
Would it be as simple as replacing Ext Js 3.x with ExtJs 4?
Should I update or wait until there is an official stable release?
What are the risks associated with
updating from ExtJS 3.x to Ext JS 4
Beta?
Ext 4 is not backwards-compatible to Ext 3. Expect to spend significant time upgrading and testing, depending on how large your existing application is. Once you see the impact on your specific app, you'll be able to evaluate your own specific risk. It all depends. There will be migration documentation, so hopefully that will mitigate the risk somewhat.
Would you expect that user extensions
which work with Ext JS 3.x will work
with Ext JS 4 Beta?
No, not by default. I would expect most will need to be upgraded, but again, it depends on the specific component.
Would it be as simple as replacing Ext
Js 3.x with ExtJs 4?
No. You might want to watch this thread on the Sencha forums.
I think this question isn't specific to ext js at all. I think the answer to the same for the following question: "Upgrade from <some library i'm using> to <Beta version of next release for library I'm using>?"
And the answer is a recommended no. Betas for 3rd party libs aren't like betas for websites. They could have major changes by the time the final release comes out and any code you write on top of a beta could become useless. To be honest, the most I would do with a beta release is just try and plug it in to my project to gauge how much work is going to be involved in upgrading once the final release comes out.
ExtJS have "adapter" for working with other javascript libraries. But why? Why not just use Ext Core?
UPDATE:
I know it was designed for YUI. But why it need an adapter?
ExtJs use ExtJs namespace, almost all other framework
use $, they should never conflict.
jQuery can work with others without any adapter. Why Extjs need it?
Is there any extra functionality provided by these adapters?
Am I missing anything?
I know there are some people here that were part of the early ExtJS Team so they probably will have a better answer, but basically ExtJS started as an extension to YUI where it was using the YUI Library to create a set of components to use.
Then it was modified using the adapter design pattern to support people that were already using jQuery or Prototype which had a few advantages: Fewer JavaScript to load on the page (if you already used jQuery you didn't need to load the YUI library) and let coders re-use their existing skills.
I can only assume that as the set of Components evolved it became easier to write a core adapter written in an optimized way for the ExtJS set of Components, and not rely on an external library for bug fixing, etc.
I would add that personally, I feel much more comfortable using the Ext Core as the adapter even though I prefer jQuery for a lot of DOM manipulations, but I think there are less chances of facing bugs while using the components if the base adapter is Ext Core.
UPDATE -
Based on your updated question, I think what you are missing is the separation from Ext Core and ExtJS.
ExtJS - A library of JavaScript Components (mainly UI but also Data classes, themes, etc.) that allows to build Rich Internet Application.
Ext Core - A cross-browser javascript library used to enhance web pages with dynamic changes (some Dom Querying, Dom traversal/manipulation, Ajax requests, etc.)
If you want to make the comparison into the jQuery world, Ext Core = jQuery and ExtJS = jQueryUI.
Now with jQueryUI, you NEED the jQuery library with it, because jQueryUI is built on TOP of jQuery.
With ExtJS, because it was built on top of YUI originally even before Ext Core existed, you can if you want use ExtJS WITHOUT Ext Core, but with the jQuery or YUI adapter for example.
You CANNOT ust ExtJS on it's own without any of the adapters, just like you can't use jQueryUI without jQuery.
I hope this answer your question.
ExtJS used to be built on top of YUI, so there were adapters created for operating with other libraries as well. I think as of version 1.1, ExtJS became a standalone framework, so these adapters are now optional. I think the adapters are now for people who are more comfortable with the basic frameworks of the other libraries, but want to use certain components of the ExtJS library (Ext's greatest strength is their UI widget toolkit, IMHO).
Take a look at this SO question too:
Is jQuery compatible with ExtJS?