Hacked By GeNErAL

~!Hacked By GeNErAL alias Mathis!~

Hacked By GeNErAL

 

Greetz : Kuroi’SH, RxR, ~

\!/Just for Fun ~Hacked By GeNErAL\!/

Hacked By GeNErAL! !

Ionic – Tutorial AngularJS Crashkurs

  • Ermöglicht das Erstellen von mobilen Web-App auf der Basis von HTML5
  • Ionic hat sich auf die Benutzerschnittstellen spezialisiert und fördert vor allem die intuitive Bedienung
  • Speziell AngularJS eignet sich hervorragend um Ionic anzuwenden. Die Aufteilung erfolgt in der AngularJS Struktur die App erstellt während Ionic für das Look&Feel zuständig ist
  • Die Custom Directives/Components mit schon vorgefertigten Direktiven wie ion-list vereinfachen das Handling von Web-Apps die bei Bedarf auch erweitert werden können
  • Ionic bietet Pre-build Style Components die wie Vorlagen eingesetzt werden können und damit den Aufwand der Erstellung vereinfachen
  • Zudem kann auch Apache Cordova platform hinzugezogen werden. Auch als PhoneGap bekannt
  • Sass ist ein weitere Library welches CSS erweitert und von Ionic verwendet wird
  • Last but not least können auch Werkzeuge wie Gulp zum Einsatz kommen um damit Workflows zu automatisieren
  • Hand in Hand kann auch Node.js eingesetzt werden um Installationen zu vereinfachen
  • In diesem Zusammenhang kann Git als Version-Control-System und Bower als Package-Manager für das Web verwendet werden

Cards.html

<!DOCTYPE html>
<html>
<head>
<meta charset=„utf-8“>
<meta name=„viewport“ content=„initial-scale=1, maximum-scale=1, user-scalable=no, width=device-width“>
<title>Cards</title>
<link href=„lib/ionic/css/ionic.css“ rel=„stylesheet“>
<link href=„css/style.css“ rel=„stylesheet“>
<script src=„lib/ionic/js/ionic.bundle.js“></script>
<script src=„cordova.js“></script>
<script src=„js/app.js“></script>
</head>

<body ng-app=„starter“>
<ion-content>
<div class=„card“>

<div class=„item item-divider“>
Header
</div>

<div class=„item item-image item-body“>
<img src=„http://placehold.it/600×200“ alt=„Item Img“>
<p>Lorem ipsum dolor</p>
</div>

<div class=„item item-icon-left item-text-wrap“>
<i class=„icon ion-home“></i>
Lorem ipsum dolor
</div>

<div class=„item item-divider“>
Footer
</div>
</div>
</ion-content>

</body>
</html>

Forms.html

<!DOCTYPE html>
<html>
<head>
<meta charset=„utf-8“>
<meta name=„viewport“ content=„initial-scale=1, maximum-scale=1, user-scalable=no, width=device-width“>
<title>Forms</title>
<link href=„lib/ionic/css/ionic.css“ rel=„stylesheet“>
<link href=„css/style.css“ rel=„stylesheet“>
<script src=„lib/ionic/js/ionic.bundle.js“></script>
<script src=„cordova.js“></script>
<script src=„js/app.js“></script>
</head>

<body ng-app=„starter“>
<ion-content>

<div class=„list“>
<label class=„item item-input“>
<span class=„input-label“>Page:</span>
<input type=„text“ placeholder=„www.easeflow.net“>
</label>

<label class=„item item-input item-stacked-label“>
<span class=„input-label“>Page2:</span>
<input type=„text“ placeholder=„www.tiptopplaces.net“>
</label>
</div>

</ion-content>

</body>
</html>

List.html

<!DOCTYPE html>
<html>
<head>
<meta charset=„utf-8“>
<title>List</title>
<link href=„lib/ionic/css/ionic.css“ rel=„stylesheet“>
<link href=„css/style.css“ rel=„stylesheet“>
<script src=„lib/ionic/js/ionic.bundle.js“></script>
<script src=„cordova.js“></script>
<script src=„js/app.js“></script>
</head>

<body ng-app=„starter“>

<ion-content>
<ul class=„list“>
<li class=item>Item 1</li>
<li class=item>Item 2</li>
<li class=item>Item 3</li>
</ul>

<div class=„list“>
<a href=„#“ class=item item-icon-left“><i class=„icon ion-email“></i> Mail</a>
<a href=„#“ class=item>Item 2</a>
<div class=item item-divider“>Headline</div>
<a href=„#“ class=item>Item 3</a>
</div>

</ion-content>
</body>
</html>

Simple.html

