Crestone Digital is located in Colorado and offers full-service software solutions including enterprise solutions for browser, mobile, cloud, business intelligence, geospatial, and big data applications. The company works with clients to expand capabilities of existing software or enhance the user experience. The team uses Ext JS to accomplish these goals, and they are passionate about maps and logistics, with years of experience developing custom mapping solutions using CARTO, Leaflet, Google Maps, Open Street Maps, and other technologies.
Table of Contents
Why We Chose Ext JS
The superior quality of components that are available in Ext JS is the main reason we chose to use this Sencha product. Ext JS enables our team of developers to quickly build applications that are cross-browser compliant. Most of the Crestone Digital core team members have degrees in Mathematics or Computer Science, and Ext JS has given our team the ability to primarily focus on programming, instead of writing HTML or CSS. This shift in focus is key for the Crestone Digital team. As consultants, our team is faced with new challenges on a daily basis. We’ve found working with other frameworks is typically time consuming and more difficult to build large scale MVC and MVVM applications.
Our team works a lot in the geospatial world and have CARTO maps integrated in most of the applications that we’ve built. In order to easily work with CARTO and Ext JS, our team needed a bridge to make it easy to still use native stores, models, and visual components while working with maps. During SenchaCon 2016, Crestone Digital announced an open source library that developers can use to integrate maps directly into any Ext JS application. This library supports MVC and MVVM designs and provides access to use CARTO, a mapping software solution. With our Ext JS / Carto library, you can easily add maps, data layers, and visualizations in your Ext JS projects, by using the power of binding to integrate these components with the native components. The Carto maps and stores play well with components like grids, forms, combo boxes, and more.
Business Value of Using Ext JS
Sencha seems to have struck that delicate balance between immediate usability and ease of extensibility. Ext JS components are easy enough to use that a full-fledged application can be shelled out in minutes, yet they are designed with extensions in mind. The hierarchical structure of the architecture lends itself to the creation of new components and fresh functionality. The more in-depth we get into the design of our own libraries, the more we appreciate the foresight of Sencha’s developers.
Our Advice to New Developers
- Read the documentation: Understanding what properties, methods, and events mean and how to use them is key to developing a good application. There are a lot of components and understanding which components inherit from others helps greatly when trying to debug.
- Take one of the training courses: Sencha has done a great job building a training program that has valuable information that can’t be found in the docs or kitchen sink.
- Do not over nest: The most common mistakes our team has seen starting out is to over nest panels inside of panels. While in most cases it does not break the UI, it does bloat the DOM and can impact performance.
- Learn how to use MVVM and binding: Coming from an MVC background, it was tricky to understand when to use binding over events. When building our own components, our team has found there are a lot of advantages when you understand how to really make the most of these features to simplify development.
Ext JS is a full-featured and extendable enterprise development framework. For those concerned about licensing costs, our takeaway is that labor costs typically far exceed them. We also hear that Ext JS is heavy and for those that tried earlier versions of Ext JS, you should take another look. Sencha Cmd does a great job compiling down the build to the smallest code needed to run the app, and we are really happy with how the product has evolved.
Ivan Jouikov says
Great looking app, guys! I love the CARTO integration; thanks for sharing your library.
Rafael Carvalho says
Fantastic Job. Congratulations!