There’s something distinctive—something special—about your product. At Crema, we pick the right supporting technologies to take care of the basics, allowing us focus on that something special. Our main goal is to create something that is reliable, of good quality, but also gets your product in front of customers faster, ensuring you’ll be ready to hire your own product team when the time is right. Because of that, we lean heavily on out of the box frameworks that handle a lot of the heavy lifting for us, have great communities behind them, and allow us to focus on those special parts of your application.
With our move to using React for our front-end, that means we’re creating RESTful API’s that communicate with the front-end using HTTP requests to GET, PUT, POST, or DELETE data. Whoa. Slow down. What?! That’s just a fancy way of saying that we’re moving data around with some well-proven industry standards.
An API is just code that allows two software programs to communicate with each other. A RESTful API uses representational state transfer (REST) technology, which is lightweight, fast, easy to work with, and used by most web and mobile applications. The frameworks we work with allow for us to quickly build these API’s for the front-end to consume, and ensure your data is transferred safely.
So how do we do it?
For many years at Crema, Ruby on Rails was our go-to when creating production ready web applications, with an out of the box web framework, we were able to move quickly to deploy testable software. As we started to move our web applications to client-side frameworks like React and introducing more mobile experiences, we were still able to leverage all of the great things about Ruby on Rails to continue serving up that sweet data layer with JSON responses for the front-end to consume. It’s easy to use, easy to learn, and has some of the best and broadest community support behind it. You’ll have no trouble hiring your own crew to take the reins when the time comes, and until then, it lets us move fast and make the most of your runway.
As we expand our offerings to more large scale, high volume applications, we’re also exploring new technologies that might meet these goals better. Every other Friday we have a day where we innovate. We learn new technologies and better ways of doing things. With that, comes experimentation with frameworks that will make sense to meet these goals. This includes Elixr/Phoenix, a functional programming framework that brings in the ease of Ruby on Rails, with the proven performance and scalability of Erlang. We’re starting to become huge Functional programming nerds, so this is scratching multiple itches for us as we dive in further.