How long have you worked at Sencha and what led you to join the company?
I joined Sencha in April 2011. That was one week before we shipped Ext JS 4.0 GA. I had used Ext JS 3 for a couple years, and it was a key step in leading me to join Sencha. Ext JS inspired me by delivering so much amazing functionality for the browser. At the time that browser was IE7, Firefox 3, Safari 3 and this new kid, Chrome, was just announced. Ext JS was doing all kinds of things that were previously the realm of native applications. What made up my mind though, was attending SenchaCon 2010. I decided I could not pass up the opportunity to work with the super-talented team that created Ext JS, so I submitted my resume a few months later.
What will be the biggest opportunities and changes in web development over the next 3-5 years?
One of the biggest opportunities I see is the transition to a world without what we call “legacy” browsers (basically, IE prior to 10). While it remains to be seen if Microsoft and its enterprise customer base will fully transition to an evergreen world, with IE11 and now Microsoft Edge, the future is bright. The incredible advances of HTML5 and CSS3 will be the raw material that all apps and web frameworks can expect and build upon. This will translate into better user experiences, smaller code bases, and richer, more performant user interfaces.
I believe the biggest changes will come from the continued advances of web standards and the blurring lines with native. For developers, new standards and capabilities are always exciting but have historically taken a long time to move from bleeding-edge availability to real-world usability. This transition time is decreasing significantly with the use of tools like transpilers and polyfills to address the “trailing-edge” and bring the future into the here-and-now.
I am particularly excited to see where Chrome’s WebApp Manifests for Android are going, as they are a real Web solution to bridge the “native gap” (vs, say, React Native). I hope they will encourage Apple to open up and allow web apps to do what their developers and users want. In short, web development in two years will look nothing like web development of two years ago.
How does Ext JS make it easier for developers to build web apps?
HTML5 and CSS3 are amazingly powerful building blocks, but they are also very low-level tools when you think about building real applications. Ext JS provides a comprehensive set of visual components (such as our world-class Grid) as well as the facilities to connect to your server-side data, your choice of application architectures (MVC, MVVM or both or neither), and much more. All built on a core that understands both mouse and touch events and multi-touch gestures to provide a unified development platform across all of these technologies.
It is easy to throw out words like “comprehensive” but let me illustrate. The Ext JS 6 Button component has about 35 button-specific, configuration options while Panel has over 50 options of its own. A brief, non-scientific look at other frameworks finds buttons with as few as 6 options and ranging up to around a dozen. That kind of thing might not come across in a product line-up (“Got Buttons? Check!”), but it directly affects how easy it is to build apps that do what you want.
Take that across the hundreds of classes provided by Ext JS and all that translates into a lot of code you don’t have to write, test, and maintain. With Ext JS, developers that love HTML5 and CSS3 (like we do) can focus their talent and energy on building awesome applications rather than rebuilding wheels or worrying about compatibility with the newest (and oldest) devices.
What advice can you give to new developers who are just starting with Ext JS?
When I was getting started learning Ext JS, I frequently read the source code. Especially for some method I was about to call for the first time. I would think, “I wonder what this method really does?” So, I would debug through it or open it in my IDE. When I was curious if a class provided some feature, I would open it up and search for related words. Just reading some of the core classes like Component, Container, and Panel was particularly enlightening.
The art form is to skim. I was not trying to understand everything in one go. I just wanted to get a feel for what was going on in the framework and see how some of the pieces worked. Over time, and after many such brief excursions, I started to understand how the framework was designed and how I should use it. The documentation for Ext JS has always been amazing, but no amount of documentation can give you the insight that comes from reading the code.
What’s your oddest obsession?
Other than reading source code, I supposed that would have to be reading books on quantum mechanics and astrophysics. My math never really made it into three-dimensions, so these topics are pretty much inaccessible to me… and yet fascinating. Like a moth to the flame.
I believe the biggest changes will come from the continued advances of web standards and the blurring lines with native. For developers, new standards and capabilities are always exciting but have historically taken a long time to move from bleeding-edge availability to real-world usability.