Successfully reported this slideshow.
10 Reasons to choose AngularJS
it`s like marriage...
Choosing a Framework
nirkaufman@gmail.com
You used to be in charge.
it`s going to change.
Inversion of control
nirkaufman@gmail.com
First, let`s make it clear.
Framework vs Library
nirkaufman@gmail.com
Library
A set of function that you call.
Each function does some work, and returns
the control back to you.
You Are in Cha...
Framework
Has a behaviour built in.
we plug-in into it, register our classes and the
framework code is calling our
code in...
“ The framework often plays the role of the main
program in coordinating and sequencing
application activity. This inversi...
Let`s see what angularJS
Has to offer
Wear the architect Hat!
nirkaufman@gmail.com
I want my application to be able to grow.
I want to add features painlessly.
Modularity
nirkaufman@gmail.com
In angular, we can organized our code into
module objects which can depend on each other.
it`s make our code cleaner and m...
I want to write code that i can reuse.
I want to share components across projects.
Reusability
nirkaufman@gmail.com
We can pack our code in modules and share
them across apps.
Angular components are just POJO`s, we can
use them in any jav...
I want to understand what's going on in my
app just by reading the code.
Readability
nirkaufman@gmail.com
Angular directives enable us to develop in a
declarative style that is very readable.
Because angular development is done ...
I want to plug-in functionality into existing
project easily.
Embeddable
nirkaufman@gmail.com
Thanks to the concept of root Scope, angular app
can run only in a limited section on the page.
3rd party libraries are we...
I want me and my team to get started quickly
as possible.
Learning Curve
nirkaufman@gmail.com
AngularJS embrace web standards, which we
already know..
● HTML - used for templates.
● CSS - used for Animations & other ...
I want to perform tests with minimum effort
Testable
nirkaufman@gmail.com
Angular designed to be testable.
Thanks to a good separation of logic from view,
and the dependency injection system,
code...
I want to add funcullity to the framework.
I want to replace parts of the components
with my own.
Extendable
nirkaufman@gm...
AngularJS built on the concept of directives.
The angular team expose us the same API they
use to develop directives.
Give...
Angular packed with a collection of core services.
we can use decorators to wrap them and add
custom features
What about s...
I want to choose my own folder structure.
I want to model my data my way.
Flexibility
nirkaufman@gmail.com
Angular do not force us to a certain folder
structure.
Data models are not predefined.
there are no conventions restricts....
I want to meet and learn from people who
using the same framework.
Community
nirkaufman@gmail.com
Not at all! angular is HOT.
Meetups, Forums, LinkedIn groups and much
more..
Are we alone?
google trends
angularjs-il
stac...
And the community take advantage of this to
extend angular and create custom tools.
After all, it`s open-source
The ionic ...
I want a variety of learning resources for me
and my team.
Resources
nirkaufman@gmail.com
Angular documentation has become really
easy to read and understand so it`s a good
place to start.
Choose your media
But t...
Dozens of books have already been written on
angularJS.
My top 3 AngularJS books:
● ng-book by Ari Lerner
● AngularJS Dire...
Countless videos are out there..
My top 2 angularJS videos sites:
● codeschool - a complete free course
● egghead.io - 127...
Endless online resources are
there just a click-away..
My top 2 angularJS online sources:
● ng-newsletter - delivered week...
Grab the code:
https://github.com/nirkaufman/angularjs-reference-project
il.linkedin.com/in/nirkaufman/
nirkaufman@gmail.c...
Thank You!
nirkaufman@gmail.com
Nächste SlideShare
Wird geladen in …5
×

Angular js - 10 reasons to choose angularjs

10.436 Aufrufe

Veröffentlicht am

