SlideShare uma empresa Scribd logo
1 de 44
Baixar para ler offline
use Rails?
                            hy not   to
                          W


Rails Israel 2012
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 stuff
Monday, November 12, 12
for large web application
                       or 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
No need to require?
                   • Sounds nice at the beginning




Monday, November 12, 12
No need to require?
                   • Sounds nice at the beginning
                   • But then it starts to creep on you and
                          everything becomes sllllowww...




Monday, November 12, 12
No need to require?
                   • Sounds nice at the beginning
                   • But then it starts to creep on you and
                          everything becomes sllllowww...
                          • Slow boot time



Monday, November 12, 12
No need to require?
                   • Sounds nice at the beginning
                   • But then it starts to creep on you and
                          everything becomes sllllowww...
                          • Slow boot time
                          • Slow specs


Monday, November 12, 12
No need to require?
                   • Sounds nice at the beginning
                   • But then it starts to creep on you and
                          everything becomes sllllowww...
                          • Slow boot time
                          • Slow specs
                          • Slow everything
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 want
Monday, November 12, 12
Engines
Monday, November 12, 12
Wagons
Monday, 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
Wrap up
                   • Use Rails, but remember there are other
                          things out there




Monday, November 12, 12
Wrap up
                   • Use Rails, but remember there are other
                          things out there
                   • Use Rails “carefully”, as your project grows



Monday, November 12, 12
Wrap up
                   • 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


Monday, November 12, 12
Wrap up
                   • 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


Monday, November 12, 12
Questions?

                           @arikfr



Monday, November 12, 12
•      Architecture The Lost Years


                   •      Wrangling Large Rails Codebases


                   •      Hexagonal Rails


                   •      Celluloid


                   •      JRuby


                   •      TorqueBox


                   •      About concurrency and the GIL


                   •      Images taken shamelessly from Google.




Monday, November 12, 12

Mais conteúdo relacionado

Destaque

Reversim Summit 2014: re:dash a new way to query, visualize and collaborate o...
Reversim Summit 2014: re:dash a new way to query, visualize and collaborate o...Reversim Summit 2014: re:dash a new way to query, visualize and collaborate o...
Reversim Summit 2014: re:dash a new way to query, visualize and collaborate o...Arik Fraimovich
 
PyData London 2015 - How We Turned EverythingMe Into a Data Driven Company
PyData London 2015 - How We Turned EverythingMe Into a Data Driven CompanyPyData London 2015 - How We Turned EverythingMe Into a Data Driven Company
PyData London 2015 - How We Turned EverythingMe Into a Data Driven CompanyArik Fraimovich
 
Re:dash Use Cases at iPROS
Re:dash Use Cases at iPROSRe:dash Use Cases at iPROS
Re:dash Use Cases at iPROSJumpei Yokota
 
The Twitter Green Revolution
The Twitter Green RevolutionThe Twitter Green Revolution
The Twitter Green RevolutionArik Fraimovich
 
Spork || How To Streamline Your TDD Process
Spork || How To Streamline Your TDD ProcessSpork || How To Streamline Your TDD Process
Spork || How To Streamline Your TDD ProcessArik Fraimovich
 
Presto Meetup 2016 Small Start
Presto Meetup 2016 Small StartPresto Meetup 2016 Small Start
Presto Meetup 2016 Small StartHiroshi Toyama
 
Fluentd - road to v1 -
Fluentd - road to v1 -Fluentd - road to v1 -
Fluentd - road to v1 -N Masahiro
 
Embulk, an open-source plugin-based parallel bulk data loader
Embulk, an open-source plugin-based parallel bulk data loaderEmbulk, an open-source plugin-based parallel bulk data loader
Embulk, an open-source plugin-based parallel bulk data loaderSadayuki Furuhashi
 

Destaque (11)

Reversim Summit 2014: re:dash a new way to query, visualize and collaborate o...
Reversim Summit 2014: re:dash a new way to query, visualize and collaborate o...Reversim Summit 2014: re:dash a new way to query, visualize and collaborate o...
Reversim Summit 2014: re:dash a new way to query, visualize and collaborate o...
 
PyData London 2015 - How We Turned EverythingMe Into a Data Driven Company
PyData London 2015 - How We Turned EverythingMe Into a Data Driven CompanyPyData London 2015 - How We Turned EverythingMe Into a Data Driven Company
PyData London 2015 - How We Turned EverythingMe Into a Data Driven Company
 
