45
Frontend Entwicklung mit AngularJS Rene Behring & Damian Poddebniak 7. Januar 2015

Frontend Entwicklung mit AngularJS · EinführungKonzepteWeb-ServicesLiteraturPraktikum Eigenschaften Paradigmen Objektorientiert Prozedural Funktional Eigenschaften “C-ähnliche”

  • Upload
    others

  • View
    4

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Frontend Entwicklung mit AngularJS · EinführungKonzepteWeb-ServicesLiteraturPraktikum Eigenschaften Paradigmen Objektorientiert Prozedural Funktional Eigenschaften “C-ähnliche”

Frontend Entwicklung mit AngularJS

Rene Behring & Damian Poddebniak

7. Januar 2015

Page 2: Frontend Entwicklung mit AngularJS · EinführungKonzepteWeb-ServicesLiteraturPraktikum Eigenschaften Paradigmen Objektorientiert Prozedural Funktional Eigenschaften “C-ähnliche”

Einführung Konzepte Web-Services Literatur Praktikum

Inhaltsverzeichnis

1 Einführung

2 Konzepte

3 Web-Services

4 Praktikum

Page 3: Frontend Entwicklung mit AngularJS · EinführungKonzepteWeb-ServicesLiteraturPraktikum Eigenschaften Paradigmen Objektorientiert Prozedural Funktional Eigenschaften “C-ähnliche”

Einführung Konzepte Web-Services Literatur Praktikum

Einführung in JavaScript

Rene Behring & Damian Poddebniak AngularJS Page 3

Page 4: Frontend Entwicklung mit AngularJS · EinführungKonzepteWeb-ServicesLiteraturPraktikum Eigenschaften Paradigmen Objektorientiert Prozedural Funktional Eigenschaften “C-ähnliche”

Einführung Konzepte Web-Services Literatur Praktikum

Geschichte

1995 VeröffentlichtLiveScript von NetscapeÜberprüfen von FormulardatenErstellen von dynamischem HTML (clientseitig)

1996 JScript von Microsoft1997 Standardisierung (ECMAScript)

Zunehmende Verwendung

• Serverseite (NodeJS), Gnome-Shell, PDF Dokumente, . . .

Rene Behring & Damian Poddebniak AngularJS Page 4

Page 5: Frontend Entwicklung mit AngularJS · EinführungKonzepteWeb-ServicesLiteraturPraktikum Eigenschaften Paradigmen Objektorientiert Prozedural Funktional Eigenschaften “C-ähnliche”

Einführung Konzepte Web-Services Literatur Praktikum

Eigenschaften

Paradigmen

• Objektorientiert• Prozedural• Funktional

Eigenschaften

• “C-ähnliche” Syntax• Dynamische Typisierung• Duck-Typing

Rene Behring & Damian Poddebniak AngularJS Page 5

Page 6: Frontend Entwicklung mit AngularJS · EinführungKonzepteWeb-ServicesLiteraturPraktikum Eigenschaften Paradigmen Objektorientiert Prozedural Funktional Eigenschaften “C-ähnliche”

Einführung Konzepte Web-Services Literatur Praktikum

Programmierung

JavaScript Live

Rene Behring & Damian Poddebniak AngularJS Page 6

Page 7: Frontend Entwicklung mit AngularJS · EinführungKonzepteWeb-ServicesLiteraturPraktikum Eigenschaften Paradigmen Objektorientiert Prozedural Funktional Eigenschaften “C-ähnliche”

Einführung Konzepte Web-Services Literatur Praktikum

Zukunft

• ’use strict’;

• Typisierung• Klassen inkl. (class Keyword)• Weitere Anpassungen an andere Programmiersprachen

Rene Behring & Damian Poddebniak AngularJS Page 7

Page 8: Frontend Entwicklung mit AngularJS · EinführungKonzepteWeb-ServicesLiteraturPraktikum Eigenschaften Paradigmen Objektorientiert Prozedural Funktional Eigenschaften “C-ähnliche”

Einführung Konzepte Web-Services Literatur Praktikum

Einführung in AngularJS

Rene Behring & Damian Poddebniak AngularJS Page 8

Page 9: Frontend Entwicklung mit AngularJS · EinführungKonzepteWeb-ServicesLiteraturPraktikum Eigenschaften Paradigmen Objektorientiert Prozedural Funktional Eigenschaften “C-ähnliche”

Einführung Konzepte Web-Services Literatur Praktikum

