SlideShare a Scribd company logo
1 of 53
Download to read offline
TechTalk | 3 February 2014
Spyros Ioakeimidis
AngularJS

❖

Seemed a bit weird in the beginning

❖

All these new terms and concepts…

!2
Modul
es

Depen
dency
Injecti
on
Provid

ws
Vie

ers
Promi
ses
Servic

es

Mo

s
er
ilt

F

els
d
cto
Fa

Contro

ies
r

Direct
ives

llers

!3
AngularJS
❖

Made for SPA (Single Page Applications)

❖

It has a learning curve!

❖

Maintained by Google (for some this is good, for
others not)

❖

Community keeps increasing

!4
AngularJS
❖

MVC principle

❖

Others say it is an SPA framework

❖

Others that it is just a library to help you built a
framework

❖

AngularJS is a toolset (extensibility)

!5
!6
Modules

!7
Modules
❖

app = angular.module(‘myApp’, [])
❖
❖

It is required when creating a new module
(module declaration)

❖

❖

Use of an array to include other modules

app = angular.module(‘myApp’) retrieves
an existing module (module reference)

Modules cannot be included at runtime
!8
Modules
❖

We have a module app
❖

.value()
❖

❖

global values, good for defaults

.constant()
❖

same as Value, but the it is expected to not change

❖

.service()

❖

.factory()

❖

.provider()
!9
MVC

(or whatever…)

!10
W(M)VC
❖

Whatever (Model)
❖
❖

❖

It is the $scope, which contains models and functions as well
e.g. $scope.event = {‘title’: ‘Placed Event’}

View
❖

❖

HTML markup

Controller
❖

An JS object

❖

app.controller(‘MyController’, function{})

❖

DOM manipulation does not belong to controllers
!11
Whatever
(Data)
stored in $scope of

contains

View
(HTML)

communicates with

Controller
(Business Logic)

provides
functionality

Hiller, Christopher. “Developing an AngularJS Edge.”
!12

Directive
(DSL in HTML)
provides functionality

Service
(Library)
Scope.models

!13
Scope
❖

prototypical inheritance

❖

treat scope as read-only in templates

❖

when binding to templates ng-model=“user.name”, always
use a dot

❖

$rootScope

❖

$scope.$apply()
❖

$eval() -> $exceptionHandler(e) -> $digest()

❖

e.g. when observing DOM elements directly in directives
!14
Scope
❖

$scope.$watch(‘foo’, function() {})
❖

observe a model for changes, evaluates by reference

❖

will fire when $scope.foo = ‘’ and then $scope.foo =
‘bar’

❖

but not when $scope.foo.bar = ‘’ and then
$scope.foo.bar = ‘baz’

❖

can evaluate by value (expensive operation!)

❖

when writing own $watch, it must be fast and it must be
idempotent
!15
Scope
❖

$scope.$digest()

❖

$scope.$eval()

❖

$scope.{$on, $broadcast, $emit}

!16
$emit(‘eventB’, …)

$emit(‘eventC’, …)

Controller A

$emit(‘eventB’, …)

$on(‘eventA’, …)
$rootScope.$on(‘eventC’, …)

$on(‘eventB’, …)
$on(‘eventC’, …)

$broadcast(‘eventA’, …)

Controller B

Controller C

$broadcast(‘eventA’, …)

!17

$emit(‘eventC’, …)

$on(‘eventA’, …)
Model
❖

Scope is not the model!

❖

$scope.foo, where the foo is the model

❖

data-binding, <p>{{foo.bar}}</p>
❖

a portion of view is bind to a model

❖

when either one changes, they are both
synchronized
!18
View

!19
View
❖

presentation logic

❖

does not know anything about the controller, nor
the controller about it

❖

everything goes through the Scope

❖

integrates with models, directives, filters

!20
View
❖

ng-repeat

❖

this would not work




<div ng-repeat=“number in [1, 2, 3]”>

<input type=“text” ng-model=“number” />

</div>



but this would work




<div ng-repeat=“number in [{n: 1}, {n: 2}, {n: 3}]”>

<input type=“text” ng-model="number.n"/>

</div>
❖

$index, $first, $middle, $last, $event, $parent

❖

ng-click, ng-show, ng-model, ng-change, ng-href …
!21
View
❖

orderBy, filter

❖

<div id=“{{post.id}}”

ng-repeat=“post in posts|

orderBy:order:descending|

filter:filter”>

</div>

