ºÝºÝߣ

ºÝºÝߣShare a Scribd company logo
What new in Rails5?
          Fernand Galiana




Saturday, March 2, 13
Who¡¯s that fool
     yo?


             @kitesurfer
             fernand.galiana@gmail.com
             github/derailed




Saturday, March 2, 13
Rails5 features...




Saturday, March 2, 13
Ah ah...




Saturday, March 2, 13
Paradigm shifting...




Saturday, March 2, 13
Seven principles
                Data on the wire
                One language
                DB everywhere
                Latency compensation
                Full stack reactivity
                Embrace ecosystem
                Clean simple apis

Saturday, March 2, 13
Installation



                $ curl https://install.meteor.com | /bin/sh




Saturday, March 2, 13
Create an app



                meteor create myBitchinApp




Saturday, March 2, 13
Command line

                meteor [run] [-p] [--production] [--settings]
                meteor mongo
                meteor reset
                meteor update




Saturday, March 2, 13
Bundler?


                meteor list [--using]
                meteor add pkg
                meteor remove pkg




Saturday, March 2, 13
Deploying


                mrt deploy bitchindemo.metor.com
                mrt bundle bitchindemo.tgz




Saturday, March 2, 13
Infrastructure




Saturday, March 2, 13
Mongo loves...

                        Client             Client




                                  Server

                             Db

Saturday, March 2, 13
Collections

                Items = new Meteor.Collection( ¡°fred¡± | ... )
                Items.insert { fred:¡±Blee¡± }
                Items.update {},{$set|$push|...}, [multi], [cb]
                Items.?nd {}, {}, {}
                Items.remove {}




Saturday, March 2, 13
Session (!session)


                Session.set( ¡°fred¡±, ¡°Blee¡± )
                Session.get( ¡°fred¡± )
                Session.equals( ¡°fred¡±, ¡°Duh¡± )