Was ist ein Frontend

Aufgaben

• Schnittstelle zwischen Benutzer und Backend• Ermöglicht Interaktion mit lokaler Anwendung, Server, . . .• Kommando-basiert (CLI), Grafisch (GUI), . . .

Web-basierte GUI• HTML, CSS, JavaScript, . . .

Rene Behring & Damian Poddebniak AngularJS Page 9

Page 10: Frontend Entwicklung mit AngularJS · EinführungKonzepteWeb-ServicesLiteraturPraktikum Eigenschaften Paradigmen Objektorientiert Prozedural Funktional Eigenschaften “C-ähnliche”

Einführung Konzepte Web-Services Literatur Praktikum

Generierung einer Webseite

Serverseitige Interpolation• Server bettet lokale Datenin eine HTML Vorlage ein

• Beantwortung einerAnfragen mit fertigemHTML Dokument

Clientseitige Interpolation• Beantwortung einerAnfrage mit codiertenDaten

• Client aktualisiert lokaleDarstellung

≈ Fließender Übergang

Rene Behring & Damian Poddebniak AngularJS Page 10

Page 11: Frontend Entwicklung mit AngularJS · EinführungKonzepteWeb-ServicesLiteraturPraktikum Eigenschaften Paradigmen Objektorientiert Prozedural Funktional Eigenschaften “C-ähnliche”

Einführung Konzepte Web-Services Literatur Praktikum

Was ist AngularJS?

“Superheroic JavaScript MVW Framework”

• Single Page Application (SPA) Framework• Erleichtert Entwicklung von Web-Frontends

Rene Behring & Damian Poddebniak AngularJS Page 11

Page 12: Frontend Entwicklung mit AngularJS · EinführungKonzepteWeb-ServicesLiteraturPraktikum Eigenschaften Paradigmen Objektorientiert Prozedural Funktional Eigenschaften “C-ähnliche”

Einführung Konzepte Web-Services Literatur Praktikum

Unterschiede zu anderen Frameworks

Client-side Templates

• Vollständige Web-Anwendungen ohne Daten• Kein Server-seitiges zusammensetzen von HTML

Zwei getrennte Komponenten

• Entkopplung von Front- und Backend• Basiert auf Kommunikation mit Web-Services

Rene Behring & Damian Poddebniak AngularJS Page 12

Page 13: Frontend Entwicklung mit AngularJS · EinführungKonzepteWeb-ServicesLiteraturPraktikum Eigenschaften Paradigmen Objektorientiert Prozedural Funktional Eigenschaften “C-ähnliche”

Einführung Konzepte Web-Services Literatur Praktikum

Vor- und Nachteile

Vorteile• Substitution der Web-Anwendung möglich• Anbindung nativer Anwendungen durch Webservices• Keine Aufwendung von Rechenzeit für Interpolation

Nachteile?• Mehrere Komponenten notwendig• Benötigt JavaScript und “aktuellen” Browser• “Single Page” & Referenzierbarkeit

Rene Behring & Damian Poddebniak AngularJS Page 13

Page 14: Frontend Entwicklung mit AngularJS · EinführungKonzepteWeb-ServicesLiteraturPraktikum Eigenschaften Paradigmen Objektorientiert Prozedural Funktional Eigenschaften “C-ähnliche”

Einführung Konzepte Web-Services Literatur Praktikum

Konzepte

Rene Behring & Damian Poddebniak AngularJS Page 14

Page 15: Frontend Entwicklung mit AngularJS · EinführungKonzepteWeb-ServicesLiteraturPraktikum Eigenschaften Paradigmen Objektorientiert Prozedural Funktional Eigenschaften “C-ähnliche”

Einführung Konzepte Web-Services Literatur Praktikum

Module

• Aufteilung in Module (“Java packages”)• LoginModule• BlogModule• AdminModule• . . .

• Vollständig und wiederverwendbar (auch in anderenModulen)

Da im wesentlichen selber Aufbau ⇒ Fokus auf ein Modul

Rene Behring & Damian Poddebniak AngularJS Page 15

Page 16: Frontend Entwicklung mit AngularJS · EinführungKonzepteWeb-ServicesLiteraturPraktikum Eigenschaften Paradigmen Objektorientiert Prozedural Funktional Eigenschaften “C-ähnliche”

Einführung Konzepte Web-Services Literatur Praktikum

Module

