MVC is dead - Again

MVC is dead - Again

82c8dbce9b531b588a6e920eddad857e?s=128

Fabrizio Fortunato

July 27, 2017
Tweet

Transcript

  1. MVC IS DEAD

  2. @izifortune LEAD FRONTEND DEVELOPER

  3. PRE MVC

  4. None
  5. BACKBONE - THE RISE OF MVC

  6. MVC

  7. None
  8. ANGULARJS - MVC WITH SUPERPOWERS

  9. MVC & 2 WAY BINDING

  10. None
  11. 2 WAY BINDINGS COMPONENTS

  12. None
  13. None
  14. None
  15. REDUX - MVC DECLINE

  16. ONEWAY DATAFLOW - COMPONENTS

  17. ONEWAY DATAFLOW ANGULARJS ANGULAR

  18. ONEWAY DATAFLOW - ANGULARJS ALWAYS USE ONEWAY BINDING (<) NEVER

    USE TWOWAY BINDING (=)
  19. ONEWAY DATAFLOW - COMMUNICATION PARENT - CHILD: bindings (<) CHILD

    - PARENT: bindings ( & )
  20. CHILD PARENT COMM ( PARENT )

  21. CHILD PARENT COMM ( CHILD )

  22. WHY?!?! CONSISTENCY ANGULAR2 PREDICTABLE CHANGES OF THE MODEL DECOUPLED CHILD

    COMPONENTS
  23. None
  24. STATEFUL COMPONENT FETCHES STATE ( eg. service ) MUTATE STATE

    RENDER CHILD COMPONENTS
  25. STATEFUL COMPONENT

  26. STATELESS COMPONENT REUSABLE DEFINED INPUT & OUTPUTS DOES NOT MUTATE

    THE STATE
  27. STATELESS COMPONENT

  28. None
  29. None
  30. REDUX PREDICTABLE STATE CONTAINER Single source of truth State is

    read only Changes are made with pure functions
  31. REDUCERS

  32. REDUX - FLOW

  33. NGREDUX BASED ON REDUX BRING REDUX TO NG1 WORLD SMALL

    LIBRARY
  34. NGREDUX CONNECTED COMPONENT

  35. GREAT SUCCESS INTRODUCED INTO AN EXISTING CODEBASE ...less bugs ...more

    happiness
  36. NGRX NG2 SOLUTION BASED ON ANGULAR CORE OBSERVABLES FULL SOLUTION

  37. NGRX @ngrx/store @ngrx/effects @ngrx/router-store @ngrx/store-devtools

  38. REDUCERS

  39. STORE

  40. CONNECT COMPONENT

  41. ADVANCED TYPED ACTIONS

  42. ADVANCED TYPED ACTIONS - REDUCER

  43. ADVANCED TYPED ACTIONS - DISPATCH

  44. None
  45. TIME TRAVEL

  46. CODING TIME

  47. None
  48. LINKS https://medium.freecodecamp.com/is-mvc-dead-for-the -frontend-35b4d1fe39ec#.48ucfay0l https://toddmotto.com/stateful-stateless-components http://redux.js.org/

  49. MVC is dead, MVC remains dead, and we have killed

    him. How shall we model our apps, the murderers of all murderers! What was the holiest and mightiest of all that the frameworks had, yet owned has bled to death under our typing. Who will wipe this pattern off to us? What approach is there for us to use ourselves? What flow of atonement, what sacred pattern shall we to invent? Is not the greatness of this deed too great for us? Must we ourselves embrace the flow simply to appear worthy of it?
  50. THANK YOU