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

Building modern web applications. Single Respon...

Building modern web applications. Single Responsibility Principle applied

Slides from my talk I gave on 4Developers conference

Michal Ostruszka

April 08, 2014
Tweet

More Decks by Michal Ostruszka

Other Decks in Programming

Transcript

  1. Roadmap / old times, good times? / what projects need

    / how to / toolbox / not all is well / profits @mostruszka / #4developers
  2. Single Responsibility do you speak it? In object-oriented programming, the

    Single Responsibility Principle states that every class should have a single responsibility, and that responsibility should be entirely encapsulated by the class. All its services should be narrowly aligned with that responsibility. @mostruszka / #4developers
  3. Backend devs doing frontend / architecture / standards & browser

    support / performance @mostruszka / #4developers
  4. Project needs / user experience / good performance / standards

    & browser support / maintainability / minimal-risk deployments @mostruszka / #4developers
  5. API JSON-based view-less server browser as API client GET /api/users

    HTTP/1.1 Host: example.com Accept: application/json HTTP/1.1 200 OK Content-Type: application/json {"foo": "bar"} @mostruszka / #4developers
  6. Deployment isolation static stuff is static *.html *.js *.css *.png

    *.java *.rb *.scala *.php @mostruszka / #4developers
  7. Build toolbox for frontend / grunt, gulp / yeoman, lineman

    / make, ant + tons of extensions @mostruszka / #4developers
  8. Backend / web as a transport layer only / micro

    web-frameworks / auto-documenting API / JSON standards @mostruszka / #4developers
  9. One SPA fits all? not so fast, cowboy / SEO,

    indexing / Twitter’s time to first tweet / view-heavy apps / additional code to maintain @mostruszka / #4developers
  10. node.js / middle layer / view server by JS devs

    / talks to backend API http://www.nczonline.net/blog/2013/10/07/node-js-and-the-new-web-front-end/ @mostruszka / #4developers
  11. backend / focus on business logic & core / keep

    well defined boundary / no more JS nightmares / independent development cycle Happy end @mostruszka / #4developers
  12. frontend / focus on client logic & view / use

    well-defined API / deliver great user experience / use right tools / drive design, automate, test Happy end @mostruszka / #4developers