How to upgrade Ext-4 to Ext-6 library - extjs

I want to upgrade Ext-4 to Ext-6 library and We want to change the theme of the form to Triton in project.

Here is official Sencha's guide on migration from ExtJS4 to ExtJS5, using Sencha CMD:
https://docs.sencha.com/cmd/guides/cmd_upgrade_five.html
And from ExtJS5 to ExtJS6:
https://docs.sencha.com/cmd/guides/cmd_upgrade_guide.html
Also, get to know what is Microloader, which is one of the major changes in ExtJS5: https://docs.sencha.com/cmd/guides/microloader.html
From my personal experience migrating from ExtJS5 to ExtJS6 was very painful. There's a lot of small caveats like, Ext.data.Store, in ExtJS6, starts loading data with delay, if config asynchronousLoad: false not specified. Generally, I would recommend you to look at release notes for every version of ExtJS, that was released after the version you currently use, although not every change will be specified there.

Related

Why should/should not I upgrade to react-native 0.60.0?

Currently, react-native has released version 0.60.0 and it has breaking changes but they have added many native supports in this version.
I am currently working on my 3 projects.
First Project Info
- react: 16.0.0-beta.5 => 16.0.0-beta.5
- react-native: 0.49.0 => 0.49.0
this project containes lots of third party libraries and some of them not event maintained by owners.
Second Project Info
- react: 16.6.3 => 16.6.3
- react-native: 0.57.8 => 0.57.8
this project containes 12 third party libraries.
Third Project Info
- react: 16.8.5 => 16.8.5
- react-native: 0.59.2 => 0.59.2
this project containes 7 third party libraries.
Currently, all three projects are working in debug mode (Didn't try Release mode).
now I want to know from the above-mentioned project which one should I migrate to react-native 0.60.0 (Why)?
What if I don't migrate to react-native 0.60.0?
What are the challenges If I migrate to react-native 0.60.0?
Please guide me.
Suggestions are Welcome.
Here is the specific version timeline that will benefit your app with the trade-off.
v0.59.x
Android 64bit, mandatory for play store publishing.
React hooks
new javascript core engine for android, make your app smoother.
v0.60.x
CocoaPods by default, easier to integrate 3rd party library especially native module!
AndroidX, this will break 3rd party library (even newer one and need time to update it).
Webview and Geolocation is removed.
Hermes javascript engine! Faster startup.
Suggestions
In my opinion, try upgrading to 0.59 is the safest sweet spot because without it, you can't publish your app on play store that requires your app 64 bit compatible. 0.60 can wait, as many of libraries (even newer one!) still not support 0.60.
Obviously project with 0.49 is the hardest one to upgrade because sometimes you need to fork not-maintained-library and fix it by yourself.
Project with 0.57 will be much easier to upgrade to 0.59 because the structure mainly not changes a lot. You can refer to https://github.com/react-native-community/rn-diff-purge
I am not sure about react, but I've had to deal with a similar situation with android SDK, .net core, angular (JS), Xamarin, and Cordova, which I think allows me to make an educated guess, but, beware it a general approach.
So;
upgrading
pros
in line with new features, big fixes, security fixes etc
up to date with latest hardware
small migration blocks (assuming you kept up with the update pase)
cons
possible lose of hardware compatibility on older hardware
need time for proper testing the exact behaviour (test automatisation helps)
not upgrading
pros
saves time now
keep compatibility with older hardware (for now)
your current release is well tested, no surprises
cons
will take more time to migrate in the future
missing out on new features
missing out on stability, security improvements etc.
pre release specific
In your case, since you are dealing with a pre 1.0 version?; you are a typical early adapter. This means you understand the risks involved and are aware of the high update frequency. I would therefore advise to update, but test it well.
... as a general approach ;-)

The best approach of using ReactJS with Sitecore 8.2