Saturday, March 2, 13
Handlebars?

      {{#each posts}}
        {{#if duh}}
          <td>{{>post_duh}}</td>
        {{/else}}
          <td>{{>post}}</td>
        {{/if}}
      {{/each}}




Saturday, March 2, 13
Helpers

         Template.fred.bitchin_css ->
           if Session.equals( 'blee', 'duh' )
             'yo-bitchin'
           else
             'yo-lame'

         <template name='fred'>
           <p class='{{bitchin_css}}'>
             really!
           </p>
         </template>


Saturday, March 2, 13
Events

       Template.item.events =
         'click #fred': ->
           Session.set( 'fred', true )




Saturday, March 2, 13
PubSub




Saturday, March 2, 13
Bundles
        accounts
        angular | backbone | jquery
        bootstrap
        d3
        underscore | handlebar | coffee
        less | sass | stylus
        mailer
        atmosphere.meteor.com
Saturday, March 2, 13
Client + Server = 1


                Meteor.is_client
                Meteor.is_server




Saturday, March 2, 13
Tag merges

         <body>
           {{> hello}}
         </body>

         <template name='hello'>
           <h1>Hello World!!!!</h1>
         </template>

         <body>
           <p class=''{{bitchin_css}}'>Is it bitch'in yet, yo?</p>
         </body>




Saturday, March 2, 13
Reactivity! Stand by....




Saturday, March 2, 13
Reactivity...


       Method.autorun ->
         Meteor.subscribe( 'messages', Session.get( 'fred' ) )


       Meteor.publish('message', (search)->
         Messages.find( {search_term: search} )




Saturday, March 2, 13
Reactive context

                 Template
                 Meteor.render
                 Meteor.renderList
                 Meteor.autorun
                 Custom




Saturday, March 2, 13
Reactive datasources
                Session
                Collection
                Meteor.status
                ready
                Meteor.user | userId | loggingIn
                Cust Meteor.deps



Saturday, March 2, 13
Reactivity...


           fragment = Meteor.render ->
             name = Session.get("name") || "Batman!"
             "<div>Hello, I am #{name}</div>"
             $( 'body' ).append fragment




Saturday, March 2, 13
So what?
                Perf
                Security
                Single page apps
                Loose context
                Testing
                Server side reuse



Saturday, March 2, 13
Competition


                Mojito
                Derby




Saturday, March 2, 13
Future looks so bright



                POC != POS




Saturday, March 2, 13
Resources
         meteor.com
         atmosphere.meteor.com
         @meteorjs
         #meteor
         github.com/meteor/meteor
         meteor-talk.googlegroups
         blackandwtf.tumblr.com


Saturday, March 2, 13
Questions, impressions?




Saturday, March 2, 13
Ad

Recommended

PDF
Copycons
ravindra1231
?
PDF
Openstack 2013 1
Luis Gervaso
?
PDF
Provisionamento orquestrado nas nuvens com Juju
Thiago Rondon
?
PPTX
Underscore
Andries Nieuwenhuize
?
PDF
[Curso Java Basico] Aula 70: Threads: Definindo prioridades
Loiane Groner
?
PDF
[Curso Java Basico] Aula 69: Criando varias Threads + metodos isAlive e join
Loiane Groner
?
PDF
In The Land Of Graphs...
Fernand Galiana
?
PPS
Advanced Topics Snippets Lib Meter Zbw Hh Workshop
LibMeter
?
PPT
Ingenious
guest9c6b4d
?
PDF
Bucket List Item #1246
Fernand Galiana
?
PDF
Engines
Fernand Galiana
?
PDF
Docker Container Orchestration
Fernand Galiana
?
PDF
David Glasser in Chicago - Meteor: Past, Present, & Future
yaliceme
?
PDF
The Meteor Framework
Damien Magoni
?
PDF
Node.js and Ruby
Michael Bleigh
?
PDF
Having Fun Building Web Applications (Day 2 slides)
Clarence Ngoh
?
PDF
Understanding meteor
M A Hossain Tonu
?
PDF
A New Baseline for Front-End Devs
Rebecca Murphey
?
PDF
Node and SocketIO
Kentucky JavaScript Users Group
?
PDF
Nick Sieger-Exploring Rails 3 Through Choices
ThoughtWorks
?
PDF
Angular meteor presentation
Jean Marcel Belmont
?
PDF
Angular.js - JS Camp UKraine 2013
Max Klymyshyn
?
PDF
How we're building Wercker
Micha Hernandez van Leuffen
?
PDF
Introduction to Meteor - Worldwide Meteor Day
M A Hossain Tonu
?
PDF
From 'Meteor' to 'Maker'
Nitya Narasimhan
?
PDF
20150511 Meteor Angular
Rick Wehrle
?
PPTX
Meteor meetup
David Brear
?
PDF
Introduction to Meteor at ChaDev Lunch
Andrew McPherson
?

More Related Content

Viewers also liked (6)

PDF
In The Land Of Graphs...
Fernand Galiana
?
PPS
Advanced Topics Snippets Lib Meter Zbw Hh Workshop
LibMeter
?
PPT
Ingenious
guest9c6b4d
?
PDF
Bucket List Item #1246
Fernand Galiana
?
PDF
Engines
Fernand Galiana
?
PDF
Docker Container Orchestration
Fernand Galiana
?
In The Land Of Graphs...
Fernand Galiana
?
Advanced Topics Snippets Lib Meter Zbw Hh Workshop
LibMeter
?
Ingenious
guest9c6b4d
?
Bucket List Item #1246
Fernand Galiana
?
Docker Container Orchestration
Fernand Galiana
?

Similar to What's new in Rails5? (20)

PDF
David Glasser in Chicago - Meteor: Past, Present, & Future
yaliceme
?
PDF
The Meteor Framework
Damien Magoni
?
PDF
Node.js and Ruby
Michael Bleigh
?
PDF
Having Fun Building Web Applications (Day 2 slides)
Clarence Ngoh
?
PDF
Understanding meteor
M A Hossain Tonu
?
PDF
A New Baseline for Front-End Devs
Rebecca Murphey
?
PDF
Node and SocketIO
Kentucky JavaScript Users Group
?
PDF
Nick Sieger-Exploring Rails 3 Through Choices
ThoughtWorks
?
PDF
Angular meteor presentation
Jean Marcel Belmont
?
PDF
Angular.js - JS Camp UKraine 2013
Max Klymyshyn
?
PDF
How we're building Wercker
Micha Hernandez van Leuffen
?
PDF
Introduction to Meteor - Worldwide Meteor Day
M A Hossain Tonu
?
PDF
From 'Meteor' to 'Maker'
Nitya Narasimhan
?
PDF
20150511 Meteor Angular
Rick Wehrle
?
PPTX
Meteor meetup
David Brear
?
PDF
Introduction to Meteor at ChaDev Lunch
Andrew McPherson
?
PDF
Meteor presentation
scandiweb
?
PDF
DevNexus 2013 - Introduction to WebSockets
Gunnar Hillert
?
PPTX
Meteor node upnorth-bobdavies
Mark Skeet
?
PDF
Intro to meteor @py gotham Aug 15-16 2015
christieewen
?
David Glasser in Chicago - Meteor: Past, Present, & Future
yaliceme
?
The Meteor Framework
Damien Magoni
?
Node.js and Ruby
Michael Bleigh
?
Having Fun Building Web Applications (Day 2 slides)
Clarence Ngoh
?
Understanding meteor
M A Hossain Tonu
?
A New Baseline for Front-End Devs
Rebecca Murphey
?
Nick Sieger-Exploring Rails 3 Through Choices
ThoughtWorks
?
Angular meteor presentation
Jean Marcel Belmont
?
Angular.js - JS Camp UKraine 2013
Max Klymyshyn
?
How we're building Wercker
Micha Hernandez van Leuffen
?
Introduction to Meteor - Worldwide Meteor Day
M A Hossain Tonu
?
From 'Meteor' to 'Maker'
Nitya Narasimhan
?
20150511 Meteor Angular
Rick Wehrle
?
Meteor meetup
David Brear
?
Introduction to Meteor at ChaDev Lunch
Andrew McPherson
?
Meteor presentation
scandiweb
?
DevNexus 2013 - Introduction to WebSockets
Gunnar Hillert
?
Meteor node upnorth-bobdavies
Mark Skeet
?
Intro to meteor @py gotham Aug 15-16 2015
christieewen
?
Ad

More from Fernand Galiana (7)

PDF
GraphQLUs For The RestOfUs!
Fernand Galiana
?
PDF
Sailing into 2018 with Kubernetes and Istio
Fernand Galiana
?
PDF
GraphQL, The New Black?
Fernand Galiana
?
PDF
You, Mix and Kubee
Fernand Galiana
?
PDF
I motion
Fernand Galiana
?
PDF
R-House (LSRC)
Fernand Galiana
?
PDF
Rhouse - Home automation is ruby ?
Fernand Galiana
?
GraphQLUs For The RestOfUs!
Fernand Galiana
?
Sailing into 2018 with Kubernetes and Istio
Fernand Galiana
?
GraphQL, The New Black?
Fernand Galiana
?
You, Mix and Kubee
Fernand Galiana
?
R-House (LSRC)
Fernand Galiana
?
Rhouse - Home automation is ruby ?
Fernand Galiana
?
Ad

Recently uploaded (20)

PDF
AI Agents and FME: A How-to Guide on Generating Synthetic Metadata
Safe Software
?
PDF
Using the SQLExecutor for Data Quality Management: aka One man's love for the...
Safe Software
?
PDF
WebdriverIO & JavaScript: The Perfect Duo for Web Automation
digitaljignect
?
PDF
cnc-processing-centers-centateq-p-110-en.pdf
AmirStern2
?
PDF
Smarter Aviation Data Management: Lessons from Swedavia Airports and Sweco
Safe Software
?
PDF
GenAI Opportunities and Challenges - Where 370 Enterprises Are Focusing Now.pdf
Priyanka Aash
?
PDF
Cyber Defense Matrix Workshop - RSA Conference
Priyanka Aash
?
PDF
The Future of Product Management in AI ERA.pdf
Alyona Owens
?
PDF
Enhance GitHub Copilot using MCP - Enterprise version.pdf
Nilesh Gule
?
PDF
AI vs Human Writing: Can You Tell the Difference?
Shashi Sathyanarayana, Ph.D
?
PDF
"Scaling in space and time with Temporal", Andriy Lupa.pdf
Fwdays
?
PPTX
Securing Account Lifecycles in the Age of Deepfakes.pptx
FIDO Alliance
?
PDF
"Database isolation: how we deal with hundreds of direct connections to the d...
Fwdays
?
PDF
PyCon SG 25 - Firecracker Made Easy with Python.pdf
Muhammad Yuga Nugraha
?
PDF
Techniques for Automatic Device Identification and Network Assignment.pdf
Priyanka Aash
?
PDF
Oh, the Possibilities - Balancing Innovation and Risk with Generative AI.pdf
Priyanka Aash
?
PDF
2025_06_18 - OpenMetadata Community Meeting.pdf
OpenMetadata
?
PPTX
" How to survive with 1 billion vectors and not sell a kidney: our low-cost c...
Fwdays
?
PDF
Database Benchmarking for Performance Masterclass: Session 2 - Data Modeling ...
ScyllaDB
?
PDF
Python Conference Singapore - 19 Jun 2025
ninefyi
?
AI Agents and FME: A How-to Guide on Generating Synthetic Metadata
Safe Software
?
Using the SQLExecutor for Data Quality Management: aka One man's love for the...
Safe Software
?
WebdriverIO & JavaScript: The Perfect Duo for Web Automation
digitaljignect
?
cnc-processing-centers-centateq-p-110-en.pdf
AmirStern2
?
Smarter Aviation Data Management: Lessons from Swedavia Airports and Sweco
Safe Software
?
GenAI Opportunities and Challenges - Where 370 Enterprises Are Focusing Now.pdf
Priyanka Aash
?
Cyber Defense Matrix Workshop - RSA Conference
Priyanka Aash
?
The Future of Product Management in AI ERA.pdf
Alyona Owens
?
Enhance GitHub Copilot using MCP - Enterprise version.pdf
Nilesh Gule
?
AI vs Human Writing: Can You Tell the Difference?
Shashi Sathyanarayana, Ph.D
?
"Scaling in space and time with Temporal", Andriy Lupa.pdf
Fwdays
?
Securing Account Lifecycles in the Age of Deepfakes.pptx
FIDO Alliance
?
"Database isolation: how we deal with hundreds of direct connections to the d...
Fwdays
?
PyCon SG 25 - Firecracker Made Easy with Python.pdf
Muhammad Yuga Nugraha
?
Techniques for Automatic Device Identification and Network Assignment.pdf
Priyanka Aash
?
Oh, the Possibilities - Balancing Innovation and Risk with Generative AI.pdf
Priyanka Aash
?
2025_06_18 - OpenMetadata Community Meeting.pdf
OpenMetadata
?
" How to survive with 1 billion vectors and not sell a kidney: our low-cost c...
Fwdays
?
Database Benchmarking for Performance Masterclass: Session 2 - Data Modeling ...
ScyllaDB
?
Python Conference Singapore - 19 Jun 2025
ninefyi
?

What's new in Rails5?

  • 1. What new in Rails5? Fernand Galiana Saturday, March 2, 13
  • 2. Who¡¯s that fool yo? @kitesurfer fernand.galiana@gmail.com github/derailed Saturday, March 2, 13
  • 6. Seven principles Data on the wire One language DB everywhere Latency compensation Full stack reactivity Embrace ecosystem Clean simple apis Saturday, March 2, 13
  • 7. Installation $ curl https://install.meteor.com | /bin/sh Saturday, March 2, 13
  • 8. Create an app meteor create myBitchinApp Saturday, March 2, 13
  • 9. Command line meteor [run] [-p] [--production] [--settings] meteor mongo meteor reset meteor update Saturday, March 2, 13
  • 10. Bundler? meteor list [--using] meteor add pkg meteor remove pkg Saturday, March 2, 13
  • 11. Deploying mrt deploy bitchindemo.metor.com mrt bundle bitchindemo.tgz Saturday, March 2, 13
  • 13. Mongo loves... Client Client Server Db Saturday, March 2, 13
  • 14. Collections Items = new Meteor.Collection( ¡°fred¡± | ... ) Items.insert { fred:¡±Blee¡± } Items.update {},{$set|$push|...}, [multi], [cb] Items.?nd {}, {}, {} Items.remove {} Saturday, March 2, 13
  • 15. Session (!session) Session.set( ¡°fred¡±, ¡°Blee¡± ) Session.get( ¡°fred¡± ) Session.equals( ¡°fred¡±, ¡°Duh¡± ) Saturday, March 2, 13
  • 16. Handlebars? {{#each posts}} {{#if duh}} <td>{{>post_duh}}</td> {{/else}} <td>{{>post}}</td> {{/if}} {{/each}} Saturday, March 2, 13
  • 17. Helpers Template.fred.bitchin_css -> if Session.equals( 'blee', 'duh' ) 'yo-bitchin' else 'yo-lame' <template name='fred'> <p class='{{bitchin_css}}'> really! </p> </template> Saturday, March 2, 13
  • 18. Events Template.item.events = 'click #fred': -> Session.set( 'fred', true ) Saturday, March 2, 13
  • 20. Bundles accounts angular | backbone | jquery bootstrap d3 underscore | handlebar | coffee less | sass | stylus mailer atmosphere.meteor.com Saturday, March 2, 13
  • 21. Client + Server = 1 Meteor.is_client Meteor.is_server Saturday, March 2, 13
  • 22. Tag merges <body> {{> hello}} </body> <template name='hello'> <h1>Hello World!!!!</h1> </template> <body> <p class=''{{bitchin_css}}'>Is it bitch'in yet, yo?</p> </body> Saturday, March 2, 13
  • 24. Reactivity... Method.autorun -> Meteor.subscribe( 'messages', Session.get( 'fred' ) ) Meteor.publish('message', (search)-> Messages.find( {search_term: search} ) Saturday, March 2, 13
  • 25. Reactive context Template Meteor.render Meteor.renderList Meteor.autorun Custom Saturday, March 2, 13
  • 26. Reactive datasources Session Collection Meteor.status ready Meteor.user | userId | loggingIn Cust Meteor.deps Saturday, March 2, 13
  • 27. Reactivity... fragment = Meteor.render -> name = Session.get("name") || "Batman!" "<div>Hello, I am #{name}</div>" $( 'body' ).append fragment Saturday, March 2, 13
  • 28. So what? Perf Security Single page apps Loose context Testing Server side reuse Saturday, March 2, 13
  • 29. Competition Mojito Derby Saturday, March 2, 13
  • 30. Future looks so bright POC != POS Saturday, March 2, 13
  • 31. Resources meteor.com atmosphere.meteor.com @meteorjs #meteor github.com/meteor/meteor meteor-talk.googlegroups blackandwtf.tumblr.com Saturday, March 2, 13