Is installing Ruby really that painful for non-Rubyists?


#1

Continuing the discussion from Are developers creating Ember apps outside the context of Rails?:

After reading this post and talking to a few people on IRC I’m starting to think that quite a few people might get turned off from using Ember just because installing Ruby is a painful process (for them).

The general recommendation I’ve been seeing so far is to use rvm, which seems to bring some issues. I’m personally using rbenv and installing new rubies every couple of days without any issues, but that’s because I’m used to it.

Maybe we could put together a small this is how to get Ruby on your machine so that you can compile Ember kind of tutorial, which would cover all of the things like picking the right version, installing openssl, etc.


#2

Installing Ruby is a painfull process for me and reminds me the same level of accidental complexity as with Java. However, it did not turned me off from using Ember: I just avoid totally Ruby and use only pre-packaged libraries.

Meanwhile, I appreciate the Ember team leverage its knowledge of RoR conventions and concepts to create a backend-agnostic client side framework.

My suggestion is to cut the dependencies to any Ruby framework or tools, and enforce instead the ones to Javascript.

For instance, I would love a 100% javascript build pipeline for my client side module, and keep my 100% Erlang build for the server side. At the end, I only use technologies relevant to me (JS and Erlang) without needing to install and/or know other technologies.


#3

Building ember-data was not exactly all kittens and rainbows. However, I’m sure this will change when there is a 1.0 release and it will be as simple as downloading an ember-data.js from Github.


#4

One of the reasons I built ember-tools was to allow a full-js stack for ember development. The entire build process is node, no ruby in sight. It ships with ember-data pre-packaged too.

I don’t think installing ruby is hard, but I kind of :\ whenever I see rake files in JS projects (which is totally dumb, because I too prefer rake/ruby for task/file management).

What tools the dev team uses to build the JS file shouldn’t really matter though, I don’t think; nobody needs to install ruby to use ember.


#5

I fully agree with you @ryanflorence, and I think ember-tools is heading in the right direction to help JS beginners like me create their application build pipeline.


#6

Just as a side note: Not so long ago each and every build process out there was based on XML, no matter what you where running.

Switching out the Ruby build process for a Node build process to me is pretty much just switching the window blinds.

There are other environments than Node and Java, and I’d argue there are a lot people who do frontend develoment don’t do any server-side JavaScript dev so they don’t automatically have node installed.

I know to many of us it feels like Node is everywhere (I feel the same about Ruby btw), but it isn’t and requiring people to install Node is in many cases as bad as requiring them to install Ruby. Most people don’t care for building this stuff themselves, they want a standalone javascript file, a Gem like ember-rails, a Nuget Package or a Maven package. How the build server creates those is of no importance to them.


#7

While I take your point about window blinds NodeJS does have a few of advantages over Ruby.

  1. It’s Javascript and Ember is a Javascript framework.

  2. NodeJS is fast becoming the new Perl rather than the new Ruby. If you want to do anything serious with javascript these days it is a requirement. I already have NodeJS installed because it is used to compile projects, munge CSS, minify etc.

  3. It’s easy to install.

I had to install Ruby on a Mac and on Ubuntu and nothing worked. I couldn’t get ember-data to compile on the Mac no matter what I did and in the end I compiled a fresh Ruby on the Ubuntu box. This worked finally but I lost a full day just trying to get an ember-data that worked. I dare say that if it had been a breeze and ‘just worked’ I would have taken a different view.


#8

Yes I agree that Ruby installation is not the simplest thing around (but it is about to be remedied. Yehuda is working on a MacOSX ruby.app project and on Windows there is ruby-installer … etc)

But what I mostly wanted to say is that you should not be required to run the ember-data compilation anyway. You only spent that much time getting ember-data compiled because there was no readily compiled package you could grab off a build server or off GitHub.

I honestly don’t care about the build process, the team should use what they feel works best for them and their workflow. And ruby build tools have been around for quite some time and are very mature and powerful. So just switching them out for a new node.js based build process to satisfy users that shouldn’t be concerned with building the code in the first place feels like wasted effort to me.

Unless there are hordes of people actively hacking on ember-data that can’t get Ruby to run on their box, but just because at the moment there is no good place to download ember-data is a case of fixing the wrong problem alltogether.