Why not to use Rails? (actually it's when not to use Rails)

Preview:

DESCRIPTION

A talk I gave at the

Citation preview

Rails Israel 2012

Why not to use Rails?

Monday, November 12, 12

Arik Fraimovich@arikfr

TRuby Podcast

Monday, November 12, 12

actually...Why use Rails at all?

Monday, November 12, 12

Monday, November 12, 12

• Community

Monday, November 12, 12

• Community

• Ruby Gems

Monday, November 12, 12

• Community

• Ruby Gems

• Simplicity

Monday, November 12, 12

• Community

• Ruby Gems

• Simplicity

• Convention over configuration

Monday, November 12, 12

• Community

• Ruby Gems

• Simplicity

• Convention over configuration

• Choices that are made for you

Monday, November 12, 12

• Community

• Ruby Gems

• Simplicity

• Convention over configuration

• Choices that are made for you

Monday, November 12, 12

Monday, November 12, 12

When not to use Rails?

Monday, November 12, 12

general purpose libraries (gems)

Monday, November 12, 12

for the simple stuffMonday, November 12, 12

for large web applicationor anything that isn’t a

web application

Monday, November 12, 12

“Our tools shape our thinking.”

@drnic

Monday, November 12, 12

Monday, November 12, 12

• Everything is sort of global, no need for require

• (Usually) no namespacing

• Everything in the context of HTTP request

Monday, November 12, 12

No need to require?

Monday, November 12, 12

• Sounds nice at the beginning

No need to require?

Monday, November 12, 12

• Sounds nice at the beginning

• But then it starts to creep on you and everything becomes sllllowww...

No need to require?

Monday, November 12, 12

• Sounds nice at the beginning

• But then it starts to creep on you and everything becomes sllllowww...

• Slow boot time

No need to require?

Monday, November 12, 12

• Sounds nice at the beginning

• But then it starts to creep on you and everything becomes sllllowww...

• Slow boot time

• Slow specs

No need to require?

Monday, November 12, 12

• Sounds nice at the beginning

• But then it starts to creep on you and everything becomes sllllowww...

• Slow boot time

• Slow specs

• Slow everything

No need to require?

Monday, November 12, 12

Solution?

Spork (Zeus?)

Monday, November 12, 12

Solution?

Spork (Zeus?)

Monday, November 12, 12

The common Rails app.Monday, November 12, 12

The Rails app you wantMonday, November 12, 12

EnginesMonday, November 12, 12

WagonsMonday, November 12, 12

What about the everything in “HTTP context”?

Monday, November 12, 12

Good question.

Monday, November 12, 12

No good answers*

* from me. yet.

Monday, November 12, 12

Some Pointers

Monday, November 12, 12

Some Pointers

• Actor Model - “easy” concurrency. Popular implementation in Ruby: Celluloid

Monday, November 12, 12

Some Pointers

• Actor Model - “easy” concurrency. Popular implementation in Ruby: Celluloid

• JRuby

Monday, November 12, 12

Some Pointers

• Actor Model - “easy” concurrency. Popular implementation in Ruby: Celluloid

• JRuby

• TorqueBox

Monday, November 12, 12

Wrap up

Monday, November 12, 12

• Use Rails, but remember there are other things out there

Wrap up

Monday, November 12, 12

• Use Rails, but remember there are other things out there

• Use Rails “carefully”, as your project grows

Wrap up

Monday, November 12, 12

• Use Rails, but remember there are other things out there

• Use Rails “carefully”, as your project grows

• Don’t forget that not everything is a nail

Wrap up

Monday, November 12, 12

• Use Rails, but remember there are other things out there

• Use Rails “carefully”, as your project grows

• Don’t forget that not everything is a nail

• And most important: keep using Ruby. It’s awesome

Wrap up

Monday, November 12, 12

Questions?

@arikfr

Monday, November 12, 12

Recommended