Bestandteile• HTML Templates (wenn nötig)• JavaScript für Funktionalität• Konfiguration (Adressen, Verknüpfungen, . . . )

Zusätzlich. . .• Direktiven, Filter, Services, . . .

Rene Behring & Damian Poddebniak AngularJS Page 16

Page 17: Frontend Entwicklung mit AngularJS · EinführungKonzepteWeb-ServicesLiteraturPraktikum Eigenschaften Paradigmen Objektorientiert Prozedural Funktional Eigenschaften “C-ähnliche”

Einführung Konzepte Web-Services Literatur Praktikum

Module

1 // Create Module2 var blogModule =3 angular.module(’demoApp.blog’, // Name4 [’ngRoute ’]); // Dependencies5

6 // Configuration7 blogModule.config ([ function ()8 {9 }]);

Listing 1: Blog Modul

Rene Behring & Damian Poddebniak AngularJS Page 17

Page 18: Frontend Entwicklung mit AngularJS · EinführungKonzepteWeb-ServicesLiteraturPraktikum Eigenschaften Paradigmen Objektorientiert Prozedural Funktional Eigenschaften “C-ähnliche”

Einführung Konzepte Web-Services Literatur Praktikum

Routing

Konfiguration

1 $routeProvider.when(’/blog’,2 {3 templateUrl: ’blog/blog.html’,4 controller: ’BlogController as ctrl’5 });

Listing 2: Routing Einstellungen

Form von Adressen• http://localhost/index.html#/blog• HTML5 Modus ohne Hashtag

Rene Behring & Damian Poddebniak AngularJS Page 18

Page 19: Frontend Entwicklung mit AngularJS · EinführungKonzepteWeb-ServicesLiteraturPraktikum Eigenschaften Paradigmen Objektorientiert Prozedural Funktional Eigenschaften “C-ähnliche”

Einführung Konzepte Web-Services Literatur Praktikum

Routing

1 <html ng-app="demoApp">2 <head>3 <script src="angular.js"></script >4 </head>5

6 <body>7 <div ng-view/>8

9 <script src="app.js"></script >10 <script src="blog/blog.js"></script >11 <script src="blog/blog -controller.js"></script >12 </body>13 </html>

Listing 3: Startseite (index.html)

Rene Behring & Damian Poddebniak AngularJS Page 19

Page 20: Frontend Entwicklung mit AngularJS · EinführungKonzepteWeb-ServicesLiteraturPraktikum Eigenschaften Paradigmen Objektorientiert Prozedural Funktional Eigenschaften “C-ähnliche”

Einführung Konzepte Web-Services Literatur Praktikum

Direktiven

• Verschiedene Direktiven mitgeliefert• “Curly-braces” syntax {{ }}• ng-bind• ng-model• ng-click• . . .

• Ändern das Verhalten von DOM Elementen

Rene Behring & Damian Poddebniak AngularJS Page 20

Page 21: Frontend Entwicklung mit AngularJS · EinführungKonzepteWeb-ServicesLiteraturPraktikum Eigenschaften Paradigmen Objektorientiert Prozedural Funktional Eigenschaften “C-ähnliche”

Einführung Konzepte Web-Services Literatur Praktikum

Direktiven

Abbildung: AngularJS Direktiven

Rene Behring & Damian Poddebniak AngularJS Page 21

Page 22: Frontend Entwicklung mit AngularJS · EinführungKonzepteWeb-ServicesLiteraturPraktikum Eigenschaften Paradigmen Objektorientiert Prozedural Funktional Eigenschaften “C-ähnliche”

Einführung Konzepte Web-Services Literatur Praktikum

Direktiven

1 <div ng-repeat="i in ctrl.list | filter: o">2 <b>{{ i.title | uppercase }}</b>3 <p>{{ i.content }}</p>4 </div>

Listing 4: Nutzung von Direktiven

Implementierung eigener Direktiven

⇒ Einzige Stelle an der manuelle DOM Manipulation erlaubtist

Rene Behring & Damian Poddebniak AngularJS Page 22

Page 23: Frontend Entwicklung mit AngularJS · EinführungKonzepteWeb-ServicesLiteraturPraktikum Eigenschaften Paradigmen Objektorientiert Prozedural Funktional Eigenschaften “C-ähnliche”

Einführung Konzepte Web-Services Literatur Praktikum

Model-View-Controller

Model JavaScript Objekte und Properties⇒ Single Source of Truth (SSOT)