Re:dash Use Cases at iPROS
Re:dash Use Cases at iPROSRe:dash Use Cases at iPROS
Re:dash Use Cases at iPROS
 
re:dash is awesome
re:dash is awesomere:dash is awesome
re:dash is awesome
 
The Twitter Green Revolution
The Twitter Green RevolutionThe Twitter Green Revolution
The Twitter Green Revolution
 
Measure Everything
Measure EverythingMeasure Everything
Measure Everything
 
Spork || How To Streamline Your TDD Process
Spork || How To Streamline Your TDD ProcessSpork || How To Streamline Your TDD Process
Spork || How To Streamline Your TDD Process
 
Making impact
Making impactMaking impact
Making impact
 
Presto Meetup 2016 Small Start
Presto Meetup 2016 Small StartPresto Meetup 2016 Small Start
Presto Meetup 2016 Small Start
 
Fluentd - road to v1 -
Fluentd - road to v1 -Fluentd - road to v1 -
Fluentd - road to v1 -
 
Embulk, an open-source plugin-based parallel bulk data loader
Embulk, an open-source plugin-based parallel bulk data loaderEmbulk, an open-source plugin-based parallel bulk data loader
Embulk, an open-source plugin-based parallel bulk data loader
 

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

Introduction to the Disruptor
Introduction to the DisruptorIntroduction to the Disruptor
Introduction to the DisruptorTrisha Gee
 
Ryan Tech Tools EWBC 2012
Ryan Tech Tools EWBC 2012Ryan Tech Tools EWBC 2012
Ryan Tech Tools EWBC 2012Ryan Opaz
 
Performance for Product Developers
Performance for Product DevelopersPerformance for Product Developers
Performance for Product DevelopersMatthew Wilkes
 
Presentatie Document lifecycle2012
Presentatie Document lifecycle2012Presentatie Document lifecycle2012
Presentatie Document lifecycle2012Vincent Everts
 
Modern HTML & CSS Coding: Speed, Semantics & Structure
Modern HTML & CSS Coding: Speed, Semantics & StructureModern HTML & CSS Coding: Speed, Semantics & Structure
Modern HTML & CSS Coding: Speed, Semantics & StructureRaven Tools
 
Maximiliano Firtman
Maximiliano FirtmanMaximiliano Firtman
Maximiliano FirtmanColombia3.0
 
Ricoh social media & sales
Ricoh social media & salesRicoh social media & sales
Ricoh social media & salesVincent Everts
 
JS-Everywhere - LocalStorage Hands-on
JS-Everywhere - LocalStorage Hands-onJS-Everywhere - LocalStorage Hands-on
JS-Everywhere - LocalStorage Hands-onBrice Argenson
 
Interfaces Inteligentes para Android
Interfaces Inteligentes para AndroidInterfaces Inteligentes para Android
Interfaces Inteligentes para AndroidNelson Glauber Leal
 
The Journey to a Full-Time Freelance Web Design Business
The Journey to a Full-Time Freelance Web Design BusinessThe Journey to a Full-Time Freelance Web Design Business
The Journey to a Full-Time Freelance Web Design BusinessCory Miller
 
import continuous.delivery.*
import continuous.delivery.*import continuous.delivery.*
import continuous.delivery.*Anton Arhipov
 
Lean Startup at Innovation Works
Lean Startup at Innovation WorksLean Startup at Innovation Works
Lean Startup at Innovation WorksRay Wu
 
Insider's Technology Guide to Measuring and Improving Your ROI
Insider's Technology Guide to Measuring and Improving Your ROIInsider's Technology Guide to Measuring and Improving Your ROI
Insider's Technology Guide to Measuring and Improving Your ROIDan Leatherman
 
Make something real for Firefox OS with Mozilla app templates
Make something real  for Firefox OS with Mozilla app templatesMake something real  for Firefox OS with Mozilla app templates
Make something real for Firefox OS with Mozilla app templatesPiotr Zalewa
 
Optimizing your site for contextual ads: SEO, Design and Content
Optimizing your site for contextual ads: SEO, Design and ContentOptimizing your site for contextual ads: SEO, Design and Content
Optimizing your site for contextual ads: SEO, Design and ContentRaven Tools
 
Operational Impact of Continuous Deployment
Operational Impact of Continuous DeploymentOperational Impact of Continuous Deployment
Operational Impact of Continuous DeploymentAvleen Vig
 
