Startaê is a company opened to learn, test and create new applications using brand new technologies. After experimenting several programming languages, frameworks and tools, we got to a simple stack we use in our projects.
The tools we use for Frontend development vary according to the project’s nature, but our suite of technologies includes:
Ruby on Rails
Middleman is a gem that brings an organized structure for the project and it’s easy to configure, customize and deploy. It improves our productivity. Its structure is somewhat reminiscent of Rails, because it works with layouts and specific folders for project assets. Our website was created using Middleman and the following other projects: VPS website, Startaê’s blog, Superquadra’s blog, HUB project website.
Small choices are made for you: Ember follows Convention over Configuration, and the Don't Repeat Yourself principle. It is a highly opinionated framework that provides good defaults and cultivates shared abstractions so developers are free to focus on bigger and better ideas.
When it comes to Data Visualization, D3 is the main resource we have as it enables the creation of dynamic and interactive graphics/charts for modern browsers. Here are some examples of what we have done using this library.
D3 also has a big active community of users, which gives us access to many examples of charts as well as the library constantly evolving.
They act as an abbreviated version of markups commonly used by us. Also, they bring consistency, standardized structure, clean code and save the time we would spend standardizing the code.
We use three preprocessors:
- Sass, that is compiled to CSS
- Ruby Slim, that is compiled to HTML
Sass is the most mature, stable, and powerful professional grade CSS extension language in the world. It's well-known as CSS with superpowers.
We can use features that don't exist in CSS yet like variables, nesting, mixins, inheritance and other nifty goodies that make writing CSS fun again. Sass has been actively supported for about 9 years by its Core Team.
Slim is a template language that we can reduce the syntax to the essential parts without becoming cryptic. Using Slim, the bureaucratic part of the HTML is removed from the standard template (
>, closing tags, etc…). It reduces time and complexity.