❖

in Controller

$scope.order = ‘date’

$scope.descending = true

❖

and filter would come from an text box

❖

ngClassEvent, ngClassOdd
!22
View
❖

compilation for templates and markup is done in
two steps
Step 1: compile

Step 2: link

var linker = $compile(template)

var compiled = linker(scope)

1) template examined for directives
1) scope into the link function of its directive
2) AngularJS collects them and 

2) get back AngularJS element representing

produces a link function
the DOM fragment
* no data has been inserted in the template
$compile(template)(scope)
!23
Controller

!24
Controller
❖

they are for the business logic

❖

they are not meant to interact with the DOM

❖

services can be injected to share common
functionality with other controllers

!25
Dependency Injection
❖

A nice way to create modular applications

❖

it is magic (but not really…)
❖

Angular converts functions to strings .toString()

❖

runs string matching against them

❖

determines from the name of the parameter what
you want to inject


!26
Directives

!27
Directives
❖

Create your own DSL

❖

A nice way to include logic in the views

❖

this is where DOM manipulation should happen!

❖

Can have an isolated scope

❖

Defines a linking function
❖

❖
❖

is passed a Scope object, an element, and the element’s attributes
(optionally a controller inst.)
where the logic goes

Need a scope, use link. Don’t? Use compile.
!28
Directives
HTML with
HTML with
HTML with
directives
directives
directives

examines

<my-directive>

finds

compile()

returns

Scope
object

link
(scope)

Hiller, Christopher. “Developing an AngularJS Edge.”
!29

returns

Compiled
template with
data
Directives
app.directive(‘new-event’, function() {

return {

restrict: ‘E’,

scope: {

event: ‘=’,

linked to the parent scope
save: ‘=’,

cancel: ‘=’,

saveText: ‘@’,

copied verbatim
cancelText: ‘@’

},

replace: true,

template: 

‘<div ng-show="event">' +

‘<input type=“text” ng-model=“event.temp.title”/><br/>’ +

‘<input type=“text” ng-model=“event.temp.subtitle”></../>’ +

‘<button ng-click=“cancel(event)”>{{cancelText}}</button>’ +

‘<button ng-click=“save(event)”>{{saveText}}</button></div>’

};

});

}

}

!30
Directives
<new-event

event=“event”

cancel=“cancel”

save=“save”

cancel-text=“Cancel”

save-text=“Save”>

</new-event>

!31

linked to the parent scope

copied verbatim
Directives
app.directive(‘event-info', function() {

return {

restrict: ‘E’,

replace: true,

templateUrl: ‘views/eventInfo.html’

transclude: true,

scope: {

startDate: ‘=’,
endDate: ‘=’

},

link: function(scope, element) {
infoButton = element.children()[0].children[0].children[0]

scope.open = false;

angular.element(infoButton).bind(‘click’, function() {

scope.$apply(‘open = !open’);

});

};

};

});
!32
Directives
<div class="event-info">

<div class="event-info-content">

<div class="event-title" ng-transclude>

<span class=“addtional-info-button”>More...</span>

</div>

<div class="additional-info>" ng-show="open">

<div class=“event-start">{{startDate}}</div>

<div class="event-end">{{endDate}}</div>

</div>

</div>

</div>

We could call it like:
<event-info start-date=“event.event_start" end-date="event.event_end">

{{event.title.en}}

</event-info>

!33
Directives
❖

‘=foo’ links directly to parent scope

❖

‘@foo’ assigns an attribute to whatever the key is

❖

‘&foo’ binds expression and executes it against the parent
scope
❖
❖

<my-directive on-close=“hide()”></my-directive>

❖
❖

in directive definition: scope: {‘close’: ‘&onClose’}

in directive’s template: ng-click=“close()”

There are also ‘A’, ‘AE’, ‘C’, and ‘M’ restrict options
!34
Directives
❖

write reusable and generic directives

❖

the less reusable (involving scopes) the less
maintainable they become

❖

write directives with isolated scopes!

❖

share functionality between directives using a
controller

❖

long learning curve, but powerful!
!35
Service | Factory | Provider

!36
Service | Factory | Provider
❖

the backbone of the an AngularJS app

❖

keep the controller from thinking too hard

❖

… and directives have only one function, make it
readable and testable (inject services)

!37
Service | Factory | Provider
Needs a $get Explicitly returns Present during
Component Instantiated
method
something
$config()

Service

Yes

No

No

No

