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

Modern Enterprise Application Development with ...

Modern Enterprise Application Development with Angular, Nestjs, Azure

Modern Enterprise Application Development with Angular, Nestjs, Azure

Jecelyn Yeen

April 27, 2019
Tweet

More Decks by Jecelyn Yeen

Other Decks in Programming

Transcript

  1. Typescript in General Backend - Nodejs & Nestjs Frontend -

    Angular Infrastructure - Azure Live Demo Maybe?
  2. This is how I see JavaScript... - JQuery, for cosmetic

    purpose and AJAX! - Dynamic, you can do anything - Messy, for toy project only - No intellisense - For client only - Hipster, why split to front-end and back-end? - Why no GUI, why command line only? - Why no out-of-the box template? - How do I host it? Where is my IIS?
  3. Typescript - By Microsoft - Provide types, no more magic

    - Intellisense, yay! - Great tooling supports - C# like coding experiences
  4. Nodejs is simple up to a certain point When build

    medium - large applications, the definition of simple change.
  5. Application Issues (Medium to Large) - Nodejs Lack of Common

    Architecture Fragile Execution Problematic Growth
  6. “We build our computer (systems) the way we build our

    cities. Over time, without a plan, on top of ruins.” - Ellen Ullman
  7. Reliability & Stability - Google internally have 400+ applications using

    Angular - Pre-release tests for free - Before release new version of Angular, Google will first test on their applications make sure it works - Angular is open source (link), all codes & issues reported are transparent - Predictable versioning & releases (link) - Semantic release: major.minor.patch - A major release every 6 months - 1-3 minor releases for each major release - A patch release almost every week - Built-in protection for common web vulnerabilities (link) - Update guide & CLI command for update Angular application
  8. Structure - Angular CLI to create projects, generate different blueprints(components,

    services) - Provide standard project skeleton - Workspace concept(link) - Test setup - unit test, end-end - Dev server & build command ready - Angular styleguide (link) and built-in linting - Nx from nrwl.io - an open source toolkit for enterprise Angular applications - Dependency injection - Out of the box solution - routing, http client, forms, polyfills, css preprocessor
  9. Robustness - Typescript - Static typing, no more fragile execution

    - Linting - eliminate possible errors before commits - Angular Language Service (vscode extensions) - report errors during editing
  10. Scalability: Team - Hiring & training - How fast to

    get a junior (fresh) productive? - How fast to get a programmer to be productive? - Full stack development - Can backend developers leverage their skills in frontend? - Resources available - videos, stackoverflow, community
  11. Scalability: Application - Resources available - open source libraries -

    Enterprise grade (paid): Telerik, DevExtreme - Components & Design systems: PrimeNg, Material UI, Nebula, Clarity, ngx-bootstrap, ngx-admin - State management - NgRx, NgXs, Akita, MobX - Plugins - Firebase, Auth0, Angular CDK - Learn once, use everywhere - Ionic (Hybrid) - NativeScript (Native) - NestJs (Backend) - Lazy loading built in - Built-in Optimization
  12. “It’s never on how difficult is to write bad code,

    it’s on how easy is to write good code.”