Over a million developers have joined DZone.
{{announcement.body}}
{{announcement.title}}

Cloud 66 for Rails: New Rack Frameworks (Part 2)

DZone's Guide to

Cloud 66 for Rails: New Rack Frameworks (Part 2)

Cloud 66's support of most Ruby Frameworks allows them to provide additional customer choices to test, build and deploy applications across the full stack.

· Cloud Zone
Free Resource

MongoDB Atlas is a database as a service that makes it easy to deploy, manage, and scale MongoDB. So you can focus on innovation, not operations. Brought to you in partnership with MongoDB.

Rack Support For Non-Rails Frameworks

The Rack ecosystem is booming and we love engaging with the Rails community. In general, we'd been hearing lots of feedback around support availability for the 'other' Ruby/Rack frameworks out there.

In response to this demand, alongside the votes we received on our user voice forum (thanks for voting!), we're excited to announce that Cloud 66 now supports most of the Ruby frameworks. This allows us to provide additional customer choice to test, build and deploy applications across the full stack using these new frameworks.

Well IsIt Ruby? Rails? Or Rack?

First, it's worth defining these terms:

Ruby is a dynamic, reflective and object- oriented programming language.

Rails it the web application framework written in Ruby.

Rack provides a minimal interface between web servers that support Ruby and Ruby frameworks. By wrapping HTTP requests and responses, it unifies the API for web servers, web frameworks and software into a single method call.

This means Rails is one of the frameworks that supports the Ruby language and Rack includes all the frameworks that support the Ruby language. Clear as mud? : )

So if Rails is just one of the Rack frameworks, why do we refer to "Rails developers" rather than "Rack developers"? The answer is simple; Rails is the most popular Rack framework. 90% of Ruby developers use Rails, which is likely to be the main reason why they refer to themselves as ‘Rails developers’ instead of ‘Rack developers’.

Rack Frameworks: An Overview

I've provided a brief description of each Rack framework below to give you a sense for how they differ. From a usability perspective, we've cross-referenced each against the Github and RubyGems website to determine the number of stars, contributors, and downloads. The information was verified on 8th of March, and therefore is likely to have increased since then.

Sinatra

Sinatra is a great Ruby framework for beginners due to its small interface. A simple micro-framework, which acts as a thin layer on top of Rack, Sinatra sits somewhere in the middle between Cuba (micro framework) and Rails or Hanami (full stack frameworks). Sinatra is one of the frameworks that differs to the typical Rack, but it's worth noting that it still doesn’t cover the full stack.

Sinatra: 
Github stars: 7 704
Github contributors: 247
RubyGems website downloads: 31 008 718

Tweet: Use #Sinatra for your applications with Cloud 66 #Rack #Ruby

Padrino

This is a lightweight framework, which is an extension of Sinatra. Padrino is a perfect option for when your existing Sinatra app starts to become more complex, and perhaps needs the support of a full-stack framework - despite still being ‘tiny and fast. clean and compact. creative and concise.’

Padrion: 
Github stars: 2 665
Github contributors: 196
RubyGems website downloads: 442 292

Tweet: #Padrino is a perfect option for when app requirements start getting more complex #Ruby #Rack

Cuba

New to Cloud 66, this is a lightweight micro-framework (even lighter than Sinatra), aimed at handling HTTP requests. It’s great to use for small endpoints, as it’s super fast and gives you full control over the entire stack with the flexibility of adding extra gems and complexity as needed.

Cuba: 
Github stars: 1 103
Github contributors: 18
RubyGems website downloads: 79 901

Tweet: #Cuba a micro-framework, perfect to handle HTTP requests #Ruby #Rack

Grape

New to Cloud 66, this micro-framework for rapid API development complements existing Rack frameworks by providing a simple DSL to easily develop RESTful APIs. Grape has built-in support for common conventions, including multiple formats, subdomain/prefix restriction, content negotiation, versioning and more.

Grape: 
Github stars: 7 079
Github contributors: 242
RubyGems website downloads: 2 032 138

Tweet: Try #Grape a micro-framework for rapid API development supported by Cloud 66 #Ruby #Rack #API

Hanami aka Lotus

Another new framework to be supported by Cloud 66, Hanami is a full stack framework and a fantastic alternative to Rails. It has a simple and explicit architecture with 7 different micro-libraries available to cover the entire stack of your application.

Hamami: 
Github stars: 2 591
Github contributors: 75
RubyGems website downloads: 2 439

Tweet: #Rails alternative: #Hanami is now supported by Cloud 66. Check it out! #Ruby #framework #Rack