Factory

No

No

Yes

No

Provider

Yes

Yes

No

Yes

Hiller, Christopher. “Developing an AngularJS Edge.”
!38
Service
❖

it is a singleton, instantiated the first time is
requested

❖

requires less memory and processing power than
the others

!39
Promises
EventsCtrl
(Controller)
1) Calls getEvents()

Promise
3) Returns a
Promise

Events
(Service)

!40

Server
2) Asks Server
for a list of Events
Promises
4) Returns a list
of events

Server

Events
(Service)
5) Promise resolved
with events data

EventsCtrl
(Controller)

Promise
6) Takes action with
data received from
resolved promise

!41
Factory

❖

it can return a function, object, or primitive

❖

useful for utils

!42
Provider
❖

can be configured during initialization

❖

$http is also a provider
injects

config()

$httpProvider

injects

run()

$http

!43
Provider
Configure with Plugin B in
Module.config()

Plugin A
DialogProvider
Plugin B

Dialog
Uses plugin B at runtime

Hiller, Christopher. “Developing an AngularJS Edge.”
!44
Filters

!45
Filters
❖

execute logic against models only the view cares about

❖

app.filter(‘product’, function() {

return function(a, b, c) {

return a * b * c;

};

});

❖

can be used like:




<span>the product is {{a|product:b:c}}</span>
❖

executed often, so keep them simple

❖

they should not have side-effects
!46
More…
❖

History

❖

Routing

❖

Compiler

❖

Injector

❖

Template

!47
Testing (intro)
❖

Jasmine (behavior-driven testing)

❖

aware of asynchronous events

❖

take advantage of binding information

❖

excellent mock objects ($log)

!48
ng-modules
❖

http://ngmodules.org/, currently 440 modules (++)

❖

angular-ui, bootstrap, ui-router

❖

restangular

❖

angular-translate

❖

angular-cache

❖

…
!49
built.with.angularjs
❖

http://builtwith.angularjs.org/

❖

http://www.google.com/doubleclick/

Create, transact, and manage digital advertising

❖

http://demo.songpane.com/

Form song set lists (songs, lyrics, chords)

❖

http://www.zaptravel.com/

Deals for experiences of interest

❖

http://hat.jit.su/

Distributed scrum planning poker

❖

…
!50
References
❖

Hiller, Christopher. “Developing an AngularJS
Edge.”

❖

Mastering Web Application Development with
AngularJS

❖

Ari Lerner “ng-book - The Complete Book on
AngularJS”

!51
AAAAngularosum!

More Related Content

What's hot

AngularJS Project Setup step-by- step guide - RapidValue Solutions
AngularJS Project Setup step-by- step guide - RapidValue SolutionsAngularJS Project Setup step-by- step guide - RapidValue Solutions
AngularJS Project Setup step-by- step guide - RapidValue SolutionsRapidValue
 
Workshop 24: React Native Introduction
Workshop 24: React Native IntroductionWorkshop 24: React Native Introduction
Workshop 24: React Native IntroductionVisual Engineering
 
A gently introduction to AngularJS
A gently introduction to AngularJSA gently introduction to AngularJS
A gently introduction to AngularJSGregor Woiwode
 
Exploring Angular 2 - Episode 2
Exploring Angular 2 - Episode 2Exploring Angular 2 - Episode 2
Exploring Angular 2 - Episode 2Ahmed Moawad
 
Tech Webinar: Angular 2, Introduction to a new framework
Tech Webinar: Angular 2, Introduction to a new frameworkTech Webinar: Angular 2, Introduction to a new framework
Tech Webinar: Angular 2, Introduction to a new frameworkCodemotion
 
Angular2 Development for Java developers
Angular2 Development for Java developersAngular2 Development for Java developers
Angular2 Development for Java developersYakov Fain
 
AngularJS Basics and Best Practices - CC FE &UX
AngularJS Basics and Best Practices - CC FE &UXAngularJS Basics and Best Practices - CC FE &UX
AngularJS Basics and Best Practices - CC FE &UXJWORKS powered by Ordina
 
Exploring Angular 2 - Episode 1
Exploring Angular 2 - Episode 1Exploring Angular 2 - Episode 1
Exploring Angular 2 - Episode 1Ahmed Moawad
 
Data Flow Patterns in Angular 2 - Sebastian Müller
Data Flow Patterns in Angular 2 -  Sebastian MüllerData Flow Patterns in Angular 2 -  Sebastian Müller
Data Flow Patterns in Angular 2 - Sebastian MüllerSebastian Holstein
 