A presentation made for the AngularJS-ILl that took place in july 2014 at Google TLV Campus (http://www.meetup.com/AngularJS-IL/events/189970902/)
its an overview angularjs features from an architact perspective.
this slideshow contain a link for reference code.

Veröffentlicht in: Technologie, Bildung

Angular js - 10 reasons to choose angularjs

  1. 1. 10 Reasons to choose AngularJS
  2. 2. it`s like marriage... Choosing a Framework nirkaufman@gmail.com
  3. 3. You used to be in charge. it`s going to change. Inversion of control nirkaufman@gmail.com
  4. 4. First, let`s make it clear. Framework vs Library nirkaufman@gmail.com
  5. 5. Library A set of function that you call. Each function does some work, and returns the control back to you. You Are in Charge. nirkaufman@gmail.com
  6. 6. Framework Has a behaviour built in. we plug-in into it, register our classes and the framework code is calling our code in a point in time. You are not in charge. nirkaufman@gmail.com
  7. 7. “ The framework often plays the role of the main program in coordinating and sequencing application activity. This inversion of control gives frameworks the power to serve as extensible skeletons. The methods supplied by the user tailor the generic algorithms defined in the framework for a particular application. “ -- Ralph Johnson and Brian Foote nirkaufman@gmail.com
  8. 8. Let`s see what angularJS Has to offer Wear the architect Hat! nirkaufman@gmail.com
  9. 9. I want my application to be able to grow. I want to add features painlessly. Modularity nirkaufman@gmail.com
  10. 10. In angular, we can organized our code into module objects which can depend on each other. it`s make our code cleaner and modular. Building blocks we can add, replace, update or even parallel develop modules. nirkaufman@gmail.com
  11. 11. I want to write code that i can reuse. I want to share components across projects. Reusability nirkaufman@gmail.com
  12. 12. We can pack our code in modules and share them across apps. Angular components are just POJO`s, we can use them in any javaScript project. Reusable Components which makes our maintenance work more efficient. nirkaufman@gmail.com
  13. 13. I want to understand what's going on in my app just by reading the code. Readability nirkaufman@gmail.com
  14. 14. Angular directives enable us to develop in a declarative style that is very readable. Because angular development is done in plain javaScript, we can keep it clean and effective. Declarative code style Directives enable designers to develop without writing code. nirkaufman@gmail.com
  15. 15. I want to plug-in functionality into existing project easily. Embeddable nirkaufman@gmail.com
  16. 16. Thanks to the concept of root Scope, angular app can run only in a limited section on the page. 3rd party libraries are welcome. Play nice with others We can wrap any 3rd party library in a directive to keep our loose coupling to the view nirkaufman@gmail.com
  17. 17. I want me and my team to get started quickly as possible. Learning Curve nirkaufman@gmail.com
  18. 18. AngularJS embrace web standards, which we already know.. ● HTML - used for templates. ● CSS - used for Animations & other internal work ● JavaScript - just plain javaScript. no need to inherit from proprietary types. code can be reused. New technologies? nirkaufman@gmail.com
  19. 19. I want to perform tests with minimum effort Testable nirkaufman@gmail.com
  20. 20. Angular designed to be testable. Thanks to a good separation of logic from view, and the dependency injection system, code can be easily isolated for testing. Testing is easy Angular provides us ready to use mocks to make it even easier. nirkaufman@gmail.com
  21. 21. I want to add funcullity to the framework. I want to replace parts of the components with my own. Extendable nirkaufman@gmail.com
  22. 22. AngularJS built on the concept of directives. The angular team expose us the same API they use to develop directives. Give me your API! Which means that we can extend & replace core directives easily. nirkaufman@gmail.com
  23. 23. Angular packed with a collection of core services. we can use decorators to wrap them and add custom features What about services? We can completely override core services, or delegate to them. nirkaufman@gmail.com
  24. 24. I want to choose my own folder structure. I want to model my data my way. Flexibility nirkaufman@gmail.com
  25. 25. Angular do not force us to a certain folder structure. Data models are not predefined. there are no conventions restricts. I'm the architect! Which means that we have the freedom to choose what's fits us. nirkaufman@gmail.com
  26. 26. I want to meet and learn from people who using the same framework. Community nirkaufman@gmail.com
  27. 27. Not at all! angular is HOT. Meetups, Forums, LinkedIn groups and much more.. Are we alone? google trends angularjs-il stackoverflow nirkaufman@gmail.com
  28. 28. And the community take advantage of this to extend angular and create custom tools. After all, it`s open-source The ionic framework is a great example: http://ionicframework.com/ nirkaufman@gmail.com
  29. 29. I want a variety of learning resources for me and my team. Resources nirkaufman@gmail.com
  30. 30. Angular documentation has become really easy to read and understand so it`s a good place to start. Choose your media But thats not all... nirkaufman@gmail.com
  31. 31. Dozens of books have already been written on angularJS. My top 3 AngularJS books: ● ng-book by Ari Lerner ● AngularJS Directives by Alex Vanston ● build your own angularJS by Tero Parviainen AngularJS Books nirkaufman@gmail.com
  32. 32. Countless videos are out there.. My top 2 angularJS videos sites: ● codeschool - a complete free course ● egghead.io - 127 (and counting) angular lessons AngularJS Videos nirkaufman@gmail.com
  33. 33. Endless online resources are there just a click-away.. My top 2 angularJS online sources: ● ng-newsletter - delivered weekly ● ng-learn.org - angular news and more.. ● angular blog - useful and contain great links nirkaufman@gmail.com AngularJS On-line nirkaufman@gmail.com
  34. 34. Grab the code: https://github.com/nirkaufman/angularjs-reference-project il.linkedin.com/in/nirkaufman/ nirkaufman@gmail.com
  35. 35. Thank You! nirkaufman@gmail.com

×