Why Speed Matters
Why Speed MattersWhy Speed Matters
Why Speed Mattersdarinrs
 
I Love Techno - the site
I Love Techno - the siteI Love Techno - the site
I Love Techno - the sitePeter Arato
 

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

living drupal
living drupalliving drupal
living drupal
 
Introduction to the Disruptor
Introduction to the DisruptorIntroduction to the Disruptor
Introduction to the Disruptor
 
Ryan Tech Tools EWBC 2012
Ryan Tech Tools EWBC 2012Ryan Tech Tools EWBC 2012
Ryan Tech Tools EWBC 2012
 
Performance for Product Developers
Performance for Product DevelopersPerformance for Product Developers
Performance for Product Developers
 
Presentatie Document lifecycle2012
Presentatie Document lifecycle2012Presentatie Document lifecycle2012
Presentatie Document lifecycle2012
 
Modern HTML & CSS Coding: Speed, Semantics & Structure
Modern HTML & CSS Coding: Speed, Semantics & StructureModern HTML & CSS Coding: Speed, Semantics & Structure
Modern HTML & CSS Coding: Speed, Semantics & Structure
 
[Phind] Miracle
[Phind] Miracle[Phind] Miracle
[Phind] Miracle
 
Maximiliano Firtman
Maximiliano FirtmanMaximiliano Firtman
Maximiliano Firtman
 
Ricoh social media & sales
Ricoh social media & salesRicoh social media & sales
Ricoh social media & sales
 
JS-Everywhere - LocalStorage Hands-on
JS-Everywhere - LocalStorage Hands-onJS-Everywhere - LocalStorage Hands-on
JS-Everywhere - LocalStorage Hands-on
 
Interfaces Inteligentes para Android
Interfaces Inteligentes para AndroidInterfaces Inteligentes para Android
Interfaces Inteligentes para Android
 
The Journey to a Full-Time Freelance Web Design Business
The Journey to a Full-Time Freelance Web Design BusinessThe Journey to a Full-Time Freelance Web Design Business
The Journey to a Full-Time Freelance Web Design Business
 
import continuous.delivery.*
import continuous.delivery.*import continuous.delivery.*
import continuous.delivery.*
 
Lean Startup at Innovation Works
Lean Startup at Innovation WorksLean Startup at Innovation Works
Lean Startup at Innovation Works
 
Insider's Technology Guide to Measuring and Improving Your ROI
Insider's Technology Guide to Measuring and Improving Your ROIInsider's Technology Guide to Measuring and Improving Your ROI
Insider's Technology Guide to Measuring and Improving Your ROI
 
Make something real for Firefox OS with Mozilla app templates
Make something real  for Firefox OS with Mozilla app templatesMake something real  for Firefox OS with Mozilla app templates
Make something real for Firefox OS with Mozilla app templates
 
Optimizing your site for contextual ads: SEO, Design and Content
Optimizing your site for contextual ads: SEO, Design and ContentOptimizing your site for contextual ads: SEO, Design and Content
Optimizing your site for contextual ads: SEO, Design and Content
 
Operational Impact of Continuous Deployment
Operational Impact of Continuous DeploymentOperational Impact of Continuous Deployment
Operational Impact of Continuous Deployment
 
Why Speed Matters
Why Speed MattersWhy Speed Matters
Why Speed Matters
 
I Love Techno - the site
I Love Techno - the siteI Love Techno - the site
I Love Techno - the site
 

Último

Enterprise Knowledge Graphs - Data Summit 2024
Enterprise Knowledge Graphs - Data Summit 2024Enterprise Knowledge Graphs - Data Summit 2024
Enterprise Knowledge Graphs - Data Summit 2024Enterprise Knowledge
 
IoT Analytics Company Presentation May 2024
IoT Analytics Company Presentation May 2024IoT Analytics Company Presentation May 2024
IoT Analytics Company Presentation May 2024IoTAnalytics
 
UiPath Test Automation using UiPath Test Suite series, part 1
UiPath Test Automation using UiPath Test Suite series, part 1UiPath Test Automation using UiPath Test Suite series, part 1
UiPath Test Automation using UiPath Test Suite series, part 1DianaGray10
 