Single Page Applications with AngularJS 2.0
Single Page Applications with AngularJS 2.0 Single Page Applications with AngularJS 2.0
Single Page Applications with AngularJS 2.0 Sumanth Chinthagunta
 
Dart for Java Developers
Dart for Java DevelopersDart for Java Developers
Dart for Java DevelopersYakov Fain
 
Angular tutorial
Angular tutorialAngular tutorial
Angular tutorialRohit Gupta
 
The road to Ember.js 2.0
The road to Ember.js 2.0The road to Ember.js 2.0
The road to Ember.js 2.0Codemotion
 
Workshop 25: React Native - Components
Workshop 25: React Native - ComponentsWorkshop 25: React Native - Components
Workshop 25: React Native - ComponentsVisual Engineering
 
Angular 2 Essential Training
Angular 2 Essential Training Angular 2 Essential Training
Angular 2 Essential Training Patrick Schroeder
 

What's hot (20)

AngularJS Project Setup step-by- step guide - RapidValue Solutions
AngularJS Project Setup step-by- step guide - RapidValue SolutionsAngularJS Project Setup step-by- step guide - RapidValue Solutions
AngularJS Project Setup step-by- step guide - RapidValue Solutions
 
Angular modules in depth
Angular modules in depthAngular modules in depth
Angular modules in depth
 
Workshop 24: React Native Introduction
Workshop 24: React Native IntroductionWorkshop 24: React Native Introduction
Workshop 24: React Native Introduction
 
A gently introduction to AngularJS
A gently introduction to AngularJSA gently introduction to AngularJS
A gently introduction to AngularJS
 
Angular2 + rxjs
Angular2 + rxjsAngular2 + rxjs
Angular2 + rxjs
 
Angular2 for Beginners
Angular2 for BeginnersAngular2 for Beginners
Angular2 for Beginners
 
Exploring Angular 2 - Episode 2
Exploring Angular 2 - Episode 2Exploring Angular 2 - Episode 2
Exploring Angular 2 - Episode 2
 
Tech Webinar: Angular 2, Introduction to a new framework
Tech Webinar: Angular 2, Introduction to a new frameworkTech Webinar: Angular 2, Introduction to a new framework
Tech Webinar: Angular 2, Introduction to a new framework
 
Angular js
Angular jsAngular js
Angular js
 
Angular2 Development for Java developers
Angular2 Development for Java developersAngular2 Development for Java developers
Angular2 Development for Java developers
 
AngularJS Basics and Best Practices - CC FE &UX
AngularJS Basics and Best Practices - CC FE &UXAngularJS Basics and Best Practices - CC FE &UX
AngularJS Basics and Best Practices - CC FE &UX
 
Exploring Angular 2 - Episode 1
Exploring Angular 2 - Episode 1Exploring Angular 2 - Episode 1
Exploring Angular 2 - Episode 1
 
Data Flow Patterns in Angular 2 - Sebastian Müller
Data Flow Patterns in Angular 2 -  Sebastian MüllerData Flow Patterns in Angular 2 -  Sebastian Müller
Data Flow Patterns in Angular 2 - Sebastian Müller
 
Single Page Applications with AngularJS 2.0
Single Page Applications with AngularJS 2.0 Single Page Applications with AngularJS 2.0
Single Page Applications with AngularJS 2.0
 
Dart for Java Developers
Dart for Java DevelopersDart for Java Developers
Dart for Java Developers
 
Angular Workshop_Sarajevo2
Angular Workshop_Sarajevo2Angular Workshop_Sarajevo2
Angular Workshop_Sarajevo2
 
Angular tutorial
Angular tutorialAngular tutorial
Angular tutorial
 
The road to Ember.js 2.0
The road to Ember.js 2.0The road to Ember.js 2.0
The road to Ember.js 2.0
 
Workshop 25: React Native - Components
Workshop 25: React Native - ComponentsWorkshop 25: React Native - Components
Workshop 25: React Native - Components
 
Angular 2 Essential Training
Angular 2 Essential Training Angular 2 Essential Training
Angular 2 Essential Training
 

Viewers also liked