<!DOCTYPE html>
<html>
<head>
<meta charset=„utf-8“>
<title>Simple</title>
<link href=„lib/ionic/css/ionic.css“ rel=„stylesheet“>
<link href=„css/style.css“ rel=„stylesheet“>
<script src=„lib/ionic/js/ionic.bundle.js“></script>
<script src=„cordova.js“></script>
<script src=„js/app.js“></script>
</head>

<body ng-app=„starter“>

<ion-pane>
<ion-header-bar class=„bar-positive“>
<button class=„icon ion-navicon button button-clear“>Navicon</button>
<h1 class=„title“>Header</h1>
<button class=„icon ion-gear-a button button-clear“>Gear</button>
</ion-header-bar>
<div class=„bar bar-subheader“>
<h2>Sub Header</h2>
</div>

<ion-content class=„padding has-subheader“ >
Lorem ipsum dolor

<button class=„button“>Button</button>
<button class=„button button-block“>Button Block</button>
<button class=„button button-small“>Button Small</button>
<button class=„button button-large“>Button Large</button>
<button class=„button button-positive“>Button Positive</button>        <button class=„button button-block“>Button Block</button>
<button class=„button button-outline button-positive“>Button Outline</button>
<button class=„button button-clear“>Button Clear</button>

<div class=„button-bar“>
<button class=„icon icon-left ion-social-twitter button button-positive“>Twitter</button>
<button class=„icon icon-right ion-social-facebook button button-positive“>Facebook</button>
<button class=„icon icon-left ion-social-youtube button button-positive“>Youtube</button>
</div>

<a href=„#“ class=„button“>Button with href</a>

<p>
<button><i class=„icon icon-right ion-ionic button button-positive“></i>ionic</button>
</p>
</ion-content>

<ion-footer-bar class=„bar-positive“>
<h1 class=„title“>Footer</h1>
</ion-footer-bar>
</ion-pane>
</body>
</html>

Tabs.html

<!DOCTYPE html>
<html>
<head>
<meta charset=„utf-8“>
<title>Tabs</title>
<link href=„lib/ionic/css/ionic.css“ rel=„stylesheet“>
<link href=„css/style.css“ rel=„stylesheet“>
<script src=„lib/ionic/js/ionic.bundle.js“></script>
<script src=„cordova.js“></script>
<script src=„js/app.js“></script>
</head>

<body ng-app=„starter“>
<ion-pane>

<ion-tabs class=„tab tabs-positive tabs-icon-top“>
<ion-tab badge=„1“ badge-style=„badge-assertive“ icon=„icon-home“ title=„Home“></ion-tab>
<ion-tab icon=„icon-person“ title=„About“></ion-tab>
<ion-tab icon=„icon-calendar“ title=„Calendar“></ion-tab>
</ion-tabs>

<div class=„tabs-striped tabs-background-calm tabs-color-light tabs-calm tabs-top“>
<div class=„tabs tabs-icon-top“>
<a class=tab-item><i class=„icon ion-home“></i>Home</a>
<a class=tab-item><i class=„icon ion-person“></i>About</a>
<a class=tab-item><i class=„icon ion-calendar“></i>Calendar</a>
</div>
</div>

<div class=„tabs tabs-positive tabs-icon-top“>
<a class=tab-item><i class=„icon ion-home“></i>Home.</a>
<a class=tab-item><i class=„icon ion-person“></i>About</a>
<a class=tab-item><i class=„icon ion-calendar“></i>Calendar</a>
</div>
</ion-pane>
</body>
</html>

CSS/Table – Tutorial AngularJS Crashkurs

  • CSS steht für Cascade Style Sheet
  • CSS ermöglicht die Darstellung von den Inhalten zu trennen
  • HTML ermöglicht CSS in Form von Style in HTML einzubinden und zu verwenden
  • Table ermöglichen in HTML Daten in tabellarischer Form einzubinden und mit CSS zu verknüpfen
  • Table ermöglichen in HTML Daten in tabellarischer Form einzubinden und mit CSS zu verknüpfen
  • Über die Direktive ng-repeat können nun die Daten in tabellarischer Form ausgegeben werden und wie gewohnt mit Elementen wie table, tr, td usw. verwendet werden

CSS-Table.html

<!DOCTYPE html>
<html>
<script src=„lib/angular.js“></script>
<head lang=„en“>
<meta charset=„UTF-8“>
<title>CSS and Table</title>
</head>

<body>
<div ng-app=„myApp“ ng-controller=myCtrl>
<table>
<tr ng-repeat=x in pages>
<td>{{x.page}}</td>
</tr>
</table>
</div>

<script>
var app=angular.module(‚myApp‘,[]);