Free and Effective: Making Flows Publicly Accessible, Yumi Ibrahimzade
Free and Effective: Making Flows Publicly Accessible, Yumi IbrahimzadeFree and Effective: Making Flows Publicly Accessible, Yumi Ibrahimzade
Free and Effective: Making Flows Publicly Accessible, Yumi IbrahimzadeCzechDreamin
 
ECS 2024 Teams Premium - Pretty Secure
ECS 2024   Teams Premium - Pretty SecureECS 2024   Teams Premium - Pretty Secure
ECS 2024 Teams Premium - Pretty SecureFemke de Vroome
 
UiPath Test Automation using UiPath Test Suite series, part 2
UiPath Test Automation using UiPath Test Suite series, part 2UiPath Test Automation using UiPath Test Suite series, part 2
UiPath Test Automation using UiPath Test Suite series, part 2DianaGray10
 
What's New in Teams Calling, Meetings and Devices April 2024
What's New in Teams Calling, Meetings and Devices April 2024What's New in Teams Calling, Meetings and Devices April 2024
What's New in Teams Calling, Meetings and Devices April 2024Stephanie Beckett
 
Buy Epson EcoTank L3210 Colour Printer Online.pdf
Buy Epson EcoTank L3210 Colour Printer Online.pdfBuy Epson EcoTank L3210 Colour Printer Online.pdf
Buy Epson EcoTank L3210 Colour Printer Online.pdfEasyPrinterHelp
 
Speed Wins: From Kafka to APIs in Minutes
Speed Wins: From Kafka to APIs in MinutesSpeed Wins: From Kafka to APIs in Minutes
Speed Wins: From Kafka to APIs in Minutesconfluent
 
THE BEST IPTV in GERMANY for 2024: IPTVreel
THE BEST IPTV in  GERMANY for 2024: IPTVreelTHE BEST IPTV in  GERMANY for 2024: IPTVreel
THE BEST IPTV in GERMANY for 2024: IPTVreelreely ones
 
Introduction to FDO and How It works Applications _ Richard at FIDO Alliance.pdf
Introduction to FDO and How It works Applications _ Richard at FIDO Alliance.pdfIntroduction to FDO and How It works Applications _ Richard at FIDO Alliance.pdf
Introduction to FDO and How It works Applications _ Richard at FIDO Alliance.pdfFIDO Alliance
 
Demystifying gRPC in .Net by John Staveley
Demystifying gRPC in .Net by John StaveleyDemystifying gRPC in .Net by John Staveley
Demystifying gRPC in .Net by John StaveleyJohn Staveley
 
The Value of Certifying Products for FDO _ Paul at FIDO Alliance.pdf
The Value of Certifying Products for FDO _ Paul at FIDO Alliance.pdfThe Value of Certifying Products for FDO _ Paul at FIDO Alliance.pdf
The Value of Certifying Products for FDO _ Paul at FIDO Alliance.pdfFIDO Alliance
 
Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...
Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...
Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...FIDO Alliance
 
Agentic RAG What it is its types applications and implementation.pdf
Agentic RAG What it is its types applications and implementation.pdfAgentic RAG What it is its types applications and implementation.pdf
Agentic RAG What it is its types applications and implementation.pdfChristopherTHyatt
 
Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)
Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)
Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)Julian Hyde
 
FDO for Camera, Sensor and Networking Device – Commercial Solutions from VinC...
FDO for Camera, Sensor and Networking Device – Commercial Solutions from VinC...FDO for Camera, Sensor and Networking Device – Commercial Solutions from VinC...
FDO for Camera, Sensor and Networking Device – Commercial Solutions from VinC...FIDO Alliance
 
10 Differences between Sales Cloud and CPQ, Blanka Doktorová
10 Differences between Sales Cloud and CPQ, Blanka Doktorová10 Differences between Sales Cloud and CPQ, Blanka Doktorová
10 Differences between Sales Cloud and CPQ, Blanka DoktorováCzechDreamin
 
Powerful Start- the Key to Project Success, Barbara Laskowska
Powerful Start- the Key to Project Success, Barbara LaskowskaPowerful Start- the Key to Project Success, Barbara Laskowska
Powerful Start- the Key to Project Success, Barbara LaskowskaCzechDreamin
 
How Red Hat Uses FDO in Device Lifecycle _ Costin and Vitaliy at Red Hat.pdf
How Red Hat Uses FDO in Device Lifecycle _ Costin and Vitaliy at Red Hat.pdfHow Red Hat Uses FDO in Device Lifecycle _ Costin and Vitaliy at Red Hat.pdf
How Red Hat Uses FDO in Device Lifecycle _ Costin and Vitaliy at Red Hat.pdfFIDO Alliance
 

