angular js - 10 reasons to choose angularjs

Post on 09-May-2015

4.162 Views

Category:

Technology

7 Downloads

Preview:

Click to see full reader

DESCRIPTION

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.

TRANSCRIPT

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

LibraryA 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

FrameworkHas 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

“ 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

Let`s see what angularJSHas 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 modular.

Building blocks

we can add, replace, update or even parallel develop modules.

nirkaufman@gmail.com

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 javaScript project.

Reusable Components

which makes our maintenance work more efficient.

nirkaufman@gmail.com

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 in plain javaScript, we can keep it clean and effective.

Declarative code style

Directives enable designers to develop without writing code.

nirkaufman@gmail.com

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 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

I want me and my team to get started quicklyas possible.

Learning Curve

nirkaufman@gmail.com

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

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 can be easily isolated for testing.

Testing is easy

Angular provides us ready to use mocks to make it even easier.

nirkaufman@gmail.com

I want to add funcullity to the framework.I want to replace parts of the components

with my own.

Extendable

nirkaufman@gmail.com

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

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

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'm the architect!

Which means that we have the freedom to choose what's fits us.

nirkaufman@gmail.com

I want to meet and learn from people who using the same framework.

Community

nirkaufman@gmail.com

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

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 thats not all...

nirkaufman@gmail.com

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

Endless online resources arethere 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 linksnirkaufman@gmail.com

AngularJS On-line

nirkaufman@gmail.com

Thank You!

nirkaufman@gmail.com

top related