We embrace a wide range of tools, languages, and frameworks, and we are always tracking the latest trends and technologies in the world of HTML5, web, and Javascript development. That said, we have a few favorite tools that we use again and again to deliver polished and high-performance applications to our clients.

Hoist: our toolkit for rapid application development

Built on a tight integration of server and client technologies, Hoist provides an opinionated yet flexible foundation for building and operating enterprise web applications.

Support for soft-configuration, user preferences, activity tracking, and more come ready to use with client and server-side APIs and utilities. Developers and DevOps admins can adjust configuration parameters across multiple environments, view and search server logs, and access application-specific admin modules from within a dedicated and extensible management application.

Simple but effective activity, error, and performance tracking is integrated with core operations such as application loading and Ajax requests. The admin application allows for browsing, searching, and quick charting of activity data and daily visits. Monitoring APIs are provided by the server-side libraries to collect and check business-specific metrics. Runtime checks and alert thresholds can be configured and run via the admin client or monitored via JSON endpoints.

Custom components and plugins provide some large and small additions to the standard toolkits we deploy toolkit. Examples include a grid-based editor for streamlined CRUD interfaces, bundled and customized D3 visualizations, tools for dashboard layout and management, and specialized components for data-dense mobile views.

React: A framework for modern JavaScript UIs

The fundamental technology for the Hoist front-end is React, the innovative (and industry standard) framework for creating modern JavaScript UIs. React provides a declarative, flexible, and predictable glue layer for building components and applications. We provide a suite of highly customized React components for data manipulation, layout, and visualization. Using React, we are able to integrate best-of-breed libraries such as BlueprintJS, HighCharts, AG Grid and D3 seamlessly into Hoist.

Along with React, we make extensive use of MobX, an observable-based state management system. MobX is ideal for building highly Reactive applications with minimal boilerplate, allowing developers to focus on business logic, and user experience, rather than state management.

Grails: enterprise-ready Java servers for an agile world

grails-logoWe make extensive use of Grails, a framework for rapid web application development underpinned by enterprise-grade Java technologies such as Spring and Hibernate. Grails provides a flexible yet robust MVC architecture, strong support for data validation and transactions, and a wide ecosystem of plugins (including our own custom plugin, Hoist).

Grails is based on Groovy, a dynamic language built on Java that brings the expressiveness and power of modern scripting languages (such as Python or Ruby) to the JVM. Groovy is fully interoperable with Java, allowing us to integrate our clients’ existing Java services and APIs with a modern web toolkit.

With much of our development work in the financial sector, we’ve found the combination of a modern web framework and enterprise-grade Java support to be an especially winning combination. We’ve integrated our applications with industry-standard APIs from Bloomberg, FIX messaging feeds, Documentum, realtime pricing providers, and more.

Sencha

sencha-logoExHI also has extensive experience with JavaScript frameworks from Sencha. We have worked with ExtJS and Sencha for years, and are expert developers on this highly productive and groundbreaking framework.

While most of our new client-side development has moved to React, we have learned much from the highly declarative and modular style of ExtJS application development, and strive to bring many of its innovations and best practices into our ongoing work. Please don’t hesitate to contact us regarding Sencha and how Sencha apps might be adapted to the modern Javascript landscape.

Modern web tech: Javascript data visualization, HTML5 canvas, and CSS3

Hand-in-hand with Grails and React, we employ a range of other web technologies to bring our clients’ ideas to life. These include web-based data visualization libraries such as the D3 Toolkit and advanced charting libraries such as Highcharts. We’ve leveraged tools like these to build high performance custom components: canvas-based heatmaps that can visualize the performance and risk of huge portfolios at a glance, or charting tools to review multi-year performance histories or data-dense price charts.

We have embraced CSS tools such as Less and Sass, and can’t imagine working without them. We consider the visual presentation, iconography, and typography of all our projects to be essential components to their effectiveness and success.

Project spotlight: Zolio

Zolio is a client that’s bringing investment training and financial industry career prep to new levels of realism. We built their technology platform using the tools outlined above. We also help to manage their infrastructure on Amazon Web Services to provide a scalable, fast, and reliable service.

Zolio offers participants a rich simulated trading environment, allowing them to paper trade a portfolio of equities with other participants using realtime market feeds. The platform offers realtime P&L, order management, trade journaling, and more via both desktop and mobile applications. It also provides a rich set of search, analytics, and comparison tools for investment managers seeking the next source of trading talent.