Último (20)

Enterprise Knowledge Graphs - Data Summit 2024
Enterprise Knowledge Graphs - Data Summit 2024Enterprise Knowledge Graphs - Data Summit 2024
Enterprise Knowledge Graphs - Data Summit 2024
 
IoT Analytics Company Presentation May 2024
IoT Analytics Company Presentation May 2024IoT Analytics Company Presentation May 2024
IoT Analytics Company Presentation May 2024
 
UiPath Test Automation using UiPath Test Suite series, part 1
UiPath Test Automation using UiPath Test Suite series, part 1UiPath Test Automation using UiPath Test Suite series, part 1
UiPath Test Automation using UiPath Test Suite series, part 1
 
Free and Effective: Making Flows Publicly Accessible, Yumi Ibrahimzade
Free and Effective: Making Flows Publicly Accessible, Yumi IbrahimzadeFree and Effective: Making Flows Publicly Accessible, Yumi Ibrahimzade
Free and Effective: Making Flows Publicly Accessible, Yumi Ibrahimzade
 
ECS 2024 Teams Premium - Pretty Secure
ECS 2024   Teams Premium - Pretty SecureECS 2024   Teams Premium - Pretty Secure
ECS 2024 Teams Premium - Pretty Secure
 
UiPath Test Automation using UiPath Test Suite series, part 2
UiPath Test Automation using UiPath Test Suite series, part 2UiPath Test Automation using UiPath Test Suite series, part 2
UiPath Test Automation using UiPath Test Suite series, part 2
 
What's New in Teams Calling, Meetings and Devices April 2024
What's New in Teams Calling, Meetings and Devices April 2024What's New in Teams Calling, Meetings and Devices April 2024
What's New in Teams Calling, Meetings and Devices April 2024
 
Buy Epson EcoTank L3210 Colour Printer Online.pdf
Buy Epson EcoTank L3210 Colour Printer Online.pdfBuy Epson EcoTank L3210 Colour Printer Online.pdf
Buy Epson EcoTank L3210 Colour Printer Online.pdf
 
Speed Wins: From Kafka to APIs in Minutes
Speed Wins: From Kafka to APIs in MinutesSpeed Wins: From Kafka to APIs in Minutes
Speed Wins: From Kafka to APIs in Minutes
 
THE BEST IPTV in GERMANY for 2024: IPTVreel
THE BEST IPTV in  GERMANY for 2024: IPTVreelTHE BEST IPTV in  GERMANY for 2024: IPTVreel
THE BEST IPTV in GERMANY for 2024: IPTVreel
 
Introduction to FDO and How It works Applications _ Richard at FIDO Alliance.pdf
Introduction to FDO and How It works Applications _ Richard at FIDO Alliance.pdfIntroduction to FDO and How It works Applications _ Richard at FIDO Alliance.pdf
Introduction to FDO and How It works Applications _ Richard at FIDO Alliance.pdf
 
Demystifying gRPC in .Net by John Staveley
Demystifying gRPC in .Net by John StaveleyDemystifying gRPC in .Net by John Staveley
Demystifying gRPC in .Net by John Staveley
 
The Value of Certifying Products for FDO _ Paul at FIDO Alliance.pdf
The Value of Certifying Products for FDO _ Paul at FIDO Alliance.pdfThe Value of Certifying Products for FDO _ Paul at FIDO Alliance.pdf
The Value of Certifying Products for FDO _ Paul at FIDO Alliance.pdf
 
Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...
Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...
Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...
 
Agentic RAG What it is its types applications and implementation.pdf
Agentic RAG What it is its types applications and implementation.pdfAgentic RAG What it is its types applications and implementation.pdf
Agentic RAG What it is its types applications and implementation.pdf
 
Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)
Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)
Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)
 
FDO for Camera, Sensor and Networking Device – Commercial Solutions from VinC...
FDO for Camera, Sensor and Networking Device – Commercial Solutions from VinC...FDO for Camera, Sensor and Networking Device – Commercial Solutions from VinC...
FDO for Camera, Sensor and Networking Device – Commercial Solutions from VinC...
 
10 Differences between Sales Cloud and CPQ, Blanka Doktorová
10 Differences between Sales Cloud and CPQ, Blanka Doktorová10 Differences between Sales Cloud and CPQ, Blanka Doktorová
10 Differences between Sales Cloud and CPQ, Blanka Doktorová
 