View Spezielle HTML Templates⇒ View wird aus Template generiert

Controller JavaScript Funktionen⇒ Implementierte Funktionalität

Rene Behring & Damian Poddebniak AngularJS Page 23

Page 24: Frontend Entwicklung mit AngularJS · EinführungKonzepteWeb-ServicesLiteraturPraktikum Eigenschaften Paradigmen Objektorientiert Prozedural Funktional Eigenschaften “C-ähnliche”

Einführung Konzepte Web-Services Literatur Praktikum

Model-View-Controller

Abbildung: Umsetzung von MVC in AngularJS [4]

Rene Behring & Damian Poddebniak AngularJS Page 24

Page 25: Frontend Entwicklung mit AngularJS · EinführungKonzepteWeb-ServicesLiteraturPraktikum Eigenschaften Paradigmen Objektorientiert Prozedural Funktional Eigenschaften “C-ähnliche”

Einführung Konzepte Web-Services Literatur Praktikum

Model-View-Controller

1 <div>2 {{ ctrl.name }}s Blog3 <input type="text" ng-model="ctrl.name"/>4 </div>

Listing 5: Blog Template

1 demoApp.controller(’BlogController ’, [function ()2 {3 this.name = "Hugo";4 }]);

Listing 6: Blog Controller

Rene Behring & Damian Poddebniak AngularJS Page 25

Page 26: Frontend Entwicklung mit AngularJS · EinführungKonzepteWeb-ServicesLiteraturPraktikum Eigenschaften Paradigmen Objektorientiert Prozedural Funktional Eigenschaften “C-ähnliche”

Einführung Konzepte Web-Services Literatur Praktikum

Model-View-Controller

Abbildung: Resultat im Browser

Rene Behring & Damian Poddebniak AngularJS Page 26

Page 27: Frontend Entwicklung mit AngularJS · EinführungKonzepteWeb-ServicesLiteraturPraktikum Eigenschaften Paradigmen Objektorientiert Prozedural Funktional Eigenschaften “C-ähnliche”

Einführung Konzepte Web-Services Literatur Praktikum

Model-View-Controller

Abbildung: Two way data-binding [4]

Rene Behring & Damian Poddebniak AngularJS Page 27

Page 28: Frontend Entwicklung mit AngularJS · EinführungKonzepteWeb-ServicesLiteraturPraktikum Eigenschaften Paradigmen Objektorientiert Prozedural Funktional Eigenschaften “C-ähnliche”

Einführung Konzepte Web-Services Literatur Praktikum

Model-View-Controller

Abbildung: Verknüpfung zwischen Controller und View [4]

Rene Behring & Damian Poddebniak AngularJS Page 28

Page 29: Frontend Entwicklung mit AngularJS · EinführungKonzepteWeb-ServicesLiteraturPraktikum Eigenschaften Paradigmen Objektorientiert Prozedural Funktional Eigenschaften “C-ähnliche”

Einführung Konzepte Web-Services Literatur Praktikum

Model-View-Controller

Vorteile• Controller hat keine Referenz auf die View• Automatische Aktualisierung durch Two way data-binding• Ermöglicht isoliertes testen von Komponenten• Keine DOM Manipulation

Rene Behring & Damian Poddebniak AngularJS Page 29

Page 30: Frontend Entwicklung mit AngularJS · EinführungKonzepteWeb-ServicesLiteraturPraktikum Eigenschaften Paradigmen Objektorientiert Prozedural Funktional Eigenschaften “C-ähnliche”

Einführung Konzepte Web-Services Literatur Praktikum

Dependency Injection

Prinzip

• “Frage” nach Objekten, anstatt diese anzulegen• “Inversion of Control”

Vorteile• Ermöglicht isoliertes Testen von Komponenten• Einfache Nutzung von Mock-Objekten• Einfacher Austausch von Funktionalität

Rene Behring & Damian Poddebniak AngularJS Page 30

Page 31: Frontend Entwicklung mit AngularJS · EinführungKonzepteWeb-ServicesLiteraturPraktikum Eigenschaften Paradigmen Objektorientiert Prozedural Funktional Eigenschaften “C-ähnliche”

Einführung Konzepte Web-Services Literatur Praktikum

Dependency Injection (Veraltetes Beispiel)

1 demoApp.controller(’BlogController ’,2 [3 "$scope",4

5 function ($scope)6 {7 $scope.name = "Hugo";8 }9 ]

10 );

