-
Notifications
You must be signed in to change notification settings - Fork 0
Introduction to Development
Sterling UI is a web-based data visualization interface, initially developed with the goal of providing better visualization capabilities for Alloy. The Sterling UI framework, however, has since been generalized so that other tools can leverage its interface.
Because Alloy has been the initial driving force behind Sterling, the interface has generally been built to provide visualizations for relational data, things like graphs and tables. However, there is nothing to stop a developer from creating any type of visualization that is possible using JavaScript from within a browser environment.
From the end-user's perspective, Sterling is a Java executable that looks almost identical to Alloy, but has the added feature that visualizations can be performed in the web browser. From the developer's perspective, Sterling is composed of two main components, each of which resides in its own GitHub repository.
- Sterling - This is a fork of Alloy and is where the end-user's JAR file comes from. In this documentation, when we refer to Sterling, this is what we're talking about.
- Sterling UI - This is where you are right now, and is where the entire web-browser user interface is created. In this documentation, when we refer to the Sterling UI, this is what we're talking about.
Sterling UI is built on the shoulders of giants. The major players, and the ones with which you'll need to be familiar in order to develop Sterling UI are:
- TypeScript: A typed superset of JavaScript
- React: A JavaScript library for building user interfaces
- Blueprint: A React-based UI toolkit for the web
If you are unfamiliar with either, I highly recommend these tutorials:
- TypeScript in 5 minutes
- Tutorial: Intro to React
- React Main Concepts: These pages from the React website contain the answer to just about any question you'll ever have about React, and are very well written with plenty of examples.
The generic views as well as the Alloy views make use of a number of JavaScript libraries as well: