Intro to web


Published on

Published in: Technology
  • Be the first to comment

  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Intro to web

  1. 1. Intro to Web Dev with Rails
  2. 2. 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
  3. 3. 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
  4. 4. 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
  5. 5. 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
  6. 6. 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!
  7. 7. Recap Web Server Application Request Response
  8. 8. Framework What is a Web Framework? Web Server Application Request Response
  9. 9. Web Frameworks ● Websites share common functionality ○ Security and login ○ Routing requests to business logic ○ Accessing the database ○ Etc ● Application architecture ● Community ● Increased productivity
  10. 10. 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."
  11. 11. Why Rails? ● It is buzz heavy ● Major milestone 4.0 ● Ruby is a fun language ● Neutral
  12. 12. 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
  13. 13. 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
  14. 14. Development environment in 60 seconds
  15. 15. Environment setup and application creation
  16. 16. Heroku "Ship it or it didn't happen." Cloud Application Platform
  17. 17. 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
  18. 18. Conclusion ● Rails is a web framework built on Ruby ● We used 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
  19. 19. What's next? ● Keep your 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
  20. 20. Scaffolding a resource