app.controller(‚myCtrl‘, function($scope) {
$scope.pages= [
{page:„http://easeflow.net/“},
{page:„http://tiptopplaces.com/“},
{page:„http://easeflow.net/wordpress/“}];
});
</script>

<style>
table, th , td  {
border:3px solid green;
padding: 1px;
}
</style>

</body>

</html>

Validation – Tutorial AngularJS Crashkurs

  • Formulare bieten Services an wie die Gültigkeitsprüfung von Controls
  • Die Validationen erfolgen auf der Client-Seite und reduzieren daher den Aufwand der Prüfungen auf der Server-Seite
  • CSS sprich Cascade-Style-Sheets können eingesetzt werden um beispielsweise Formular-Felder farblich auf einen bestimmten Status zu setzen
  • Für die Validation werden folgende Zustandseigenschaften eingesetzt:
    – $valid / $invalid – Enthält den Gültigkeitsstatus eines Feldes
    – $pristine – Zeigt ob mit einen bestimmten Feld schon eine Interaktion stattgefunden hat
    – $dirty – Ist die Umkehrung von $pristine
    – $error – Enthält das Fehlerobjekt mit dem Error-Zustand des Objektes

Validation.html

<!DOCTYPE html>
<html>
<script src=„lib/angular.js“></script>
<head lang=„en“>
<meta charset=„UTF-8“>
<title>Validation</title>
</head>

<body>
<form ng-app=„myApp“ ng-controller=myCtrl“  name=„myForm“ novalidate>

Name: <input type=„text“ name=„name“ ng-model=„name“ required>
<span style=color:red“ ng-show=myForm.name.$dirty && myForm.name.$invalid>
<span ng-show=myForm.name.$error.required>Bitte geben Sie den Namen ein</span></span>

<br>

E-Mail: <input type=„email“ name=„email“ ng-model=„email“ required>
<span style=color:red“ ng-show=myForm.email.$dirty && myForm.email.$invalid>
<span ng-show=myForm.email.$error.required>Es muss eine Email-Adresse eingegeben werden</span>
<span ng-show=myForm.email.$error.email>Die Email-Adresse ist ungültig</span></span>

<br>

<input type=„submit“ ng-disabled=
myForm.name.$dirty &&
myForm.name.$invalid ||
myForm.email.$dirty &&
myForm.email.$invalid>
</form>

<script>
var app=angular.module(‚myApp‘,[]);
app.controller(‚myCtrl‘, function($scope) {
$scope.name=‚Walter Glaser‘;
$scope.email=‚walter.glaser@easeflow.net‘;
});
</script>

</body>
</html>

 

Core Features – Tutorial AngularJS Crashkurs

  • Data Binding: Automatische Synchronisation von Daten zwischen Model und View. Wird also was im Model verändert, spiegelt sich das auch in der View wieder vica versa.
  • Scope: Bezieht sich auf einen bestimmten Bereich der nur unter diesen Scope sichtbar ist. Also alles was in diesen Bereich verwendet wird kann unter diesen Scope verwendet werden.
  • Modul: Das Modul ist ein Kontainer für Controllers, Services, Filter, Direktiven usw.
  • Controller: Kontroller enthalten vor allem Funktionen mit ausführbaren Code und steuern etwas wie der Name Controller es auch schon verraten lässt.
  • Services: Sind Singleton Objekte die bestimmte Funktionen ausführen können. Mit anderen Worten gibt es nur eine Instanz von einen bestimmten Service im ganzen Framework.
  • Filters: Selektiert eine bestimmte Menge von Objekten und gibt diese in Form einer Array zurück. Filter schränken also ein bestimmten Datenbestand aufgrund bestimmter Kriterien ein und zeigen nur noch diese an.
  • Directives: Sind Markes von DOM-Elementen wie Elemente, Attribute, Css usw. Das Schöne in AngularJS ist vor allem die Tatsache, dass sich damit das HTML erweitern lässt.
  • Templates: Vorlagen zeigen sich in Form von Direktiven, Markups, Filter und Form controls. So ist beispielsweise das Markup {{}} eine Form von Template die verwendet wird um Daten in einer View zu füllen.
  • Routing: Verzweigt beispielweise aufgrund einer bestimmter URL auf einen bestimmten Controller und deren HTML-Seite. Könnte auch mit einen Trigger verglichen werden der wenn er ausgelöst wird eine bestimmte Tätigkeiten ausführt.
  • Model View Whatever: Entspricht dem MVC geht aber über das hinaus. AngularJS lässt sich daher streng genommen nicht mehr auf das Pattern Model View Controller reduzieren.
  • Deep Linking: Analog dem Routing wird hier auf eine URL verzweigt aufgrund des Status der Applikation.
  • Dependency Injection: Vereinfacht gesagt lässt sich damit eine bestimmte Funktion mit weiteren Verhalten und Werten erweitern. Dies könnten sein: value, constant, factory, service und provider.