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

Nx - The Obvious Choice

Nx - The Obvious Choice

We live in a world constantly being tempted with choices. Choices that drain our time and energy. How do you decide what to use? How do you make sure your choice is the right one? Who should you trust?

Let me enlighten you on what benefits you will reap by using Nx (and monorepos) in every project size and setup. Let me give you enough arguments to make the right choice. The obvious choice you were missing this whole time.

Get ready for the future! Get ready for the age of monorepos!

Miroslav Jonaš

March 23, 2022
Tweet

More Decks by Miroslav Jonaš

Other Decks in Programming

Transcript

  1. Miroslav Jonas / @meeroslav / nx.dev / nrwl.io
    The Obvious Choice
    Angular Munich Meetup / March 2022

    View full-size slide

  2. Miroslav

    Jonaš
    @meeroslav

    View full-size slide

  3. STAY FRESH
    LONGER

    View full-size slide

  4. FILTER
    THE NOISE

    View full-size slide

  5. ONE EASY
    CHOICE

    View full-size slide

  6. ONE OBVIOUS
    CHOICE

    View full-size slide

  7. Homepage App
    Backend
    Every application*
    UI Components

    /

    Design system

    View full-size slide

  8. Homepage App
    Backend
    Every application*
    UI Components

    /

    Design system
    Service 1 Service 1 Service 1 Service 1 Service 1 Service 1 Service 1

    View full-size slide

  9. Homepage App
    Backend
    Every application*
    UI Components

    /

    Design system
    Service 1 Service 1 Service 1 Service 1 Service 1 Service 1 Service 1
    Admin Portal App
    Mobile App

    View full-size slide

  10. Homepage App
    Backend
    Every application*
    UI Components

    /

    Design system
    Service 1 Service 1 Service 1 Service 1 Service 1 Service 1 Service 1
    Admin Portal App
    Mobile App
    Utility

    View full-size slide

  11. Main library
    Website / Docs
    Every open source*
    Demo 1
    Example 2 Showcase 3

    View full-size slide

  12. Homepage App
    Backend
    Collocation
    UI Components

    /

    Design system
    Service 1 Service 1 Service 1 Service 1 Service 1 Service 1 Service 1
    Admin Portal App
    Mobile App
    Utility

    View full-size slide

  13. Code sharing

    View full-size slide

  14. Just collocation
    NOT

    View full-size slide

  15. Affected graph
    store
    games sales coupons
    core
    shared
    admin

    View full-size slide

  16. Workspace analysis

    View full-size slide

  17. Task orchestration
    Test Build Lint
    Build
    Lint
    Test
    Build
    Lint
    Test

    View full-size slide

  18. Caching
    Never { build, test, lint… } same code twice
    { build, test, lint,... }
    Nx
    Local cache
    { build, test, lint,... }
    Nx
    Local cache

    View full-size slide

  19. Distributed task execution
    10 tasks
    110 tasks
    100 tasks
    150 tasks
    10 tasks
    105 tasks
    5 tasks
    60 tasks
    35 tasks
    Agent 1
    Agent 2
    Agent 3
    Agent 4
    Agent 5
    Single agent

    View full-size slide

  20. Code constraints

    View full-size slide

  21. Code constraints
    store
    games sales coupons
    core
    shared
    admin

    View full-size slide

  22. But I have only one
    project…

    View full-size slide

  23. @angular/cli is awesome
    but Nx is über awesome

    View full-size slide

  24. Powerful generators

    View full-size slide

  25. Consistent tooling

    View full-size slide

  26. Monorepos bring clarity
    - workspace analysis


    - graph visualization

    View full-size slide

  27. - local & remote caching


    - task orchestration


    - detecting affected nodes


    - distributed task execution


    - remote execution
    Monorepos bring speed

    View full-size slide

  28. - code sharing


    - code collocation


    - powerful generators


    - consistent tooling


    - code constraints
    Monorepos make it easy

    View full-size slide

  29. nx.dev / nrwl.io
    Use

    View full-size slide

  30. Miroslav Jonas / @meeroslav / nx.dev / nrwl.io
    The Obvious Choice
    Angular Munich Meetup / March 2022

    View full-size slide