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.
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 Java for an agile world
We 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.
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.