RubyonRails

Loading...

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

0 comments

Post a comment

    Post a comment
    Embed Video
    Edit your comment Cancel

    Favorites, Groups & Events

    RubyonRails - Presentation Transcript

    1. Getting On Board Ruby on Rails
      • Brian Hogan and Lillian Hillis
      • University of Wisconsin – Eau Claire
    2. Getting On Board Ruby On Rails
      • Framework is two years old
      • New way to develop web-based applications
      • Lots of converts from other languages
      What's the buzz
    3. Getting On Board Ruby On Rails
      • New web-to-database systems
      • Migrations from existing PHP, ASP, or Perl systems
      • An alternative to non-Enterprise J2EE systems
        • Systems in that gap between simple scripts and complex enterprise systems
      When to use Rails
    4. Getting On Board Ruby On Rails
      • Simple scripts
      • Non-web projects
      • Complex systems with legacy databases
        • Possible to do but you will lose productivity gains
      When NOT to use Rails
    5. Getting On Board Ruby On Rails
      • Web-based administrative systems for administrative and academic offices
        • Housing and Residence Life
        • Student Health Services
        • Music and Theater Arts
        • Continuing Education
      • Developed by student developers
        • New developers every couple of years
        • Team-based approach whenever possible
      How UW-Eau Claire Uses It
    6. Getting On Board Ruby On Rails
      • Rapid prototyping
      • Built-in testing
      • Easy to maintain and upgrade
      • Friendly user community
      • Easy to learn, embrace and extend
      • It’s agile!
      Key Benefits
    7. Getting On Board Ruby On Rails Who’s Using Rails
      • Penny Arcade
      • AListApart
      • Gusto
      • Shopify
      • Strongspace
      • Yakima-Herald Telegram
      • Subtopic
    8.  
    9.  
    10. Getting On Board Ruby On Rails Rails and the MVC Pattern
      • Model - View - Controller
      • Rails follows this pattern very strictly
      • Rails adds some extra components to this pattern
    11.  
    12. Getting On Board Ruby On Rails Models
      • Provide access to database tables
      • Contain business rules
        • Record CRUD (Create, Read, Update, Delete)
      • An instance represents a row in a table
        • Grade model instance => one row from ‘grades’ table
    13. Model
      • Models also define validations and associations with other models.
    14. Getting On Board Ruby On Rails Models Provided by mboffin.com
    15. Getting On Board Ruby On Rails Controllers
      • Handle user requests
      • Retrieve data from models
      • Invoke methods on models
      • Send views and responses to users
      • Should contain no business logic
        • Only flow control
    16. Controllers
      • Here’s a basic controller action to display a blog post
      • The URL would be /blog/show/1
    17. Getting On Board Ruby On Rails Views
      • The user screens or web pages of your applications
      • Should contain no business logic
      • Should not know about models
      • Should contain very little presentation logic whenever possible
        • Helpers are used for this
    18. View
      • Views are similar to PHP or ASP pages
      • Much more powerful
      • Partials can be used to make our work easier
    19. Getting On Board Ruby On Rails Rails-specific MVC components
      • Helpers
      • Partials
      • Layouts
    20. Getting On Board Ruby On Rails Helpers
      • Place to put presentation logic
      • Available to Views and controllers
      • Rails has hundreds of built-in helpers for your views
      • Easy to make your own
    21. Getting On Board Ruby On Rails Partials
      • Pieces of view code that can be reused
        • Can be applied to a collection of data!
      • Designed to be shared across multiple views
      • Examples
        • Form fields for Create and Update pages
        • Search results
        • Tables
        • Table rows
    22. Getting On Board Ruby On Rails Layouts
      • Your templates are here.
      • Global or controller-specific
      • No need for header and footer separation
        • Rails reads the template last and places your application within the content region
      • Easy for designers to create layouts without knowing Rails
    23. Layouts Your rendered view is inserted here!
    24. Getting On Board Ruby On Rails Migrations
      • Database-independent schema definition
      • Incrementally define your database
      • Makes creation and recreation easy!
      I’m platform-independent!
    25. Getting On Board Ruby On Rails Scaffolding
      • Generation of controllers and views based on model definition
      • Not meant for production use!
        • Needs tweaking first
    26. Getting On Board Ruby On Rails Demo!
    27. Getting On Board Ruby On Rails Scalability
      • Rails scales horizontally
      • When load is too high, bring up another instance of the app & load balance your traffic
      • Simple solutions for load-balancing
        • Apache 2.2 + mod_proxy_balance
        • Pound
        • Pen (Easy but no SSL support)
        • Lighttpd + mod_proxy
    28. Getting On Board Ruby On Rails Scalability (continued)
      • Know your current requirements
      • “ 100 users at the same time” isn’t a good benchmark
        • Simultaneous actions don’t happen all the time
      • Think “requests per second”
        • Measure your existing apps and see how Rails compares.
      • Your database is often the first scalability problem you’ll encounter in any web application
        • Databases can be clustered
    29. Getting On Board Ruby On Rails Performance
      • Rails performs on par with other languages
      • Slower on Windows
        • Limitation of compiled Ruby on Windows
      • My tests on similar hardware
        • 7 req/sec to 35 req/sec on Windows
        • 30 req/second to 150 req/second on Linux
      • Increase load by adding more “dispatchers” and load-balancing them
    30. Getting On Board Ruby On Rails Deployment
      • Linux is the best for deployment
      • Windows is supported
        • IIS won’t work well, if at all
        • Simple workarounds for this exist
      • Shared Hosting providers supporting Rails
        • Dreamhost (Great for personal stuff)
        • BlueHost
        • RailsPlayground
      • High-availability providers
        • RailsMachine
        • EngineYard
    31. Deployment
    32. Getting On Board Ruby On Rails Security
      • Security is a people problem
        • Developers must ensure security of their code and data
        • System admins must keep their systems up to date
      • Rails has built-in mechanisms for preventing SQL injection and XSS
      • Rails is as secure as any other server-side language
      • How secure is your platform underneath the web application?
    33.  
    34. Choosing a Development Language
      • MyDecisionHelper
        • Helps you make critical decision using a patent-pending decision engine
        • Rails application developed by a team of five
          • Two Rails programmers, one designer, one consultant, and one market analyst, each working less than 20 hours per week
          • Developers are new to Rails
          • One developer made more progress in one weekend than in 3 months with .Net!
          • What you see didn’t exist 2 months ago!
    35. Getting On Board Ruby On Rails Resources - Books
      • Learn to Program (Chris Pine)
      • Agile Web Development with Rails (Dave Thomas and David Heinemeier Hansson)
      • Ruby for Rails, Ruby techniques for Rails developers (David Black)
      • Programming Ruby (Dave Thomas)
      • Rails Recipes (Chad Fowler)
    36. Getting On Board Ruby On Rails Resources – Web Sites
      • www.rubyonrails.org
      • wiki.rubyonrails.com
      • api.rubyonrails.org
      • www.uwec.edu/webdev/ror for additional resources
    37. Getting On Board Ruby On Rails Resources – Mailing List
      • groups.google.com/group/rubyonrails -talk
    38. Getting On Board Ruby On Rails Resources - Other
      • #rubyonrails on irc.freenode.org
      • Email Brian any time
        • [email_address]
        • [email_address]
      • Contact Brian any time after the presentation
    39. Getting On Board Ruby On Rails Thanks for coming!
    40. Getting On Board Ruby on Rails
      • Brian Hogan
      • [email_address]
      Lillian Hillis [email_address]

    + webuploaderwebuploader, 3 years ago

    custom

    259 views, 0 favs, 0 embeds more stats

    More info about this document

    © All Rights Reserved

    Go to text version

    • Total Views 259
      • 259 on SlideShare
      • 0 from embeds
    • Comments 0
    • Favorites 0
    • Downloads 11
    Most viewed embeds

    more

    All embeds

    less

    Flagged as inappropriate Flag as inappropriate
    Flag as inappropriate

    Select your reason for flagging this presentation as inappropriate. If needed, use the feedback form to let us know more details.

    Cancel
    File a copyright complaint
    Having problems? Go to our helpdesk?

    Categories