The document introduces Rails web development by covering goals, the syllabus, and key concepts. It discusses what the web is made of (HTTP, HTML, CSS, JavaScript) and how requests work. Frameworks are introduced as a way to share functionality among websites. Rails is presented as a popular Ruby-based framework, and Nitrous.io and Heroku are demonstrated as tools for setting up environments and deploying Rails apps.
3. Goals
● 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
○ Rails
4. Syllabus
● 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
5. What is the Web?
● HTTP
○ Hypertext Transfer Protocol
○ Send documents back and forth on the web
○ Among other things, defines a set of verbs
■ GET, POST, PUT, DELETE
● HTML
○ Hypertext Markup Language
● CSS
○ Cascading Style Sheets
● Hypertext
○ Text with references to more text (hyperlinks)
● Javascript
6. Okay...
● Internet Browser
○ Initiates a conversation via HTTP verb
● Server - Apache/Nginx/IIS
○ Receives request, replies with a response
● Browser
○ 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
7. Apache/Nginx/IIS
● Sits between the internet and your application
One step back...
Web Server Application
Request
Response
Request goes in, response comes out, you can't explain that!
10. Web Frameworks
● Websites share common functionality
○ Security and login
○ Routing requests to business logic
○ Accessing the database
○ Etc
● Application architecture
● Community
● Increased productivity
11. 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."
12. Why Rails?
● It is buzz heavy
● Major milestone 4.0
● Ruby is a fun language
● Neutral
13. 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,
Soundcloud, Mixbook
14. What is a development environment?
Typically, all software necessary to develop an application
● Text editor
● Database
● 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
24. Heroku
"Ship it or it didn't happen."
Cloud Application Platform
http://heroku.com
27. What do we know?
● The web is built on HTTP and hypermedia
● Web servers send requests to web
applications
● Web applications perform business logic and
communicate with other services such as
databases
28. Conclusion
● Rails is a web framework built on
Ruby
● We used Nitrous.io to spin up a
development environment to avoid
initial setup steps and get running
quickly
● We deployed a live web application
to the platform service Heroku
29. What's next?
● 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 zachary.gohr@gmail.com