IntelliSurvey goes far beyond asking you to “rate the experience on a scale of 1 to 10”.
It constructs advanced surveys and analyzes data real-time, and even long after a survey is taken. This premier online survey platform is meant to cater to professional market researchers and consultants.
To realize such complex surveys, the Ext JS application backs it up.
Table of Contents
Using Ext JS to the Fullest?
It so happens that IntelliSurvey leverages most of Ext JS’ libraries in its applications. The infinite grid is used to display survey respondent data that can easily be in the millions of rows.
The charting libraries are utilized extensively, as well as the D3 package, to help us visualize the massive amounts of data that we collect and to help maximize researchers’ time:
Ext JS animation and drag-and-drop libraries are great for achieving a level of fit and finish that helps our app shine and stand out, with minimal engineering cost:
This makes it easy to build very advanced and nested views while maintaining superior maintainability and extensibility of the codebase, plus scaling it across a myriad of developers.
Why IntelliSurvey Votes for Ext JS
We began using Ext JS back in the Ext JS 2 days, while our flagship application was still a Multi Page Application. There was no other grid library at the time that came even close to what Ext JS offered.
As so many others, initially, we leveraged the grid in select views to provide a superior user experience back when DHTML was still a hot term.
Over the years, our Ext JS efforts continued to grow and transition through versions. By Ext JS 4, a true Single Page Application paradigm was implemented and the sunset clock started ticking for our legacy Multi Page Application.
Initially, we focused our efforts on developing functionality, so the look and feel of our app was the “Classic Blue Theme”, all the way up until 2017:
As we continued transitioning through versions (we’re on Ext JS 6.5.3 now), it was easy to do a one-shot “visual refresh” of our application, achieving a completely custom look and feel without affecting any functionality. Currently, we extend from the vector icon Triton theme and (almost) all of our graphical assets are vector graphics that look exceptionally crisp on high-resolution screens.
While our users have traditionally been the desktop type, with our upgrade to Ext JS 6, we began to venture into mobile applications by utilizing the Ext JS Universal application architecture.
What Value Has Ext JS Brought Us?
It is hard to quantify the value of being able to take a “legacy product” that was being written for almost a decade using Ext JS 2, including hundreds of thousands of man hours invested, and then transition components into our Ext JS 6 Modern mobile offerings…almost seamlessly.
This was a great way to leverage our investment over the years and rather than having to build our mobile direction from scratch, we were able to reuse the code libraries that we had already built and tested.
However, the greatest value offered by the Ext JS platform is a complete, cohesive, and synergistic ecosystem that scales in breadth, depth, and across developers. We are able to build countless views with no redundancy; we can build deeply nested views; we can throw a dozen developers at an app without them getting in each other’s way. This is all assuming that the application is built according to Sencha’s best practices, of course, with sound component encapsulation, and a clean de-coupled architecture.
What Must New Developers Take from Here?
Everything in life comes with a cost and a reward. Ext JS commercial edition comes with a price and a challenging learning curve, yet the rewards are well worth it. It is easy to be hesitant in the face of these challenges. But consider that pursuing a “free” open-source stack, based on mixing-and-matching various libraries built by independent and non-cohesive 3rd parties, WILL also come at a cost.
The greatest expense will be trying to scale your app in-depth and across many developers. Whatever dollar amount you might save during the initial impressions will not outweigh the challenges you will face between disjointed systems with independent lifecycles and browser support. It is like buying a car that was put together from components that were built by different car companies who did not talk to one another. Sure, you can force it to work, but do you really want to?
How is Ext JS As of Today?
Never underestimate the value of the test of time. Recently, Airbnb announced that they were sunsetting the promising Facebook React Native, due to “technical and organization issues”. Ext JS has been around for more than a decade; that is more than most of the newer frameworks’ entire existence combined.
As with most things in life, it is impossible to judge the true grit of a technology until it has been around long enough, and has been adopted widely enough, and has been proven to be effective and reliable.
You cannot equate this to a hot newcomer backed by some huge company with lots of hype. You must always ask yourself – what is the merit of a particular technology? What does it solve that some other technology hasn’t already solved? You must always question whether a given technology is being pushed because of merit, or because of a certain positioning and developer loyalty (dependence) that a particular software giant is trying to achieve.
Ext JS was born out of merit and developer passion and only later was incorporated into a business model. Honed and perfected for years by some of the brightest minds, it is the most complete and mature web development framework. It withstood market trials and the test of time for over a decade as Sencha grew and got acquired. Most Fortune 500 companies use Ext JS. How many other web development frameworks can claim this?
To know about Ext JS’ latest progress, contact their support to guide you on the right path. Feel free to check Sencha’s forum and resource pages also.
IntelliSurvey is hiring talented Ext JS developers! Please see our careers page if you’re interested.
5MB of compressed JS?!? Ugh. Not exactly something to be proud of delivering into production.
Ivan Jouikov says
Why not? We use Dynamic Package Loading (Sencha’s) to deliver it in smaller chunks, but why shouldn’t I be proud of an application that large? It’s not easy to scale an application to this size, and I am proud of the team’s accomplishment.
By using Ext JS platform, will all the architectural issues be solved?
Ivan Jouikov says
The only architectural issues we face nowadays are the ones we create ourselves :). Also, there are growing pains for which we plan to utilize Sencha’s Dynamic Package Loading in the near future.
Grigoriy Mikhalkin says
As someone who transitioned ExtJS5 app to ExtJS6, i want to state that transition from ExtJS2 to ” Ext JS 6 Modern mobile offerings almost seamlessly” doesn’t sound realistic. Especially if consider that, at least, view part of Modern toolkit is absolutelly different from view part of Classic toolkit.
Also, not sure what’s meant by `synergistic ecosystem`. I don’t see any ecosystem around ExtJS.
Ivan Jouikov says
Regarding the transition: the truth is, some parts were more seamless than others. Many dataviews and storage mechanisms that were well decoupled transitioned without any changes, and I would call “seamless”. Others, e.g. Windows (which don’t exist in Modern), or API deltas, had additional friction, but impressively minimal.
As for “synergistic ecosystem” I mean that there are many pieces that talk to each other. For instance, consider the following logical pieces:
All of these pieces have much value on their own, but they also all interconnect and leverage each other’s features. A lot of this is not really revealed to a developer until years of experience with ExtJS which helps you realize its vastness and see how the dots connect. This is only a tiny list; I invite you to check this out: