Upgrade from Ext JS 3.x to Ext JS 4 Beta? - extjs

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.

Related

FriendsOfCake/BootstrapUI migration from CakePHP 3 to CakePHP 4 with Bootstrap 3

We are upgrading our CakePHP 3 project to CakePHP 4 because we need to support PHP 8.1.
We are also using https://github.com/FriendsOfCake/bootstrap-ui plugin's HTML/Flash/FormHelpers to generate Bootstrap 3 styled HTML. We do not need the bake functionalities of the library, only the helpers.
The newer versions that are for CakePHP 4 core are using either Bootstrap 4 or 5. So do you guys have any ideas on how to migrate our project so we don't need to upgrade from Bootstrap 3?
I tried finding information about this but there is not really that much. Upgrading from Bootstrap 3 to 4 would cause rewriting huge amount of our HTML also.
You could try to configure the helper's template's to make the output Bootstrap 3 compatible, and possibly extend the plugin helpers to add/change functionality where necessary and possible.
If that doesn't suffice, then another option could be to use your own fork of friendsofcake/bootstrap-ui, either from the 1.x branch which you could try to make compatible with CakePHP 4, or from the 3.x branch which you can try to make compatible with Bootstrap 3.
I can't really tell you which one would be easier, you should probably expect having to invest quite some time into it either way.

Can I use Sencha with this Ext JS 1.0? How to upgrade from Ext JS 1.0 to the latest version?

I want to upgrade the enterprise application that was developed in Ext JS 1.0 to the latest version? does anyone know any idea about the process? it seems that some of the methods/properties have been changed, in that case, do I have to rewrite the whole system?
I'm afraid that you would to rewrite it, when this is 1.0 vs. 7.5.
When creating a new project and then adding the legacy code, at least the config files would work - but likely nothing would work. The problem with partial rewrites is that commonly there's clutter left, rewriting from scratch and migrating class by class leaves the least clutter. That's alike comparing Windows 1.01 to 11; when the current version wasn't written in an IDE, the code quality may also be low. sencha-cmd will in best case update the config files, in case it can even read them, but it won't update JS classes.

Can we use ExtJS4 without using MVC feature supported by EXTJS4?

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!

extjs 2.3 application using MVC Architecture

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.

Why mixing ExtJS with jQuery/YUI/Prototype/

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?

Resources