Building Custom AngularJS Directives - A Step-by-Step Guide - Dan Wahlin | Fa...
Building Custom AngularJS Directives - A Step-by-Step Guide - Dan Wahlin | Fa...Building Custom AngularJS Directives - A Step-by-Step Guide - Dan Wahlin | Fa...
Building Custom AngularJS Directives - A Step-by-Step Guide - Dan Wahlin | Fa...FalafelSoftware
 
BDOTNET AngularJs Directives - Uday
BDOTNET AngularJs Directives - UdayBDOTNET AngularJs Directives - Uday
BDOTNET AngularJs Directives - UdayUdaya Kumar
 
ReactiveUI: Rx + MVVM
ReactiveUI: Rx + MVVMReactiveUI: Rx + MVVM
ReactiveUI: Rx + MVVMStas Shusha
 
AngularJS Directives
AngularJS DirectivesAngularJS Directives
AngularJS DirectivesEyal Vardi
 
AngularJS custom directive
AngularJS custom directiveAngularJS custom directive
AngularJS custom directiveNascenia IT
 
Building AngularJS Custom Directives
Building AngularJS Custom DirectivesBuilding AngularJS Custom Directives
Building AngularJS Custom DirectivesDan Wahlin
 

Viewers also liked (11)

Building Custom AngularJS Directives - A Step-by-Step Guide - Dan Wahlin | Fa...
Building Custom AngularJS Directives - A Step-by-Step Guide - Dan Wahlin | Fa...Building Custom AngularJS Directives - A Step-by-Step Guide - Dan Wahlin | Fa...
Building Custom AngularJS Directives - A Step-by-Step Guide - Dan Wahlin | Fa...
 
BDOTNET AngularJs Directives - Uday
BDOTNET AngularJs Directives - UdayBDOTNET AngularJs Directives - Uday
BDOTNET AngularJs Directives - Uday
 
AngularJs
AngularJsAngularJs
AngularJs
 
Dive into AngularJS and directives
Dive into AngularJS and directivesDive into AngularJS and directives
Dive into AngularJS and directives
 
Reative UI
Reative UIReative UI
Reative UI
 
ReactiveUI: Rx + MVVM
ReactiveUI: Rx + MVVMReactiveUI: Rx + MVVM
ReactiveUI: Rx + MVVM
 
AngularJS Directives
AngularJS DirectivesAngularJS Directives
AngularJS Directives
 
AngularJS custom directive
AngularJS custom directiveAngularJS custom directive
AngularJS custom directive
 
Building AngularJS Custom Directives
Building AngularJS Custom DirectivesBuilding AngularJS Custom Directives
Building AngularJS Custom Directives
 
Angular 2 observables
Angular 2 observablesAngular 2 observables
Angular 2 observables
 
Angular2 rxjs
Angular2 rxjsAngular2 rxjs
Angular2 rxjs
 

Similar to AngularJS - TechTalk 3/2/2014

AngularJs presentation
AngularJs presentation AngularJs presentation
AngularJs presentation Phan Tuan
 
Backbone/Marionette introduction
Backbone/Marionette introductionBackbone/Marionette introduction
Backbone/Marionette introductionmatt-briggs
 
Angular or Backbone: Go Mobile!
Angular or Backbone: Go Mobile!Angular or Backbone: Go Mobile!
Angular or Backbone: Go Mobile!Doris Chen
 
How Testability Inspires AngularJS Design / Ran Mizrahi
How Testability Inspires AngularJS Design / Ran MizrahiHow Testability Inspires AngularJS Design / Ran Mizrahi
How Testability Inspires AngularJS Design / Ran MizrahiRan Mizrahi
 
Creating Modular Test-Driven SPAs with Spring and AngularJS
Creating Modular Test-Driven SPAs with Spring and AngularJSCreating Modular Test-Driven SPAs with Spring and AngularJS
Creating Modular Test-Driven SPAs with Spring and AngularJSGunnar Hillert
 
Coffee@DBG - Exploring Angular JS
Coffee@DBG - Exploring Angular JSCoffee@DBG - Exploring Angular JS
Coffee@DBG - Exploring Angular JSDeepu S Nath
 
OOP, API Design and MVP
OOP, API Design and MVPOOP, API Design and MVP
OOP, API Design and MVPHarshith Keni
 
jquery summit presentation for large scale javascript applications
jquery summit  presentation for large scale javascript applicationsjquery summit  presentation for large scale javascript applications
jquery summit presentation for large scale javascript applicationsDivyanshGupta922023
 
Web technologies-course 12.pptx
Web technologies-course 12.pptxWeb technologies-course 12.pptx
Web technologies-course 12.pptxStefan Oprea
 
