
What's new in Rails 5? - dabit
http://blog.michelada.io/whats-new-in-rails-5
======
bshimmin
This is a great summary, and there look to be some really interesting things
coming in Rails 5. Two thoughts:

1) I hope ActionCable is as seamless to integrate and works as well as Rails
features ought to; you can, of course, achieve web sockets right now using
Faye or various other implementations, but it's quite complex to get right
(though the faye-rails gem is pretty handy) - and realtime functionality is
becoming more and more important.

2) I wish they'd just give up on Turbolinks. Maybe some people are using it
and love it, but it's always the first thing I turn off when I start a new
Rails project, and I know quite a few people who feel the same. For those of
us who never thought it was a good idea in the first place, I'm not sure any
number of improvements are going to change our minds.

~~~
technion
>2) I wish they'd just give up on Turbolinks

Ditto for Coffeescript. I realise you can't just remove it, but the whole dev
community is raving about ES6 - there's a whole of JS devs who could be a lot
more interested in Rails.

~~~
danmaz74
Turbolinks can create problems even to those who don't use them explicitly,
but Coffeescript can't: if you don't like it, just don't use it, and it's as
if it wasn't there. How would removing it from the asset compiler help you in
any way?

~~~
technion
There's a cultural impact - it's hard to look at Rails without being pushed in
that direction.

Does it directly impact me now that I choose to ignore it? No. Does it impact
a newcomer, particularly one that's into JS? Yes.

~~~
KurtMueller
This nifty web app is a good starting point:
[http://js2.coffee/](http://js2.coffee/)

It's not perfect but it's how I learned coffeescript.

Other than that, I don't think Rails necessarily pushes either for/against
coffeescript. You can either use it or not. Plenty of rails apps have been
written in plain 'ol js.

------
littlewing
I'm a long-time Rails developer and unfortunately this release doesn't excite
me, though I appreciate all the hard work by the core team/continued support
from 37signals. The reason is this:

The intent of Rails is to make writing web applications easier, but that
writing web applications actually got much more difficult for me as a Rails
developer when Angular and Ember and then later React got popular. I love
Ruby, but I respect the fact that the Javascript-client-side-heavy/"single-
page" part of the app is where the magic is for at least a few years now-
really several years.

Other than Rails helpers in the 2006-2008 timeframe being a big deal, Rails'
has not ever really helped out a whole lot on the JS side, and you wouldn't
expect it to. The asset pipeline is wonderful, and coffeescript support with
in it is ok I guess, even though I don't use it. But, writing JS client-side
is not any easier. To be a full-stack developer in today's world I have to
accept the fact that Ruby, as much as I love it and would rather develop in it
all day and night, is just not taking over in every facet of development.
There is no Rubyscript on the client side taking over the world. There is
ES6/Typescript- that is the future.

A substantial number of Ruby masters are jumping over to the Phoenix/Elixir
bandwagon. I look at it, and want to like it, but I just haven't gotten into
it yet. I know it is fast, but it just isn't as readable yet for me. And it
won't solve the problem that the client still needs to be written primarily in
Javascript.

And the answer is not Node either, because every serious Javascript developer
I've talked to says, "Node is still not ready."

I just feel let down. I want to get excited about Rails again, but give me a
path. I don't really like Ember a whole lot, because the community is just not
where it is with Angular and React. Someone please take your favorite
frameworks and show me how my life is supposed to get better by using them.
Show me how it is fun. Bring back the magic, because right now it all just
seems like more and more of a PITA as attention deficit has fully set in
within the web application development community and there is no clear way
ahead for the next few years.

~~~
kailuowang
I think you can try solve the "rails no longer excites me" problem by finding
a more exciting language than Ruby. There are more than plenty of them out
there.

~~~
littlewing
Like what?

When considered as a whole of the combination of what is possible with the
stdlib and all of the best gems available, Ruby can be written clearly and
tersely. Those are the two first and most important things that I look for to
do general web application development. From that perspective it beats
Javascript, Python, Php, Java, C#, Go, Scala, Erlang, Haskell, OCaml, and
every other language I've used.

I'm not saying Ruby is the best language ever. It has its flaws. In a few
places in the stdlib, it doesn't make sense. There are languages, with maybe
Smalltalk and Lisp at the top of the list, that beat Ruby from a simplicity
and purity standpoint. But, Ruby is just great to use. I love reading it and
love using it. It took a few years in the beginning of love and hate, but if I
was stuck on a deserted island and had one programming language, Ruby would be
it for me.

If it weren't for the Ruby core group being so exclusive and bitter towards
others getting involved to make it even better, and if it weren't for the
Rails core team just having too much to do and being unable to execute on
support, documentation, performance, clarity, simplicity, and important
features all at the same time, then maybe it would be the world's number one
language and Rails would be the number one web framework.

Instead Javascript had emerged years ago as the language of choice in the
browser, had plenty of attention spent on making it execute quickly, etc.
though it was an uglier language than Ruby, and because of that attention, it
is today's number one language for the web. But, I still like Ruby.

~~~
kyllo
It's an exciting time for Haskell developers right now, we just got an a
awesome new build tool (stack), an incredible new server-side framework
(servant) and our compile to JS tool (GHCJS) is improving by leaps and bounds.

------
ownedthx
I'm not sure if this is baked into Rails 5, but you can get es6 support (via
Babel) with the sprockets-es6 gem:

