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 ExtJS plugins provide some large and small additions to the standard Sencha framework 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.

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: a Javascript framework for data-intensive apps on desktop and mobile

sencha-logoWe use two Javascript frameworks from Sencha for much of our web application development: ExtJS for desktop web projects and Sencha Touch for mobile phone and tablet support.  These frameworks provide strong MVC and MVVM architectures, theming support, and rich and extensible component libraries – all essential tools to developing and delivering HTML5 apps with “native” functionality and performance.

Many of our active projects are now on ExtJS5, the latest release of the ExtJS framework, and we’ve enjoyed the ongoing architectural and performance improvements of the Ext platform. We have worked with ExtJS (and Javascript in general) for years, and understand deeply the best practices and pitfalls around developing Javascript applications with a large codebase. This experience allows us to produce rich app experiences that remain fast and maintainable as they grow with our clients’ needs.

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

Hand-in-hand with Grails and ExtJS, 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 InfoVis 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.