Advanced web application architecture Way2Web
Advanced web application architecture Way2WebAdvanced web application architecture Way2Web
Advanced web application architecture Way2WebMatthias Noback
 
Angular workshop - Full Development Guide
Angular workshop - Full Development GuideAngular workshop - Full Development Guide
Angular workshop - Full Development GuideNitin Giri
 
AngularJS 1.x - your first application (problems and solutions)
AngularJS 1.x - your first application (problems and solutions)AngularJS 1.x - your first application (problems and solutions)
AngularJS 1.x - your first application (problems and solutions)Igor Talevski
 
Dsug 05 02-15 - ScalDI - lightweight DI in Scala
Dsug 05 02-15 - ScalDI - lightweight DI in ScalaDsug 05 02-15 - ScalDI - lightweight DI in Scala
Dsug 05 02-15 - ScalDI - lightweight DI in ScalaUgo Matrangolo
 
Cannibalising The Google App Engine
Cannibalising The  Google  App  EngineCannibalising The  Google  App  Engine
Cannibalising The Google App Enginecatherinewall
 

Similar to AngularJS - TechTalk 3/2/2014 (20)

AngularJs presentation
AngularJs presentation AngularJs presentation
AngularJs presentation
 
Angular js
Angular jsAngular js
Angular js
 
Backbone/Marionette introduction
Backbone/Marionette introductionBackbone/Marionette introduction
Backbone/Marionette introduction
 
Intro to AngularJs
Intro to AngularJsIntro to AngularJs
Intro to AngularJs
 
Angular or Backbone: Go Mobile!
Angular or Backbone: Go Mobile!Angular or Backbone: Go Mobile!
Angular or Backbone: Go Mobile!
 
How Testability Inspires AngularJS Design / Ran Mizrahi
How Testability Inspires AngularJS Design / Ran MizrahiHow Testability Inspires AngularJS Design / Ran Mizrahi
How Testability Inspires AngularJS Design / Ran Mizrahi
 
Creating Modular Test-Driven SPAs with Spring and AngularJS
Creating Modular Test-Driven SPAs with Spring and AngularJSCreating Modular Test-Driven SPAs with Spring and AngularJS
Creating Modular Test-Driven SPAs with Spring and AngularJS
 
AngularJs Crash Course
AngularJs Crash CourseAngularJs Crash Course
AngularJs Crash Course
 
Coffee@DBG - Exploring Angular JS
Coffee@DBG - Exploring Angular JSCoffee@DBG - Exploring Angular JS
Coffee@DBG - Exploring Angular JS
 
OOP, API Design and MVP
OOP, API Design and MVPOOP, API Design and MVP
OOP, API Design and MVP
 
AngularJS Workshop
AngularJS WorkshopAngularJS Workshop
AngularJS Workshop
 
Solid OOPS
Solid OOPSSolid OOPS
Solid OOPS
 
jquery summit presentation for large scale javascript applications
jquery summit  presentation for large scale javascript applicationsjquery summit  presentation for large scale javascript applications
jquery summit presentation for large scale javascript applications
 
Web technologies-course 12.pptx
Web technologies-course 12.pptxWeb technologies-course 12.pptx
Web technologies-course 12.pptx
 
Advanced web application architecture Way2Web
Advanced web application architecture Way2WebAdvanced web application architecture Way2Web
Advanced web application architecture Way2Web
 
Angular workshop - Full Development Guide
Angular workshop - Full Development GuideAngular workshop - Full Development Guide
Angular workshop - Full Development Guide
 
AngularJS 1.x - your first application (problems and solutions)
AngularJS 1.x - your first application (problems and solutions)AngularJS 1.x - your first application (problems and solutions)
AngularJS 1.x - your first application (problems and solutions)
 
Angular js
Angular jsAngular js
Angular js
 
Dsug 05 02-15 - ScalDI - lightweight DI in Scala
Dsug 05 02-15 - ScalDI - lightweight DI in ScalaDsug 05 02-15 - ScalDI - lightweight DI in Scala
Dsug 05 02-15 - ScalDI - lightweight DI in Scala
 
Cannibalising The Google App Engine
Cannibalising The  Google  App  EngineCannibalising The  Google  App  Engine
Cannibalising The Google App Engine
 

Recently uploaded

Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfhans926745
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 

Recently uploaded (20)

Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 

AngularJS - TechTalk 3/2/2014