eVestment provides a flexible suite of easy-to-use, cloud-based solutions, built with Sencha Ext JS, .NET Services, and Elasticsearch, for institutional investment professionals. Through our data and web applications, we help over 2,500 clients identify and capitalize on global investment trends, better select and monitor investment managers and more successfully enable asset managers to market their funds worldwide. Our suite of analytical tools is used by top consultants, institutional investors, traditional asset managers and hedge funds worldwide.
Why We Chose Ext JS
At the beginning of 2012, eVestment acquired two firms with the goal of migrating all clients to a single, global platform and data cloud. We had a desktop-based application, a robust web application built with ASP.NET and a smaller web application written with Ext JS. We decided on a strategy to incorporate the best features from the three solutions into a single web-based platform.
- Ext JS offers a robust component library that we could readily use. The grids, buffered scrolling, and drag and drop panels are very slick and are among the many Ext JS controls we have employed in our platform.
- Ext JS makes it easy to reuse our existing business logic and to integrate third party and existing content and libraries with our new platform.
- Ext JS also offers compatibility with lots of browsers and browser versions.
- We value the support and training that Sencha provides.
- Members of our development team already had experience with Ext JS.
Here are some examples of how we leveraged the Ext JS framework to build the eVestment platform.
Tab Browsing: Our clients often have several investment profiles open simultaneously, and in previous versions of our platform, this required multiple windows to be opened. Users could have only one analysis module open at a time as well. Tab browsing provides clients with a convenient and user-friendly mechanism to quickly switch between multiple profiles or analyses which improves client productivity.
Drag and Drop, Events: Our application design allows a user to drag and drop investment strategies to customize a portfolio or the onscreen analysis panels. Each panel on the screen is listening for events and content is immediately refreshed via asynchronous operations. This interface provides a very fluid and interactive experience that our users are very impressed with. Drag and drop is used throughout the platform, including our search feature, which allows a user to drag a target product to open an interactive profile or to augment an existing analysis.
Tree Structure: The eVestment platform provides a tree structure in the primary workspace which allows users to organize investment strategies. The structure is collapsible, searchable, and provides a familiar interface that responds quickly, much like a local machine would.
Search: The eVestment platform provides a high performance search feature that leverages a variety of Ext JS components such as drag and drop and charting (see histogram controls).
Business Value of Using Ext JS
Using Ext JS at eVestment has helped us on several fronts, including:
- High performance, responsive user interface: One of the biggest benefits of Ext JS and the single page application architecture is how fast and responsive our platform is relative to the previous version. Our flagship profiles and search features now load with sub-second speed, despite the fact that the user is often searching across hundreds of thousands of products and several thousand data points. We have the most sophisticated financial professionals in the world using our platform and time is money, so speed is extremely important to our users.
- Time-to-Market: Ext JS has enabled our teams to quickly prototype concepts using mock data — allowing business stakeholders and clients the opportunity to provide feedback that can be easily incorporated into the development cycle. For example, we were able to develop a high-fidelity liquidity simulator concept with Ext JS and mock data during a two day hackathon. The same concept would have taken quite a bit longer with other frameworks we have leveraged in the past. Once our stakeholders green-lighted the concept, we were able to plug in data and launch a new module in rapid order.
- Developer productivity: The MVC model and use of mock data in the Ext JS stores has also increased efficiency by allowing our development teams to divide project tasks. For example, we can have a team working on the front-end while we have a separate team working on the service layer. Additionally, because the Ext library is so extensive, our team spends less time hand-rolling or modifying custom jQuery and more time focusing on new features and products for our clients.
- Higher Quality: In the past, we often spent weeks doing styling tweaks, browser testing, and UI bug fixes before launching a new solution. The Ext JS libraries are very tight and well-tested, so we spend a lot less time building user experiences and get higher quality. Using a custom Ext JS theme has dramatically increased the consistency between our modules and solutions.
Our Advice to New Developers
New developers should invest in the training classes available from Sencha, and they should bookmark the Sencha documents. Ext JS is powerful, but given how comprehensive the framework is, developers should expect a learning curve. The training resources are invaluable and worth the time investment. We benefited greatly by having our developers attend the four-day on-site training, as well as the online training. Regardless of whether you take advantage of the training, familiarize yourself with the sample apps and documentation — they are comprehensive and excellent.
Using Sencha Ext JS has allowed eVestment to rapidly re-platform our web-based application using current UX/UI patterns. Our team now has a lot more time to focus on functionality for clients instead of spending time on creating and debugging low-level components and frameworks.