Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Web Development 101 by @tuttiq

Web Development 101 by @tuttiq

An introduction to how web services and apps work. Covering concepts like front-end, back-end, servers, clients, APIs, etc

Tutti Quintella

April 01, 2019
Tweet

More Decks by Tutti Quintella

Other Decks in Programming

Transcript

  1. • What is Web Development? • Front-end? Back-end? Server? Client?

    • What's the architecture of a web app? • What are APIs? Endpoints? Requests? Responses? • How does the server side work? • What are the languages, frameworks and tools of web development? Questions to answer
  2. Web Services or Apps Back-end (Server side) Front-end (Client side)

    • Software you access through the World Wild Wide Web (The INTERNET!) ◦ Divided in Back-end (Server side) and Front-end (Client side) • Front-end ⇒ part of the application that runs in a user client, directly accessible or visible to users of the application • Back-end ⇒ part of the application that runs in a server, not directly accessible or visible to users of the application
  3. • Software you access through the World Wild Wide Web

    (The INTERNET!) ◦ Divided in Back-end (Server side) and Front-end (Client side) • Front-end ⇒ part of the application that runs in a user client, directly accessible or visible to users of the application • Back-end ⇒ part of the application that runs in a server, not directly accessible or visible to users of the application Web Services or Apps Back-end (Server side) Front-end (Client side)
  4. • Clients: ◦ User client: desktop app, or browser or

    mobile device. Whatever tool your users will use to access / interact / use your application ◦ Non-user facing programs can also be called clients if they access a server application, but let's keep it simple for now... • Server: ◦ Literally: a computer that's connected to the internet 24/7 with a server application running on it ◦ Server application: a program that provides data or operations to clients Web Services or Apps
  5. Request Response Back-end / Server side (runs on a server:

    windows/linux/mac) Front-end / Client side (runs on a client: browser / mobile app) Web Apps Request Response Some applications provide a UI (User Interface) through web pages or mobile apps
  6. Back-end / Server side Front-end / Client side Web Apps

    Requesting web pages ENDPOINT: https://mercari.jp/dashboard METHOD: GET TYPE: HTML HTTP Request
  7. Back-end / Server side Front-end / Client side Web Apps

    Responding with HTML <html> <body> <title> A beautiful page </title> </body> </html> Response (HTML)
  8. • Some services provide an interface for interaction that's not

    a UI (User Interface) • It's an API ⇒ Application Programming Interface Web Services Request Response ENDPOINT: http://worldclockapi.com/api/json/est/now METHOD: GET { $id: "1", currentDateTime: "2019-03-11 04:51", utcOffset: "-04:00:00", isDayLightSavingsTime: true, dayOfTheWeek: "Monday" } HTTP Request JSON Response
  9. • Define how to access / interact / use an

    application or service (from a programming point of view) • Private APIs: only accessible internally from your system • Public APIs: open to public ◦ GoogleMaps API ◦ Facebook login API ◦ Many others APIs
  10. • Endpoints: the URLs available on your API (the entry

    points for using your application) • Requests: the way other programs can use (call) your APIs • Response: how your application responds to each request Endpoints, Requests, Responses The line is busy. This phone number is not registered. Response Call (Request) Endpoint: phone number Telephone Service
  11. Web Services Request Response ENDPOINT: http://worldclockapi.com/api/json/est/now METHOD: GET CONTENT-TYPE: JSON

    { status: 200 OK, id: "1", currentDateTime: "2019-03-11 04:51", utcOffset: "-04:00:00", isDayLightSavingsTime: true, dayOfTheWeek: "Monday" } HTTP Request JSON Response
  12. • HTTP Response Status Code: ◦ 200 OK, 404 Not

    Found, 403 Forbidden ◦ List of HTTP status codes (Wikipedia) • Requests attributes: ◦ Method: GET, POST, PUT / PATCH, DELETE ◦ Content type: HTML, JSON, Image, Plain Text ◦ Parameters and payload: data • API design (how to organize your endpoints and responses) ◦ API Design Patterns and Best Practices Some standards for APIs
  13. Web Services Request Response ENDPOINT: https://mercari.jp/listings METHOD: GET CONTENT-TYPE: JSON

    { status: 200 OK, items: [ { id: "1", title: "iPhone 6" }, { id: "2", title: "Genki Book I" }, { id: "3", title: "Gucci Bag" }, ], currentPage: 1, pages: 5 } HTTP Request JSON Response
  14. More details on architecture and following topics coming soon... •

    What are databases and how do they work? • What are the tools used for web-based app development? • What is the Software Development Life-Cycle (SDLC) a.k.a engineers daily / weekly routine