Professional Documents
Culture Documents
Angular
Angular
Servicii
Serviciile sunt obiecte care pot fi conectate folosind dependency injection.
Acestea sunt folosite pentru a organiza si a refolosi codul in intr-o aplicatie.
Initializare lenesa Angular initializeaza un serviciu doar atunci cand o
componenta a aplicatiei are nevoie de acesta
Singleton fiecare componenta care depinde de un anumit serviciu
primeste o referinta la singura instanta generata de service factory
Servicii oferite de Angular: $http, $log, $location, $rootScope, $controller
etc.
Pe langa aceste servicii oferite de Angular, programatorii isi scriu propriile
servicii in functie de nevoile aplicatiei.
Directive
Probabil una dintre cele mai importante proprietati pe care le are AngularJS. Acestea
ne permit sa extindem gramatica web-ului generand elemente, attribute si clase
HTML reutilizabile.
https://egghead.io/lessons/angularjs-isolate-scope-review?__s=2gpzytuaiossjnivu2zy&confirm=182MJH21XAF-47JHE
Manipularea DOM
!!! its really a bad idea to use jQuery plugin directly in your
controller: you are making your controller impossible to test and you
can hardly reuse any logic. !!!
Summary:
Put control logic in directive controller, and DOM logic in link function; scope
sharing is the glue.
Resource: http://ruoyusun.com/2013/05/25/things-i-wish-i-were-told-aboutangular-js.html
Resource: https://thinkster.io/egghead/the-dot
Underscore
O biblioteca pentru JavaScript care pune la dispozitie o multime de functii
ajutatoare provenite din programarea functionala si nu numai.
Resource: http://underscorejs.org/
Angular UI vs Kendo UI
AngularUI
UI-Modules, UI-Alias, UI-Bootstrap, NG-Grid, UI-Router, UI-Select, IDE
Plugins
Kendo UI
Dependinte care trebuie sa respecte o ordine foarte clara care pot
genera un comportament foarte ciudat daca nu sunt respectate. Nu e
backwards compatible.
Cauza pricipala care ne-a determinat sa folosim DOM-ul in controllere
Gama mult mai restransa de posibilitati decat la AngularUI
Impune utilizarea unei structuri fara sa scada flexibilitatea care face MongoDB atat de puternic
Unit testing
Angular este scris pentru a fi testat foarte usor dar daca nu se respecta principiile
acestui limbaj, atunci se poate ajunge la o aplicatie care nu poate fi testata sau
care poate fi testata foarte greu
!!! With great power comes great responsibility !!!
Ce putem folosi pentru testarea aplicatiilor scrise in Angular
Karma - JavaScript command line tool that can be used to spawn a web server which loads your
application's source code and executes your tests
Karma aduce un mediu de testare productiv.
Jasmine - cea mai frecventa alegere(karma-jasmine)
Angular-mocks modulul ngMock
Una din cele mai puternice componente puse la dispozitie de ngMock este $httpBackend ne permite
sa inscenam cereri XHR(XMLHttpRequests) (in ciudat numelui, pot primi raspunsul cererii http/https
si in alt format decat XML JSON, HTML, text) pentru a returna date de test.
Resource: https://docs.angularjs.org/guide/unit-testing
10
Teste E2E
Protractor
A test framework for
writing end-to-end
(E2E) tests
11
Yeoman
Resource: http://yeoman.io/
12
Alte probleme:
Deploy automat din primele faze ale proiectului
Implementare history aplicatie inca de la inceput
Sa scriem functii SQL in loc sa scriem scripturile direct in JS
Analiza pe proiect inainte de a incepe dezvoltarea
13
14
Resurse utile
Tutorial Angular: https://egghead.io/technologies/angularjs
15