I am new to ReactJS and Right now working with Sitecore 8.2. In my current project, I have to use ReactJS with Sitecore.
Please suggest what would be the best approach to use it.
The approach with the most benefits for ReactJS development would be to upgrade to a newer version of Sitecore and use JSS. That will get you the most functionality (https://jss.sitecore.com)
There are some community members who have done ReactJS with older versions of Sitecore: https://www.sitecorenutsbolts.net/2016/07/23/Sitecore-and-React-It-IS-that-easy/
This even led to the module for Sitecore.React: https://marketplace.sitecore.net/Modules/S/SitecoreReact.aspx
This may get you to where you need for Sitecore 8.2
UPDATE: I just recalled that 8.2 also has the SXA JSON Device output that can be used similar to the LayoutService that is used by JSS. You can consume an entire page output as JSON and then consume that on your front-end.
You won't have the helpers that come with JSS, but for headless development with personalization it might be a middle ground.
Video overview of various headless options: https://www.youtube.com/watch?v=9RiUNvXHzJQ&list=PL1jJVFm_lGnwZup4L4BjITS2sKr4rpMfI&index=1

Can i use Angular UI Router in my project?

we are starting new project which uses angularjs as UI script.
I've gone through angular ui-router for https://github.com/angular-ui/ui-router.
UI-router module really great when compare to ngroute.
But I am afraid about the warning mentioned the ui-router's website homepage.
(Note: UI-Router is under active development. As such, while this library is well-tested, the API may change. Consider using it in production applications only if you're comfortable following a changelog and updating your usage accordingly.)
But i want to use this framework with angular.
Can anyone please suggest, will this cause any performance issue in future, much api will change, etc.
if the current version of angular-ui/ui-router works fine for you that is all you need.
will this cause any performance issue in future
why should it? since you are going to save your copy of the current version of angular-ui and it runs on client side you will never have problems (if you update angular-ui in 5 years of course you are going to have problems, if you never update it will ALWAYS work)
the note you quoted means that the current support of that library might change, so all you have to do(if they don't provide support for older versions) is to save a copy of those docs.

Squish for testing GUI developed using ExtJS

I am looking for automated testing tools to test a webpage heavily written using ExtJS. Initially I was using casperJS/phantomJS. Since, those tests work best in a CI environment and are super-light and easy to code. But I found a limitation that casperJs does not support TrifleJS for IE testing. It only supports phantomJS(chrome and safari) and slimerJS(firefox).
I need to test our web-app on IE9, IE10 and IE11 too. Squish seems to be very flexible and well-developed. I want to know whether it is suitable for testing the ExtJS web-app.
Thanks
According to the matrix at this link Squish does support ExtJS framework. Of course main problem of testing ExtJS apps is that all the element IDs are dynamically generated and one cannot rely on these for UI testing. However Squish provides XPath-based search that can be used instead.
I'm actively evaluating Squish for our ExtJS 4.2.x based web app so in a while if you interested I would be able to provide more insights but it does look very promising especially since you can use Eclipse-based plugin to build your tests visually

OnsenUI vs Ionic Framework

I want to start developing a mobile hybrid app using angularjs, css3 and html5. Was searching for a framework and found these two. Both are looking very nice however I was not able to get a good comparison between both of them. Can anyone please list down pros and cons for both.
A comparison between them in terms of scalable, out of the box components, speed and compatibility with Angular and devices targeted will be very helpful
One year has passed since both frameworks were released. Onsen UI is currently in stable 1.2 version while Ionic is in the last release candidate state.
I have worked with both of them so let me give you a short overview, I also wrote a much larger blog article, you'll find it at the end of this answer.
I won't go into much details about the core framework; if you have a previous AngularJS knowledge you will easily transition to Ionic or Onsen UI.
Both frameworks are built around AngularJS and they heavily depend on directives, you can also easily build your custom directives. Onsen UI also features a jQuery support (unnecessary if you ask me).
Both frameworks support Android 4+, iOS 6+ (some features are available on Android 2.3), Onsen UI also officially supports Firefox OS and desktop browsers. Ionic don't have an official desktop support, but it will still work (it will not be pretty, imagine ).
Ionic currently don't support Windows Mobile platform (it will have it in the future); Onsen UI support is currently in development (since November 2014).
Both frameworks support some kind of splitview feature so they can be used for table development.
Both frameworks have a distinctive beautiful looking flat UI. I prefer Ionic over Onsen UI look and feel, but this is a matter of personal taste. Both default themes look iOS 7 like.
Onsen UI supports native looking themes for Android and iOS. Ionic framework uses the same theme for all platforms, but some features will depend on the platform (for example tab look and feel)
Both frameworks have a working theme builder.
Ionic supports SASS while Onsen UI is built around Topcoat CSS library.
Both frameworks have a large widget support (directives)
Onsen UI has a better documentation. It is separated at two different locations. First one is “Components” where you can see different directives and each one has a working example you can use and replicate. Second part is a “Guide” where you are guided through the application creation process.
Ionic has a disorganized documentation (heavily fragmented). It lacks a real “getting started” tutorial, even if you have previous AngularJS experience. It shows you pieces, but not how to connect them correctly.
On the other hand Ionic has much larger community so you will easily find problem solutions.
Ionic framework has a great official forum + large StackOverflow community. At the same time, Onsen UI uses only StackOverflow as a help center (I would call this a fail).
Onsen UI has an HTML5 IDE called MONACA IDE (great tool), Ionic IDE is currently in production; you can participate in beta test.
Ionic has a growing 3rd party plugin community (for example date picker); I couldn't find any 3rd party Onsen UI plugin
I wrote a much larger article covering Ionic / Onsen UI changes, find it here.
Since both frameworks are pretty new and not very popular (yet!), I don't think anybody has taken the time to do an extensive comparison between the two. I don't even think the final set of out of the box components is determined by the developers themselves yet, active development is still going on.
As for compatibility, hybrid apps run in the native browsers of the devices where they are installed on. Both frameworks need CSS3, so old phones will never be supported by either of the frameworks.
The OnsenUI-tag here on StackOverflow is the only support OnsenUI offers (currently), and at the moment of writing there are 0 questions/answers. Ionic has a very active forum on their website + some questions/answers here on SO.
I think having an active community backing up a framework will eventually lead to a better framework. Therefore I'd go for Ionic. Personally, I find Ionic's standard-design more appealing as well, but you should judge that for yourself.
Ionic
more lean to Angular style like routes,controllers and template and it's structure is kind of complicated in first hand.
command like "ionic start myApp tabs" still don't available in onsenUI
Material Design like "Cardboard" are available
OnsenUI
simpler structure, easy to start
couple with Monaca IDE, some of features are only available only if you use Monaca. otherwise you have to create things by yourself.
supported ios8 design recently
Ionic has a more mature feature and CSS component set and out of the box. Injectable delegate services, representing the UI elements (directives) gives you more control over UI/UX interactions. The development community is (currently) very active and it's gaining traction.
I cannot properly speak to speed/performance between the two but know both are optimized for mobile.
As I develop more, I will report back with comparisons. Good luck.
Just started using ionic after some time native development. Must seriously say it has some great cli features! For example you can start your project from a gist in my opinion this is nice to have for poc's
Havent been able to test everything but what i've seen really impresses me!
It's well documented in there own way, active community and it keeps getting better.
Just wanted to share my thoughts for what it's worth
Im working in Ionic Framework during 1 year with a real project, i have created a game with Ionic, its very special because hybrid app is not best choice if you want create game. When you develop a game you need performance !
However if you develop simple game with few animation, its good.
Here is my game in playstore, its a memory game "Memory Party" :
https://play.google.com/store/apps/details?id=fr.jhaccoun
Why Ionic is a good choice :
very very very good documentation (tutorial, forum, article,...)
stable (ionic 1), you can find many apps in store
Easy to develop (ionic come with many tools to help the developer, you can develop and test in live in your phone without deploy thanks live reload
Many cordova modules are available
you don't need mobile skills, just angularjs, html, css...
Ionic provide beautiful components and you can custom the components if you like
I found Ionic the best for some reasons, like their community support and the documentation. I am still evaluating the onsen from a long time but still havent found the one unique thing that will drift me towards it compared to Ionic

Resources