[https://github.com/TannerRogalsky/sprockets-
es6](https://github.com/TannerRogalsky/sprockets-es6)

Rails is still a second-class JS citizen due to the asset pipeline being
opinionated and controlling compared to the node way of doing things, but it
gets you closer to 'the new hotness'.

~~~
atwrkrmrm
What do you mean JS is still a second class citizen? I'm unfamiliar with Rails
asset pipeline. Do you just mean that the asset pipeline doesn't really have
as much features as other build tools like Grunt and Gulp? Or is there
something about asset pipeline that prevents you from using JavaScript to its
full potential? (Genuinely curious. Not familiar with the JS side of Rails)

------
happywolf
Minor clarification: what i meant below is I plan to build a portal with major
feature being CMS, not planning to rewrite an CMS from scratch, instead I will
source in Github for the module that can be ported/plugged in right away with
some modification.

\-----

Right now, the web frameworks that are on my radar are: Laravel(PHP),
Phoenix(Elixir), React+Meteor(JS), and RoR(Ruby). This list is by no means
exhaustive, just that recently they caught my attention and I am contemplating
to choose one for an upcoming CMS project.

Would like to know if these frameworks each has its own segment or/and
sweetspots, or they kind of compete against each other and the choice is
mostly personal preference?

The goal is to hear what people like/dislike on a particular framework. Inputs
from those who have worked with multiple frameworks will be awesome.

Thanks in advance.

~~~
mrmondo
As someone who's hosted and fixed a lot of CMS in recent years I'll say this:
choose a solution that's fit for the individual purpose.

All CMS' suck, a bit like all OS' suck. As soon as you do anything non-
standard their inherit flexibility becomes a burden. If you have skills in
rails and need an off the shelf CMS find a popular one and use it you like but
if you need to create a web 'application' look at Sinatra, rails or whatever
but don't use a CMS as the foundation for an application.

Most of all, if my team and I have one take away: Stay far away from Drupal
and people that preach its relevance. It is a world of hurt with an 'expert
beginner' community. That has cost so many organisations more time and money
than they ever anticipated.

Treat ever 'off he shelf' product with a degree of disposability - don't get
locked in and never get into the trap that you've chosen 'the best'.

~~~
mattmanser
It's CMSes and OSes. You're looking for the plurals, so you definitely don't
need to use a possessive apostrophe there because there's no ownership in the
sentence.

Also, because they're acronyms you pronounce by enunciating the words, my
instinct would be to use OS's (as you would pronounce the 's, O-S-es). But
that's up for debate.

For example:

The OS's kernel blew up (possessive apostrophe, the OS owns the kernel)

He had a wide range of OSes to choose from (pluralization, there are many
OSes)

~~~
mrmondo
Thank you for clarifying / pointing that out to me. I've never spent time to
understand that an apostrophe used in this way made it possessive. I've taken
that on board and will (hopefully) not make this mistake again.

------
issaria
> Without a doubt, it is time to prepare our applications for the upgrade;
> just because of the performance improvements are worth it. If you are on
> Rails 4.x, the upgrade is almost painless.

Shouldn't it be called Rails 4.3? That been said, you could get the
performance improvement by just upgrading to ruby 2.2.2

------
ksec
I thought DHH recently announce on Twitter there will be Basecamp 3, which is
based on Rails 5.

And there will be Turobolink 5 too.

I was guessing they have some more things to announce soon.

~~~
rcaught
Turbolinks 3

------
LunaSea
Is it more security vulnerabilities ?

