AngularJS
Advanced Topics
By
Amr Abd El Latief
Slides and Contacts
 Mail : amrabdellatief1@gmail.com
 Github : https://github.com/Amr-Abd-El-Latief
 https://www.slideshare.net/Amr_abd_ellatief
Agenda
 Best Practices
 How It Work
 Ready Made AngularJS DirectivesHistory
 Questions
Best Practices
Best Practices
How It Work
Ready Made AngularJS Directives
Ready Made AngularJS Directives
 http://angular-js.in/
 https://github.com/gianarb/awesome-angularjs#chart
 http://angular-google-chart.github.io/angular-google-chart/docs/1.0.0-
beta.1/examples/gauge/
 http://ngmodules.org/
 https://codegeekz.com/18-best-angularjs-directives-for-developers/
How AngularJS does MVC
AngularJS Life Cycle
 http://onehungrymind.com/notes-on-angularjs-scope-life-cycle/
 https://www.ng-book.com/p/The-Digest-Loop-and-apply/
Dependency Injection
Dependency Injection
AngularJS Material Design
AngularJS Material Design
AngularJS Material Design : Links
 Angular Material
 https://github.com/angular/material
 Get Start From Here :
 https://material.angularjs.org/latest/getting-started
 Ideas and Demos
 https://codepen.io/team/AngularMaterial/
AngularJs unit Test
 Jasmin-Karma
 https://docs.angularjs.org/guide/unit-testing
Localization
 https://angular-translate.github.io/
 https://docs.angularjs.org/guide/i18n
 https://scotch.io/tutorials/internationalization-of-angularjs-applications
 Arabic example : http://jsfiddle.net/c163d3zy/
Discussion &
Questions
Future & Readings (Complete the Trip)
 https://github.com/angular/angular-seed
 https://karma-runner.github.io/1.0/index.html
 https://docs.angularjs.org/guide
 https://github.com/angular/angular.js/wiki/Understanding-Scopes
 https://www.youtube.com/watch?v=r1A1VR0ibIQ
 https://github.com/johnpapa/angularstyleguide/blob/master/a1/READ
ME.md
 http://onehungrymind.com/notes-on-angularjs-scope-life-cycle/
Refrences
 https://docs.angularjs.org/tutorial/
 https://www.youtube.com/playlist?list=PLF8OvnCBlEY1wS7CSq_FKPYD_2E5en
g79
 https://www.w3schools.com/angular/
 https://www.slideshare.net/SathishVJ/angularjs-beginners-workshop
 https://github.com/angular/angular.js/wiki/Understanding-Scopes
 https://docs.angularjs.org/guide/concepts
 https://github.com/johnpapa/angular-
styleguide/blob/master/a1/README.md#controllers
 https://www.youtube.com/watch?v=khk_vEF95Jk
Extension
 https://www.slideshare.net/SathishVJ/angularjs-beginners-workshop
AngularJs advanced Topics

AngularJs advanced Topics

Editor's Notes

  • #5 Single Responsibility Rule of 1 [Style Y001] Define 1 component per file, recommended to be less than 400 lines of code. Why?: One component per file promotes easier unit testing and mocking. Why?: One component per file makes it far easier to read, maintain, and avoid collisions with teams in source control. Why?: One component per file avoids hidden bugs that often arise when combining components in a file where they may share variables, create unwanted closures, or unwanted coupling with dependencies.
  • #6 Modules Avoid Naming Collisions [Style Y020] Use unique naming conventions with separators for sub-modules. Why?: Unique names help avoid module name collisions. Separators help define modules and their submodule hierarchy. For example app may be your root module while app.dashboard and app.users may be modules that are used as dependencies of app. -------- Keep Controllers Focused [Style Y037] Define a controller for a view, and try not to reuse the controller for other views. Instead, move reusable logic to factories and keep the controller simple and focused on its view. Why?: Reusing controllers with several views is brittle and good end-to-end (e2e) test coverage is required to ensure stability across large applications. --------- Directives Limit 1 Per File [Style Y070] Create one directive per file. Name the file for the directive. Why?: It is easy to mash all the directives in one file, but difficult to then break those out so some are shared across apps, some across modules, some just for one module. Why?: One directive per file is easy to maintain. ------------
  • #12 http://slid.es/neenhouse/dependency-injection-in-angularjs
  • #13 http://slid.es/neenhouse/dependency-injection-in-angularjs
  • #20 https://github.com/angular/angular-seed https://karma-runner.github.io/1.0/index.html https://docs.angularjs.org/guide https://github.com/angular/angular.js/wiki/Understanding-Scopes