SlideShare a Scribd company logo
Intro to Web Dev
with Rails
Intro to web
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
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
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
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
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!
Recap
Web Server Application
Request
Response
Framework
What is a Web Framework?
Web Server Application
Request
Response
Web Frameworks
● Websites share common functionality
○ Security and login
○ Routing requests to business logic
○ Accessing the database
○ Etc
● Application architecture
● Community
● 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."
Why Rails?
● It is buzz heavy
● Major milestone 4.0
● Ruby is a fun language
● Neutral
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
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
Nitrous.io
Development environment in 60 seconds
http://nitrous.io
Intro to web
Intro to web
Intro to web
Environment setup and application creation
Intro to web
Intro to web
Intro to web
Intro to web
Heroku
"Ship it or it didn't happen."
Cloud Application Platform
http://heroku.com
Intro to web
Intro to web
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
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
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
Scaffolding a resource

More Related Content

Intro to web

  • 1. Intro to Web Dev with Rails
  • 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!
  • 9. Framework What is a Web Framework? Web Server Application Request Response
  • 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
  • 15. Nitrous.io Development environment in 60 seconds http://nitrous.io
  • 19. Environment setup and application creation
  • 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