AngularJS Good Practices

From Training Material
Jump to: navigation, search
Courses Offered


This text may not be complete.


AngularJS Good Practices
Lukasz Sokolowski (NobleProg Ltd)

AngularJS Good Practices          Lukasz Sokolowski (NobleProg Ltd)

AngularJS Good Practices

AngularJS Good Practices Training Materials


Angular Bespoke Course Outline

(Proposition of potential agenda, can be adjusted or extended)

2 days training

Bespoke agenda

  • Avoiding major pitfalls of scaling an AngularJS app
  • Proper MVC directory structure
  • Writing Modules in a smarter way
    • Keeping the names consistent
    • Modularize the Header, Footer, Routes
  • Dependency injection and minifying the code
    • Global dependencies
  • Not-overusing Controllers
    • Syntax of 'controllerAs'
    • Using 'bindToController' in our Directives
    • Making 'ng-click' conditional
  • Factory vs Service
    • All providers are singletons
  • Utilizing browser extensions (Batarang, etc)
  • To many watchers and performance issues
  • Scoping
    • Write-only in the controllers
    • Read-only in the templates
    • Object in the scope instead of properties
    • Avoiding to shadow property of the parent '$scope'
    • Prototypical inheritance
    • Keeping scope uncluttered
    • How to talk with sibling objects
  • One-Time Binding
  • Not-manual testing
    • ngMock module
    • Protractor
      • e2e tests with Jasmine
      • '$digest' cycles
    • Karma
      • How to easly close the feedback loop
      • Run tests in parallel across different browsers
      • Real world usage scenarios with different devices
  • Not-using jQuery
    • Change the way of thinking
  • Proper deploying
    • Facade to interact with servers
      • Separation of server interaction and error handling from the model
    • Business logic in models
    • Configure providers before they are injected
    • Proper use of '$scope.$emit()' and '$scope.$broadcast'
    • Automating our workflow
      • yo, grunt, bower
  • Agnular 1 vs Angular 2
    • Differences and similarities
    • Three ways: typescript, pure js, dart
    • Good practices in Angular 2
    • Upgrading from 1