Listing 7: Injection von $scope

Rene Behring & Damian Poddebniak AngularJS Page 31

Page 32: Frontend Entwicklung mit AngularJS · EinführungKonzepteWeb-ServicesLiteraturPraktikum Eigenschaften Paradigmen Objektorientiert Prozedural Funktional Eigenschaften “C-ähnliche”

Einführung Konzepte Web-Services Literatur Praktikum

Dependency Injection (Logging Service)

1 demoApp.controller(’BlogController ’,2 [3 "$log",4

5 function ($log)6 {7 $log.info("Initialisiere BlogController");8 }9 ]

10 );

Listing 8: Injection des $log Services

Rene Behring & Damian Poddebniak AngularJS Page 32

Page 33: Frontend Entwicklung mit AngularJS · EinführungKonzepteWeb-ServicesLiteraturPraktikum Eigenschaften Paradigmen Objektorientiert Prozedural Funktional Eigenschaften “C-ähnliche”

Einführung Konzepte Web-Services Literatur Praktikum

Web-Services

Rene Behring & Damian Poddebniak AngularJS Page 33

Page 34: Frontend Entwicklung mit AngularJS · EinführungKonzepteWeb-ServicesLiteraturPraktikum Eigenschaften Paradigmen Objektorientiert Prozedural Funktional Eigenschaften “C-ähnliche”

Einführung Konzepte Web-Services Literatur Praktikum

Services

• Stellen Daten Controller-Übergreifend zur Verfügung• Können in jedem Controller injected werden• Mehrere Arten von Services in AngularJS

Rene Behring & Damian Poddebniak AngularJS Page 34

Page 35: Frontend Entwicklung mit AngularJS · EinführungKonzepteWeb-ServicesLiteraturPraktikum Eigenschaften Paradigmen Objektorientiert Prozedural Funktional Eigenschaften “C-ähnliche”

Einführung Konzepte Web-Services Literatur Praktikum

Services

1 demoApp.factory(’MathService ’, function ()2 {3 return4 {5 pi: function ()6 {7 return Math.PI;8 },9 e: function ()

10 {11 return Math.E;12 }13 };14 });

Listing 9: Service für mathematische Konstanten

Rene Behring & Damian Poddebniak AngularJS Page 35

Page 36: Frontend Entwicklung mit AngularJS · EinführungKonzepteWeb-ServicesLiteraturPraktikum Eigenschaften Paradigmen Objektorientiert Prozedural Funktional Eigenschaften “C-ähnliche”

Einführung Konzepte Web-Services Literatur Praktikum

Angulars $http Service

1 $http.get(’/students/’ + ’13’)2

