<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Sylvain Marty</title>
    <description>The latest articles on DEV Community by Sylvain Marty (@martyonthefly).</description>
    <link>https://dev.to/martyonthefly</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F2903%2F10723351.jpeg</url>
      <title>DEV Community: Sylvain Marty</title>
      <link>https://dev.to/martyonthefly</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/martyonthefly"/>
    <language>en</language>
    <item>
      <title>Why should I not choose Ruby on Rails ?</title>
      <dc:creator>Sylvain Marty</dc:creator>
      <pubDate>Sun, 03 Sep 2017 17:17:06 +0000</pubDate>
      <link>https://dev.to/martyonthefly/why-should-i-not-choose-ruby-on-rails-</link>
      <guid>https://dev.to/martyonthefly/why-should-i-not-choose-ruby-on-rails-</guid>
      <description>&lt;p&gt;Hi everyone!&lt;/p&gt;

&lt;p&gt;Over the past months, I have worked on backend specifications for a personal project. I must now choose the framework I’ll be using.&lt;/p&gt;

&lt;p&gt;On the one hand, I’ve been working on a system built with Java &lt;a href="https://spring.io/"&gt;Spring&lt;/a&gt; for the past 2 years, and I have been wondering if knowing a technology is a good enough reason to chose it over other languages and/or frameworks. Still, I know that Spring is stable, fast and adapted for big project and can save me a lot of time.&lt;/p&gt;

&lt;p&gt;On the other hand, I know that some big companies use &lt;a href="http://guides.rubyonrails.org/getting_started.html"&gt;Ruby on Rails&lt;/a&gt; to build their services (like &lt;a href="https://stackshare.io/rails/in-stacks"&gt;Gitlab, Airbnb, 37 Signals, etc.&lt;/a&gt;). From what I know, RoR seems to be a stable and strong framework. &lt;/p&gt;

&lt;p&gt;I looked at some benchmarks between those two on the net (links at the bottom), but I find myself more lost than I was previously.&lt;/p&gt;

&lt;p&gt;Here’s my question: &lt;strong&gt;Why should I not choose Ruby on Rails ?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Here are my project’s needs:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;must deal with a big amount of data and entities&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;will connect with a GraphQL API (more than 70 endpoints)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;public and private endpoints over HTTP and HTTPS&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;OAuth2 authentication provider&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;probably a few WebSocket endpoints too&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;For me, this framework choice is very important because it will help me decide &lt;em&gt;what language I need to use to make internal and external services around the final product&lt;/em&gt;. For example, if in the future I need to make a program to control hardware or device like printers, I will use the same language I used to develop the backend in order to make maintenance easier.&lt;/p&gt;

&lt;p&gt;I know my question isn't very specific so maybe a list of features I’m interested about will help:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;maintenability&lt;/strong&gt;: code quality, number of line of code&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;reusability&lt;/strong&gt;: make the code more modular, generic&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;performances&lt;/strong&gt;: HTTP(S) request (JSON or HTML responses), databases&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;templating&lt;/strong&gt;: what engine can I use (what is the best ?)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;unit testing, code coverage and Selenium test&lt;/strong&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;scalability&lt;/strong&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;continuous integration&lt;/strong&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Some benchmarks found on the web :&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="http://vschart.com/compare/spring-framework/vs/ruby-on-rails"&gt;VSChart&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://www.slant.co/versus/158/1233/~spring-boot_vs_ruby-on-rails"&gt;Slant&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://stackshare.io/stackups/rails-vs-spring-boot"&gt;Stackshare&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Credits :&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;cover image from &lt;a href="https://perfectial.com/blog/is-ruby-on-rails-dead/"&gt;perfectial.com&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;A great thanks to Thierno which helped me to review this article &amp;lt;3&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>discuss</category>
      <category>rails</category>
      <category>programming</category>
    </item>
  </channel>
</rss>