Powerful Start- the Key to Project Success, Barbara Laskowska
Powerful Start- the Key to Project Success, Barbara LaskowskaPowerful Start- the Key to Project Success, Barbara Laskowska
Powerful Start- the Key to Project Success, Barbara Laskowska
 
How Red Hat Uses FDO in Device Lifecycle _ Costin and Vitaliy at Red Hat.pdf
How Red Hat Uses FDO in Device Lifecycle _ Costin and Vitaliy at Red Hat.pdfHow Red Hat Uses FDO in Device Lifecycle _ Costin and Vitaliy at Red Hat.pdf
How Red Hat Uses FDO in Device Lifecycle _ Costin and Vitaliy at Red Hat.pdf
 

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

  • 1. use Rails? hy not to W Rails Israel 2012 Monday, November 12, 12
  • 2. Arik Fraimovich @arikfr TRuby Podcast Monday, November 12, 12
  • 3. actually... Why use Rails at all? Monday, November 12, 12
  • 6. • Community • Ruby Gems Monday, November 12, 12
  • 7. • Community • Ruby Gems • Simplicity Monday, November 12, 12
  • 8. • Community • Ruby Gems • Simplicity • Convention over configuration Monday, November 12, 12
  • 9. • Community • Ruby Gems • Simplicity • Convention over configuration • Choices that are made for you Monday, November 12, 12
  • 10. • Community • Ruby Gems • Simplicity • Convention over configuration • Choices that are made for you Monday, November 12, 12
  • 12. When not to use Rails? Monday, November 12, 12
  • 13. general purpose libraries (gems) Monday, November 12, 12
  • 14. for the simple stuff Monday, November 12, 12
  • 15. for large web application or anything that isn’t a web application Monday, November 12, 12
  • 16. “Our tools shape our thinking.” @drnic Monday, November 12, 12
  • 18. • Everything is sort of global, no need for require • (Usually) no namespacing • Everything in the context of HTTP request Monday, November 12, 12
  • 19. No need to require? Monday, November 12, 12
  • 20. No need to require? • Sounds nice at the beginning Monday, November 12, 12
  • 21. No need to require? • Sounds nice at the beginning • But then it starts to creep on you and everything becomes sllllowww... Monday, November 12, 12
  • 22. No need to require? • Sounds nice at the beginning • But then it starts to creep on you and everything becomes sllllowww... • Slow boot time Monday, November 12, 12
  • 23. No need to require? • Sounds nice at the beginning • But then it starts to creep on you and everything becomes sllllowww... • Slow boot time • Slow specs Monday, November 12, 12
  • 24. No need to require? • Sounds nice at the beginning • But then it starts to creep on you and everything becomes sllllowww... • Slow boot time • Slow specs • Slow everything Monday, November 12, 12
  • 25. Solution? Spork (Zeus?) Monday, November 12, 12
  • 26. Solution? Spork (Zeus?) Monday, November 12, 12
  • 27. The common Rails app. Monday, November 12, 12
  • 28. The Rails app you want Monday, November 12, 12
  • 31. What about the everything in “HTTP context”? Monday, November 12, 12
  • 33. No good answers* * from me. yet. Monday, November 12, 12
  • 35. Some Pointers • Actor Model - “easy” concurrency. Popular implementation in Ruby: Celluloid Monday, November 12, 12
  • 36. Some Pointers • Actor Model - “easy” concurrency. Popular implementation in Ruby: Celluloid • JRuby Monday, November 12, 12
  • 37. Some Pointers • Actor Model - “easy” concurrency. Popular implementation in Ruby: Celluloid • JRuby • TorqueBox Monday, November 12, 12
  • 39. Wrap up • Use Rails, but remember there are other things out there Monday, November 12, 12
  • 40. Wrap up • Use Rails, but remember there are other things out there • Use Rails “carefully”, as your project grows Monday, November 12, 12
  • 41. Wrap up • 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 Monday, November 12, 12
  • 42. Wrap up • 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 Monday, November 12, 12
  • 43. Questions? @arikfr Monday, November 12, 12
  • 44. Architecture The Lost Years • Wrangling Large Rails Codebases • Hexagonal Rails • Celluloid • JRuby • TorqueBox • About concurrency and the GIL • Images taken shamelessly from Google. Monday, November 12, 12