Praxis

Also new to Cloud 66, Praxis is a lightweight framework for designing and building APIs. Praxis helps Ruby developers in aspects relating to building services, as it's flexible and componentized. This allows developers to choose which parts they want to use, and which not and pick other technologies to integrate with.

Praxis:: 
Github stars: 230
Github contributors: 17
RubyGems website downloads: 17 841

Tweet: Check out #Praxis, a light framework for designing and building APIs #Ruby #Rack

Volt

Another new addition, Volt is a reactive web framework where your Ruby code runs both on the server and the client (via opal). The DOM automatically updates as the user interacts with the page, intelligently updating only the nodes that need to be changed. Data can easily be stored on the page, in a cookie, or in a database.

Volt: 
Github stars: 3 188
Github contributors: 61
RubyGems website downloads: 101 291

Tweet: Try #Volt a reactive web framework supported by Cloud 66 #Ruby #Rack #Reactive #Web

Nancy

New to Cloud 66, Nancy is a lightweight framework for building HTTP services on .Net and Mono. Nancy is designed to handle DELETE, GET, HEAD,OPTIONS, POST, PUT and PATCH requests and provides a Domain Specific Language (DSL) for returning a response with just a couple of keystrokes. It stays out of the way and provides a ‘super-duper-happy-path’ to all integrations.

Nancy: 
Github stars: 3 821
Github contributors: 239
RubyGems website downloads: 5 751

Tweet: Build your #HTTP services on .Net and Mono with #Nancy, the lightweight #Ruby framework #Rack

NYNY

This is micro-web-framework for testing applications on modern browsers. It can be used inside all Rack-based frameworks. New to Cloud 66, NYNY uses Journey for routing (Rails’ router), which makes its routing logic very powerful and reliable - more so than most micro-frameworks.

NYNY: 
Github stars: 261
Github contributors: 8
RubyGems website downloads: 16 755

Tweet: Test your Ruby application on any browser with #Nyny at Cloud 66 #Ruby #test #Rails #Rack

Ramaze

Ramaze has also been added to Cloud 66, and is a lightweight framework based on MVC architecture. It provides the ultimate range of tools that would help you achieve custom-tailored results. Ramaze philosophy could be express in the mix of KISS and POLS.

Ramaze: 
Github stars: 320
Github contributors: 49
RubyGems website downloads: 124 144

Tweet: Check out #Ramaze, a lightweight Ruby framework #Ruby #Rack

Trailblazer

A lightweight framework that's described as a ‘thin layer on top of Rails”, Trailblazer is now supported by Cloud 66. It's a set of patterns that gently enforces encapsulation, an intuitive code structure and gives you an object-oriented architecture. Trailblazer does not contain callbacks, nested attributes, validations or domain logic.

Trailblazer: 
Github stars: 1 642
Github contributors: 20
RubyGems website downloads: 20 285

Tweet: #Trailblazer a 'thin layer on top of Rails' now supported by Cloud 66 #Ruby #Rack

Goliath

Is new to Cloud 66, and is a lightweight framework for the asynchronous (non-blocking) processing of web requests, designed for bare metal performance, Rack API and middleware support. The main advantage of Goliath main is its ability to untangle complicated callback-based code into linear execution.

Goliath: 
Github stars: 2 303
Github contributors: 71
RubyGems website downloads: 173 172

Tweet: Try #Goliath (a Ruby framework) with @packethost (a bare metal cloud) with Cloud 66 #Ruby #Rack

  • If you're interested in deploying your app on bare- metal with Cloud 66, watch our webinar where we give you a step-by-step overview of Packet.*

We hope you enjoy deploying Cloud 66 stacks with the newly added Rack frameworks. Please, get in touch, and let us know how you get along. We'd love to hear more about your awesome projects.

If you missed Part 1 of this series, you can access 'Cloud 66 for Rails: the why and the how (Part 1)' here to explore the benefits of using Cloud 66 for Rails.

MongoDB Atlas is the best way to run MongoDB on AWS — highly secure by default, highly available, and fully elastic. Get started free. Brought to you in partnership with MongoDB.

Topics:
docker ,ssh ,deployment ,strategy ,ruby ,rails

Published at DZone with permission of Kasia Hoffman, DZone MVB. See the original article here.

Opinions expressed by DZone contributors are their own.

The best of DZone straight to your inbox.

SEE AN EXAMPLE
Please provide a valid email address.

Thanks for subscribing!

Awesome! Check your inbox to verify your email so you can start receiving the latest in tech news and resources.
Subscribe

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}