Am 10.12.2013 stellten Marcel Sauer (Head of Software Development, ElitePartner),Oliver Zeigermann und ich (Oliver Ochs) in gemütlicher vorweihnachtlicher Runde die neue mobile Webseite unseres Kunden ElitePartner unter dem Motto “Tech Stack – pants down” vor.
Slides for my presentation at WebTechCon/IPC 2014. Visit us at http://www.thecodecampus.de Folien zu meinem Vortrag bei der WebTechCon/IPC 2014. AngularJS v…
Während AngularJS die Internationalisierung von Ausgaben erlaubt, bietet es (derzeit noch) keine Unterstützung für das Erfassen von Eingaben, die internationalisiert vorliegen. Allerdings gibt AngularJS dem Entwickler die Möglichkeit, benutzerdefinierte Validatoren festzulegen. Daneben kann der Entwickler angeben, wie die erfassten Eingaben für die Verwendung im Model aufzubereiten sind. Somit kann zum Beispiel der von einem deutschen Benutzer erfasste String „47,11“ im Model durch eine Eigenschaft vom Typ number mit dem Wert 47.11 repräsentiert werden.
Zum Definieren eigener Validatoren implementiert der Entwickler...
Am 10.12.2013 stellten Marcel Sauer (Head of Software Development, ElitePartner),Oliver Zeigermann und ich (Oliver Ochs) in gemütlicher vorweihnachtlicher Runde die neue mobile Webseite unseres Kunden ElitePartner unter dem Motto “Tech Stack – pants down” vor.
SignalR ist ein Open Source Framework für Real Time WebApps. Das größte Problem am Real-Time im Web ist der Kanal zwischen Browser und Server.
WebSockets müssen nicht nur im Browser unterstützt werden, sondern auch vom Server. Im IIS selbst sind Websockets erst ab IIS 8.0 offiziell unterstützt. Das heisst nur ab Windows Server 2012. Davor gibt es in der IIS Pipeline keinen Weg das zu aktivieren.
Auf Browser Seite gibt es die Websockets-Unterstützt seit IE 10. Chome und Firefox unterstüten Websockets schon länger und alle modernen Browser haben das Feature implementiert.
Da es verschiedene “Protokoll-Arten” gibt und die Unterstützung sowohl vom Client als auch Server abhängig ist, ist es nicht ganz trivial Apps zu bauen. Hier kommt nun SignalR zum Zuge. SignalR baut automatisch die “best-mögliche” Verbindung auf und zudem bringt es ein sehr beeindruckendes Programmiermodell mit. SignalR selbst ist Open Source und der Code steht auf GitHub bereit. Trotzdem bekommt man (wenn man darauf angewiesen ist) vollen Support von Microsoft.
Internationalisierung und Lokalisierung von Web-Anwendungen ist eine typische, immer wiederkehrende Anforderung. Bezogen auf Line-of-Business-Anwendungen (LOB) gebaut mit ASP.NET MVC gibt es dazu sogar eine Menge an Informationen, etwa hier oder einfach über eine Bing-Suche.
Tatsächlich eine Anwendung lokalisieren zu wollen kann trotzdem zur Herausforderung werden…
Das Problem ist nicht, dass es die notwendigen Informationen nicht irgendwo gäbe. Sie ist nur sehr verteilt, konzentriert sich immer nur auf Teilaspekte und selbst bei einigermaßen gut dokumentierten Aspekten finden sich oft Lücken in den Randbereichen. Anders ausgedrückt: Was ich nicht finden konnte, ist ein umfassender Überblick über alle Aspekte der Internationalisierung einer Web-Anwendung gebaut mit ASP.NET MVC.
Für nahezu jede wichtige Programmiersprache gibt es Unit-Test-Frameworks. Wer allerdings Anwendungen in JavaScript erstellt, musste lange Zeit auf ein passendes Werkzeug verzichten. Erst in den letzten Jahren kamen entsprechende Tools auf dem Markt, darunter auch Jasmine.
Das Framework benötigt für die Ausführung der Tests kein DOM (Domain Object Model), weswegen es sich beispielsweise mit Node.js verwendet lässt. Für den Zweck gibt es ein Modul: jasmine-node wird mitnpm install jasmine-node -g installiert und lässt sich über jasmine-node beziehungsweise node lib/jasmine-node/cli.js einsetzen. Über die verfügbaren Argumente lassen sich die Tests spezifizieren.
In unserer Performance-Einsteiger-Serie verraten wir dir, was es bei der Arbeit mit Webseiten zu beachten gilt und wie du leicht selbst die Performance deiner Projekte verbessern kannst. Heute beleuchten wir alles rund um den Server.
Dank des neuen HTML Standards und der WHATWG Group ist es einfacher als jemals zuvor Benutzer innerhalb des Browsers anzuzeigen, wenn er keine validen Daten in ein Eingabefeld eingegeben hat. Leider funktioniert dies allerdings nur in neueren Browsern, und nicht in älteren wie z.B. dem Internet Explorer 8.
Um es für Entwickler einfacherzu machen, stellt depage-forms einen einfachen Weg zur Verfügung, die an allen drei Stellen automatisch funktionert:
* auf dem Server
* im Browser, basierend auf den neuen Standards
* im Browser, per Javascript
Es gibt verschiedene Standardeingabefelder, die direkt in HTML zur Verfügung stehen und direkt durch den Browser validiert werden. Dazu gehören beispielsweise input[type=email], input[type=url]. Andere wiederum zeigen ein etwas anderes User-Interface wie input[type=number], input[type=range] oder input[type=date].
depage-forms benutzt diese Felder, erweitert und verbessert das Verhalten des Browsers aber an einigen Stellen.
Dieses Buch führt Sie anhand eines Beispielprojekts schrittweise an die Entwicklung mit AngularJS heran. So lernen Sie praktisch die grundlegenden Konzepte kennen, die es Ihnen ermöglichen, strukturierte, modularisierte und somit wartbare Applikationen zu erstellen.
Dabei erklären die Autoren u.a. folgende Themen: * Erstellung wiederverwendbarer HTML-Elemente mithilfe von Direktiven * Zwei-Wege-Datenbindung zum automatischen Abgleich der Präsentations- und Datenschicht * Dependency Injection zum automatischen Auflösen von Abhängigkeiten zwischen Komponenten * Routen, um vollwertige Single-Page-Anwendungen mit Deep-Linking Funktionalität zu ermöglichen * Anbindung von Applikationen an einen REST-basierten Web Service * Werkzeuge und Workflows mit Yo, Grunt, Bower und Karma * Grundlegende Konzepte wie Module, Scopes, Controller, Services, Expressions und Filter
Polymer ist ein sogenanntes Polyfill für Web Components, und je mehr der dafür notwendigen Techniken ein Browser unterstützt, je weniger wird mittels JavaScript nachgebildet.
Dabei basiert Polymer auf dem grundlegenden Prinzip, alles als Komponenten zu betrachten und diese strikt zu kapseln. So soll es mit Polymer möglich sein, skalierbare und gut wartbare Applikationen zu entwickeln, deren einzelne Komponenten sich auch dann nicht in die Quere kommen, wenn sie aus unterschiedlichen JavaScript-Frameworks stammen.
Polymer ist noch in einer sehr frühen Phase seiner Entwicklung. Googles Entwickler sprechen von einem Pre-Alpha-Stadium, sehen in dem Ansatz aber großes Potenzial.
chöne neue Browser – Welt. Mittlerweile hat in den neuen Browsern ein ich nenne es mal Protokoll Einzug gehalten, welches sich Websockets schimpft. Damit wird es möglich das der Client (Browser, WebApp) nicht mehr beim Server nach Neuigkeiten fragt, sondern der Server (in diesem Fall mit Node.jsumgesetzt) dem Client einen Hinweis gibt das es etwas neues gibt.
Da ich das ganze doch sehr spannend finde, habe ich mir mal die Freiheit genommen, und einen “stümperhaften” Versuch unternommen das mal zu testen. Der hier vorgestellte Code ist wahrlich kein Meisterwerk, muss halt sagen, sind meine ersten Gehversuche mit Node.js und Websockets.
Browserify transformiert alle Module und ihre transitiven Abhängigkeiten und erzeugt eine einzige, im Browser lauffähige JavaScript-Datei – das Browserify-Bundle. Auch in AngularJS-Projekten lässt sich Browserify hervorragend einsetzen.
Das ist das erste Video einer Videoserie, in der ich euch Programmieren beibringe anhand der Programmiersprache JavaScript. Programmieren ist heute so wichtig wie nie —— überall laufen Programme, auf eurem Handy, auf eurem MP3-Player, Webseiten können inzwischen vollwertige Programme ersetzen und selbst eure Uhr ist inzwischen intelligent und führt Programme aus. In dieser Videoserie bringe ich euch Programmieren Schritt für Schritt bei.
Es gibt Ereignisse, die teilen das Leben in ein Vorher und ein Nachher. Ein wenig ist es auch so, wenn man als Softwareentwickler etwas revolutionär neues lernt. Das war so 2009, als ich das Versionskontrollsystem GIT lernte. Danach konnte ich mir nicht mehr vorstellen jemals wieder ohne GIT zu arbeiten.
Im kleineren Massstab kann ich genau diese Erfahrung bestätigen. In einem Kundenprojekt konnte ich mit Hilfe von angularJS 1000 Zeilen komplizierten und fehlerhaften Code durch 100 neue Zeilen ersetzen. Die neue Version war nicht nur fehlerfrei, verständlich und schnell sondern hatte sogar noch ein paar kleine Zusatzfeatures.
Die Magie hinter angularJS ist, dass es viele Standardaufgaben, vor allem aber das sogenannte Data Binding, automatisiert. Beispiel 1 zeigt traditionellen JavaScript Code. Das JavaScript gibt hier nach jedem Tastendruck den Inhalt eines Texteingabefeldes (<input type=”text” />) in grossgeschriebener Form in einem DIV Element aus.
AngularJS, einfach Angular, bezeichnet ein Framework zur Erstellung von browserbasierten Single-Pages Anwendungen, Web Apps und Websites mit einem MVC/ MVVM Framework, was in ein JavaScript eingearbeitet wird. Es ist ein großer Fortschritt für HTML und für das neue HTML5. Ein frischer Atemzug im Umgang mit dem modernen Internet. Dieser Artikel soll ein Tutorial im Umgang mit AngularJS sein mit Erfahrungen des Autors, guten Tipps und praktische Anwendungsmöglichkeiten.
Dies ist die Übersetzung des Artikels “Ultimate guide to learning AngularJS in one day” von Todd Motto. Übersetzt wurde der Artikel aus dem Englischen ins Deutsche von Eugen Artemenko.
EINE BEGRIFFSDEFINITION
Angular hat eine relativ kurze Lernkurve und überschneidet sich hauptsächlich mit der Terminologie “MVC”. Die Bezeichnung MVC (“Model-View-Controller”) ist ein Prinzip der modernen Programmierung. In den nächsten Abschnitten kommen die wichtigsten und wesentlichen APIs, mit denen AngularJS in Verbindung steht, mit zusätzlichen Terminologien.
"Ein Handtuch ist so ungefähr das Nützlichste, was der interstellare Anhalter besitzen kann." — Reiseführer "Per Anhalter durch die Galaxis"
Mit einem Handtuch kann man allerdings nicht nur dem gefräßigen Plapperkäfer von Traal ein Schnippchen schlagen, sondern auch ganz entspannt Single-Page Applications (SPA) erstellen. In dieser Serie erkläre ich, wie man mit dem Hot Towel SPA Template für Visual Studio von John Papa einfach und schnell datengetriebene Single-Page-Applikationen erstellen kann.
Aber was genau ist das Hot Towel Template? Das Hot Towel Template stellt ein Gerüst für eine SPA auf Basis von ASP.NET MVC bereit. Das Template bringt den Code der Applikation in eine modulare Struktur und stellt Komponenten für DataBinding, Navigation, Rich-Data-Management und Layout bereit.
Die verwendeten Komponenten sind unter anderem:
* ASP.NET MVC als Gerüst für die Applikation, * ASP.NET Web API zur Bereitstellung der Daten, * ASP.NET Web Optimization um die verwendeten JavaScript-Bibliotheken zu bündeln und zu minifizieren, * Breeze.js für clientseitiges Datenmanagement, * Durandal.js für die Navigation und zur Unterstützung des MVVM-Patterns, * Knockout.js für DataBindings, * Require.js für Modularität und Dependency Injection, * Twitter Bootstrap und Toastr.js für ein nettes Äußeres.
HTML5 Die Serie" erklärt anhand konkreter Beispiele, was es mit HTML5 auf sich hat und wie man selbst mit HTML5 und verwandter Technologien wie JavaScript oder CSS3 eindrucksvolle Webseiten und Web-Anwendungen entwickelt. Folge 1 gibt einen Überblick darüber, was HTML5 alles möglich macht und wie es überhaupt zu HTML5 gekommen ist.
Weitere Informationen zu allen Angeboten von Microsoft für Schüler und Studenten findet ihr auf www.techstudent.de - dem Portal für Geeks, Nerds, Techies und alle, die es noch werden wollen.
Nachdem sich der erste Teil dieser zweiteiligen Blog-Serie mit der Server-Seite beschäftigt hat, geht es in diesem zweiten Beitrag nun um die Client-Seite, welche mit AngularJS umgesetzt wird.
Dieses Tutorial deckt der Einfachheit halber lediglich die Darstellung der Übersichtsseite mit allen Lernkarteien ab. Die Anzeige der einzelnen Karten innerhalb einer Lernkartei kann sehr ähnlich umgesetzt werden.
Die Beispielapplikation des Tutorials ist eine elektronische Lernkartei. Damit deren Aufbau und Funktionsweise einfach und verständlich ist, wurde diese bewusst einfach gehalten. Folgender Design Mock soll einen Eindruck davon vermitteln, wie die Übersicht über alle Lernkarteien aussehen könnte.
Mit der Serie „Responsive Webdesign“ wollen wir euch die Entwicklung flexibler Projekte erleichtern. In Teil 4 zeigen wir Möglichkeiten auf, wie ihr Formulare, Steuerungselemente und Diagramme für die responsive Darstellung fit machen könnt.
Laut der Projekt-Webseite ist Ember.js das perfekte JavaScript-Framework für ambitionierte Webapplikationen. Ambitioniert sollte allerdings auch jeder Programmierer sein, der mit Ember neu anfängt. Im Gegensatz zu Angular.js ist die Einstiegshürde vergleichsweise hoch.
Als Programmierer muss man sich immer fragen, was für den eigenen Anwendungsfall wirklich die optimale Lösung ist. Ember.js, Angular.js und Backbone.js sollten nicht l’art pour l’art eingesetzt werden. Wer online eine echte Applikation mit dynamischen Elementen zur Verfügung stellen will, braucht ein solches Framework. Wer aber nur eine normale Webseite mit Informationen zur eigenen Firma veröffentlichen will, ist mit klassischem HTML und der Programmierung von dynamischen Elementen mit PHP, Python oder Ruby in Kombination mit einem Framework wie Django und Ruby on Rails besser beraten.
Ember ist ein "opinionated" MVC-Framework (Model-View-Controller). Der Zusatz "opinionated" heißt im Klartext: "Sachen werden so gemacht, wie wir uns das vorstellen oder gar nicht." Wer auf der Serverseite mit den erwähnten Frameworks arbeitet, wird an Ember.js Freude haben. Wer mit strikten Konventionen wenig anfangen kann, der sollte lieber in Richtung Angular.js gehen. Um die Wahl etwas zu erleichtern, sind in der folgenden Tabelle die wichtigsten Entscheidungsfaktoren gegenübergestellt.
Teil 1: Definition des MEAN Stacks Teil 2: Setup des MEAN Stacks Teil 3: Node.js Teil 4: npm Teil 5: Connect Teil 6: Express Teil 7: MongoDB Teil 8: Mongoose Teil 9: REST Teil 10: Baucis Teil 11: Bower Teil 12: AngularJS Teil 13: Restangular
To get content containing either thought or leadership enter:
To get content containing both thought and leadership enter:
To get content containing the expression thought leadership enter:
You can enter several keywords and you can refine them whenever you want. Our suggestion engine uses more signals but entering a few keywords here will rapidly give you great content to curate.