3 .success(function(data ,4 status ,5 headers ,6 config)7 {8 // onSuccess9 })

10 .error(function(data ,11 status ,12 headers ,13 config)14 {15 // onError16 });

Listing 10: Anfrage über $http

Rene Behring & Damian Poddebniak AngularJS Page 36

Page 37: Frontend Entwicklung mit AngularJS · EinführungKonzepteWeb-ServicesLiteraturPraktikum Eigenschaften Paradigmen Objektorientiert Prozedural Funktional Eigenschaften “C-ähnliche”

Einführung Konzepte Web-Services Literatur Praktikum

Angulars $resource Service

• Wrapper über Angulars $http Service• Erleichtert den Umgang mit RESTful Ressourcen• Konfigurierbar

Rene Behring & Damian Poddebniak AngularJS Page 37

Page 38: Frontend Entwicklung mit AngularJS · EinführungKonzepteWeb-ServicesLiteraturPraktikum Eigenschaften Paradigmen Objektorientiert Prozedural Funktional Eigenschaften “C-ähnliche”

Einführung Konzepte Web-Services Literatur Praktikum

$resource Service

1 demoApp.factory(’Blog’, [’$resource ’,2 function ($resource)3 {4 return $resource5 (6 // parametrized URL7 ’http :// localhost/blog/:id’,8

9 // default values for parameters10 { "id": "@id" }11 );12 }]);

Listing 11: Anfrage über $resource

Rene Behring & Damian Poddebniak AngularJS Page 38

Page 39: Frontend Entwicklung mit AngularJS · EinführungKonzepteWeb-ServicesLiteraturPraktikum Eigenschaften Paradigmen Objektorientiert Prozedural Funktional Eigenschaften “C-ähnliche”

Einführung Konzepte Web-Services Literatur Praktikum

Asynchrone Abfragen

1 var current = Student.get({"id": 12345});2

3 $log.debug(current.firstName );

Listing 12: Anfrage über $resource

Fallstricke• Abfragen blockieren nicht - Programmfluss stoppt nicht• Weiterverarbeitung der Daten wird vermutlich fehlschlagen

Rene Behring & Damian Poddebniak AngularJS Page 39

Page 40: Frontend Entwicklung mit AngularJS · EinführungKonzepteWeb-ServicesLiteraturPraktikum Eigenschaften Paradigmen Objektorientiert Prozedural Funktional Eigenschaften “C-ähnliche”

Einführung Konzepte Web-Services Literatur Praktikum

Versprechen: Abfragen von Resourcen

1 Student.query (). $promise.then(2 function (data)3 {4 /* onSuccess */5 },6 function (error)7 {8 /* onFailure */9 }

10 );11

12 Student.get({ "id": 12345 }). $promise.then(13 [...]14 );

Listing 13: Query & Get

Rene Behring & Damian Poddebniak AngularJS Page 40

Page 41: Frontend Entwicklung mit AngularJS · EinführungKonzepteWeb-ServicesLiteraturPraktikum Eigenschaften Paradigmen Objektorientiert Prozedural Funktional Eigenschaften “C-ähnliche”

Einführung Konzepte Web-Services Literatur Praktikum

Versprechen: Arbeiten mit Ressourcen

1 var item = new Student ();2

3 item.$save (). then(4 // callbacks5 );6

7 item.$update (). then(8 // callbacks9 );

10

11 item.$remove (). then(12 // callbacks13 );

Listing 14: Create, Update & Destroy

Rene Behring & Damian Poddebniak AngularJS Page 41

Page 42: Frontend Entwicklung mit AngularJS · EinführungKonzepteWeb-ServicesLiteraturPraktikum Eigenschaften Paradigmen Objektorientiert Prozedural Funktional Eigenschaften “C-ähnliche”

Einführung Konzepte Web-Services Literatur Praktikum

Testen mit AngularJS

Test-driven development (TDD)

• Framework ist auf TDD ausgelegt• Unit-Tests mit Karma• End-To-End Tests mit Protractor⇒ Wichtiger Bestandteil moderner Web-Anwendungen

Leider nicht Teil des Praktikums• Benutzung weiterer Tools notwendig• Lernen einer weiteren “Sprache”• Zu viel Zeitaufwand für ein Praktikum

Rene Behring & Damian Poddebniak AngularJS Page 42

Page 43: Frontend Entwicklung mit AngularJS · EinführungKonzepteWeb-ServicesLiteraturPraktikum Eigenschaften Paradigmen Objektorientiert Prozedural Funktional Eigenschaften “C-ähnliche”

Einführung Konzepte Web-Services Literatur Praktikum

Bücher & Dokumentation

Douglas Crockford. JavaScript: The Good Parts - TheGood Parts. Sebastopol: O’Reilly Media, Inc., 2008. isbn:978-0-596-55487-3.

Brad Green und Shyam Seshadri. AngularJS. 1. Aufl.Sebastopol: O’Reilly Media, Inc., 2013. isbn:978-1-449-35588-3.

Brad Green und Shyam Seshadri. AngularJS: Up andRunning - Enhanced Productivity with Structured WebApps. 1. Aufl. Sebastopol: O’Reilly Media, Inc., 2014.isbn: 978-1-491-90192-2.

AngularJS - Superheroic JavaScript MVW Framework.url: https://angularjs.org/ (besucht am 12. 12. 2014).

Rene Behring & Damian Poddebniak AngularJS Page 43

Page 44: Frontend Entwicklung mit AngularJS · EinführungKonzepteWeb-ServicesLiteraturPraktikum Eigenschaften Paradigmen Objektorientiert Prozedural Funktional Eigenschaften “C-ähnliche”

Einführung Konzepte Web-Services Literatur Praktikum

Praktikum

Rene Behring & Damian Poddebniak AngularJS Page 44

Page 45: Frontend Entwicklung mit AngularJS · EinführungKonzepteWeb-ServicesLiteraturPraktikum Eigenschaften Paradigmen Objektorientiert Prozedural Funktional Eigenschaften “C-ähnliche”

Einführung Konzepte Web-Services Literatur Praktikum

Vielen Dank

Rene Behring & Damian Poddebniak AngularJS Page 45