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

Frontendops: the dark side of Web development

Frontendops: the dark side of Web development

Negli ultimi anni la complessità dello sviluppo front end è cresciuta esponenzialmente rendendo davvero difficile stare al passo con tutte le novità che vengono sviluppate. Mantenere e configurare le automazioni di un progetto è sempre più complicato: troppe scelte a disposizione per chi vi si avvicina per la prima volta, dispersivo e time consuming per gli sviluppatori esperti.
Si vedrà come migliorare le automazioni dei vostri progetti utilizzando varie tecniche, trucchi e strumenti al fine di migliorare la vostra Developer Experience nel mantenere ed evolvere le automazioni dei vostri progetti.

In questo repo (work in progress e non completamente funzionante) si trovano vari spunti su come implementare i concetti espressi nelle slides: https://github.com/cef62/frontend-ops-torino


Matteo Ronchi

November 10, 2016

More Decks by Matteo Ronchi

Other Decks in Programming


  1. @cef62 github.com/cef62 Senior frontend engineer @ Staff member of Verona

    Frontenders Italian React & Angular Communities Maintainer Matteo Ronchi
  2. Several hours spent everyday working on them They are your

    responsibility You know them and they know you!
  3. Use scaffold generator tools Use boilerplates without really understanding them

    or knowing their dependencies Add 3rd party modules just because they work Declare your dependencies using SemVer ranges (^3.2.1, ~1.0.1) instead of specifying exact versions Don’t write any test
  4. decouple automation scripts from the underlying tools expose clean APIs,

    easy to use and understand write automation scripts as plain node modules invoke the modules directly or use npm scripts to do it if you feel fancy you could create your own command prompt
  5. Test your commands Your web services are tested Your SPA

    is tested Why your automation scripts are not tested?
  6. Most development teams are distributed across the 3 major OS

    Use cross-OS tools to avoid unwanted constraints for your projects (cross-env, shelljs, dthree/cash) Point out clearly in your docs when you are using different tools for different OS
  7. Document it! Document every command available to your project For

    small projects a good readme file should be enough For bigger projects create multiple markdown files and use GitBook to compile them Document regularly and from the start of a project life!
  8. Try to use 3rd party tools only when they are

    really useful If you must have dependencies choose stable and well maintained ones Try to write your automation scripts whenever possible less problems for unmaintained deps lower technical debt of your projects
  9. Your web project is alive, it will always change and

    evolve Your dependencies are alive too, keep an eye on them A balance between change and stability is required
  10. Check and update often your projects dependencies Do it weekly,

    it’s great and is really unobtrusive In a team of 3 developer every one will spend few hours per month to maintain your projects dependencies updated Improve your team knowledge of projects maintenance
  11. Summary Abstract your automation scripts Test your automation scripts Document

    your automation scripts Keep your dev-dependencies updated