● For those that know too much
○ Fill in the gaps
● For those that know too little
○ Brief introduction to the web
● For those that know nothing
○ Help facilitate communication
● For everyone
● What is the web?
● What is a web framework?
○ Why do we use them?
● What is a development environment?
● How to deploy a Rails application
○ Use a web based IDE to create a Rails app
○ Deploying our app to a platform service
What is the Web?
○ Hypertext Transfer Protocol
○ Send documents back and forth on the web
○ Among other things, defines a set of verbs
■ GET, POST, PUT, DELETE
○ Hypertext Markup Language
○ Cascading Style Sheets
○ Text with references to more text (hyperlinks)
● Internet Browser
○ Initiates a conversation via HTTP verb
● Server - Apache/Nginx/IIS
○ Receives request, replies with a response
○ Receives response, in most cases HTML
○ Builds the "document" for display
○ Makes another request for style sheets (CSS)
○ Receive and apply CSS to render the page you see
● Sits between the internet and your application
One step back...
Web Server Application
Request goes in, response comes out, you can't explain that!
What is a Web Framework?
Web Server Application
● Websites share common functionality
○ Security and login
○ Routing requests to business logic
○ Accessing the database
● Application architecture
● Increased productivity
Some Rails History
● David Heinemeier Hansson
● 37signals, 2004
● October 2007, Mac OSX v10.5
"Rails was extracted from my work on
Basecamp—a project collaboration
tool from 37signals. So it was
motivated by needs, not predictions.
And I believe that’s a big part of why
we’re currently enjoying such
success. I didn’t try to imagine what
some programmers might need for a
fantasy job. I just built what I needed
to get my work done with a smile."
● It is buzz heavy
● Major milestone 4.0
● Ruby is a fun language
Who uses Rails?
WS Packaging, 37signals, Github, Shopify,
Scribd, Twitter, Disney, Hulu, Yellow Pages,
Living Social, Sortfolio, Heroku, Groupon,
Spree Commerce, Justin TV, New York Jets,
Lumosity, Penny Arcade, Funny or Die,
What is a development environment?
Typically, all software necessary to develop an application
● Text editor
● Test runner
● Programming language
● Image manipulation
● Web browser(s)
● Visual Studio, Sublime Text
● Sqlite3, SQL Server
● NUnit, RSpec
● ASP.NET, Ruby, Java
● Photoshop, Gimp
● Internet Explorer, Firefox
Development environment in 60 seconds
"Ship it or it didn't happen."
Cloud Application Platform
What do we know?
● The web is built on HTTP and hypermedia
● Web servers send requests to web
● Web applications perform business logic and
communicate with other services such as
● Rails is a web framework built on
● We used Nitrous.io to spin up a
development environment to avoid
initial setup steps and get running
● We deployed a live web application
to the platform service Heroku
● Keep your Nitrous.io account and box!
● Ruby / Dynamic programming
● Version control
● Bits and pieces of HTML/CSS
● Model, View, Controller
● Mapping objects to the database
● Routing requests to controllers
● Testing, Debugging
● What would you like to see?
Send me feedback email@example.com