Sencha Ext JS today is an outlier, all but forgotten as a solution. Reasons discussed across the web vary greatly and can include that since Idera bought Sencha it is remarkably worse than ever.
However, I will digress from what many conclude.
With AniMap version 5 I am updating the UI from ground up. First done using Ext JS 7.5 using the classic toolkit, I am moving it to version 8.0 using the modern toolkit.
Why? The choice was simple. Components and MVVC built in. A theming method based on SCSS written in JSON style formatting. Components being primary in my choice. No other framework today I am aware of offers this kind of development.
React and Angular today are written using a majority of TypeScript. Yes, it simplifies development for some but it also adds another layer wrapped inside we as developers have little control over. TypeScript must be converted to JavaScript when the project is built.
React and Angular you need to create the view component. Ext JS already has a view component. For me as the sole developer of AniMap it just made more sense to use Ext JS.
AniMap being historical county boundaries, the development became a simple flow and more isolated code. Each is really a component itself.
The base view is OpenStreetMap, navigation and user data buttons, even the layer popup is all bound to Ext JS functionality. OpenStreetMap shows map tiles, Leaflet adds the shape files. Ext JS runs everything from there.
Navigation is a floated panel, the map toolbar is a floated panel, popup button and checkbox, simple HTML for the popup, a utility singleton that runs functionality. Each button in the tool bar, navigation, etc. are separate components, self contained with the us of floated components. Common access handled through a utility class.
This creates no crossing of functionality. Need access to all components, put in the utility. Only pertains to the component, it resides in the view controller and model.
The utility class creates variables with getter and setter simply through a config value creation.
I cannot think of handling this type of functionality using React or Angular. Not as simple and straightforward as Ext JS.
As for all the negative surrounding Ext JS, Sencha and Idera; well there is not one framework out there that is free from the negative reactions.
Choice of framework should always reside in the one best to fit the needs of development. There has never been a one size fits all and there never will be. Maybe AI can deliver? Actually I’d prefer that doesn’t happen because of how the landscape of security would change.