Softwarearchitekt.at | Schulungen, Trainings & Beratung in Deutschland und Österreich | Berater, Trainer, Autor, Dozent

 

TypeScript 1.5 Alpha in Visual Studio installieren

Seit einigen Tagen liegt eine Alpha-Version von TypeScript 1.5 vor. Eines der Highlights dieser neuen Version ist die Unterstützung für die EcmaScript-6-basierte Module. Ein weiteres Highlight ist das Konzept der Dekoratoren. Dabei handelt es sich um einen Vorschlag [1, 2] zur Integration von Annotationen in EcmaScript [1, 2]. Das Ziel davon ist es, bestehenden Code durch das Hinterlegen von Metadaten zu erweitern. Angular 2 wird dieses Konzept nutzen und es ist davon auszugehen, dass auch andere Frameworks davon Gebrauch machen werden, zumal sich analoge Konzepte in Sprachen ebenfalls einer großen Beliebtheit erfreuen. Für TypeScript 1.5 Alpha steht ein Sublime-Text-Plugin zur Verfügung. Dieses findet man inkl. einer Installationsanleitung unter [3]. Die vorliegende Alpha-Version kann jedoch auch mit Visual Studio 2015 (CTP) und Visual Studio 2013 genutzt werden. Um TypeScript 1.5 Alpha in Visual Studio einzurichten, ist es zunächst via Git zu beziehen. Anschließend ... [Mehr]

Validierungsframework mit Dekoratoren und Annotationen in TypeScript 1.5

TypeScript 1.5 führt neben der Modul-Grammatik von EcmaScript-6 auch das Konzept der Dekoratoren ein. Dabei handelt es sich um Funktionen, mit denen andere Sprachkonstrukte annotiert werden können. Zu diesen Konstrukten zählen Funktionen, Klassen aber auch Eigenschaften. JavaScript ruft die Dekorator-Funktionen beim Start eines Skripts auf und übergibt an diese die annotierten Konstrukte. Der Dekorator hat dann die Möglichkeit, diese Konstrukte zu erweitern oder durch andere Konstrukte zu ersetzen. Einen Überblick zu diesem Sprachkonstrukt, das auch in Angular 2 zum Einsatz kommen wird, findet man unter [1] und [2]. Dieser Beitrag demonstriert anhand der aktuell vorliegenden Alpha-Version von TypeScript den Einsatz von Dekoratoren am Beispiel eines einfachen Validierungsframeworks. Die Idee ist es, für Klassen sowie deren Eigenschaften mittels Annotationen Validierungsregeln festzulegen. Das nachfolgende Beispiel zeigt eine solche Klasse ... [Mehr]

Eindrücke vom IT-Visions Infotag 2015 in Essen

Nachfolgend ein paar Eindrücke von unserem gut besuchten Infotag in Essen. Wie jedes Jahr haben wir die Gelegenheit genutzt, um uns mit unseren Kunden und Interessenten über aktuelle Entwicklungen im .NET-Umfeld zu unterhalten. Wer den Infotag versäumt hat, hat am 11. 5. im München noch einmal die Chance, dabei zu sein. Infos dazu findet man ... [Mehr]

Eigene Komponenten mit Angular 2

Eine der Stärken von AngularJS ist seit jeher die Möglichkeit, mit Direktiven eigene Komponenten zu schaffen. Ab Angular 2 basieren diese Direktiven auf Web Components. Dieser Beitrag zeigt anhand eines Beispiels, wie man damit eigene Steuerelemente erstellen kann. Im Zuge dessen geht er auf die folgenden Aspekte, die sich durch die Umstellung auf Web Components nun anders gestalten, ein: Binden von Ereignissen in eigenen Komponenten, Binden von Werten in eigenen Komponenten, Transclusion, Kommunikation zwischen Komponenten [Mehr]

Web APIs mit ASP.NET MVC 6: Serialisierung mit Formatter beeinflussen

Um die (De)Serialisierung bei ASP.NET MVC 6 zu beeinflussen, kann der Entwickler beim Start der Anwendung die standardmäßig eingerichteten Formatter konfigurieren bzw. die genannten Auflistungen manipulieren, sprich weitere Formatter hinzufügen oder bestehende entfernen. Ein Beispiel dafür findet sich im nachfolgenden Listing. Es zeigt die Methode ConfigureServices der Klasse Startup, welche sich in jedem ASP.NET-MVC-6-Projekt befindet und die Web-Anwendung beim Hochfahren initialisiert. Die Aufgabe von ConfigureServices ist es, austauschbare Komponenten über den Dependency-Injection-Mechanismus von ASP.NET zur Verfügung zu stellen. Diese Komponenten, welche sich auch Services oder Dienste nennen, hinterlegt ConfigureServices in einer vom Web-Server übergebenen Auflistung des Typs IServiceCollection ... [Mehr]

Self-Hosting mit Kestrel in ASP.NET 5 bzw. ASP.NET MVC 6

David Fowler vom ASP.NET-Produktteam hat vor einigen Tagen ein Beispiel online gestellt, das zeigt, wie man ASP.NET 5 bzw. ASP.NET MVC 6 im Self-Hosting-Modus betreiben kann. Die bis dato bekannten Beispiele zu diesem Thema verwendeten eine ASP.NET-5-Anwendung, die unter Verwendung von Kommandozeilen-Parameter zu starten war. Die Beispiele von David zeigen hingegen, wie man mit Microsofts Entwicklungs-Web-Server Kestrel mehr Kontrolle über Self-Hosting bekommt, indem man den Self-Host bei Bedarf in einer eigenen Anwendung startet. Somit könnte man den Self-Host in einem Windows-Dienst oder innerhalb einer Windows-Anwendung starten. Ich habe das Beispiel von David ein wenig erweitert, sodass es zeigt, wie man eine Startup-Klasse, die die gewünschten Middleware-Komponenten aufsetzt und Services bereitstellt, einbinden kann. Das ist zum einen nützlich, wenn man eine Anwendung sowohl via Self-Host als auch in IIS hosten möchte und hilft zum anderen zu verstehen, was beim Hosting in IIS tatsächlich passiert, wenn hier ASP.NET 5 bzw. ASP.NET MVC 6 hochfährt. Das ganze versehe ich hier zur Erklärung auch mit einigen zusätzlichen Anmerkungen. [Mehr]

Synchrone Validatoren in AngularJS 1.3

Bis inkl. Version 1.2 mussten Entwickler Parser bereitstellen, um eigene Validierungsregeln zu implementieren. Seit Version 1.3 gibt es parallel dazu ein eigenes Validator-Konzept. Da sich dieses Konzept auf das Validieren von Eingaben beschränkt, ist es etwas einfacher zu nutzen. Darüber hinaus bietet dieses neue Konzept auch die Möglichkeit, Validierungsregel asynchron zu prüfen. Das ist vor allem dann nützlich, wenn hierzu ein HTTP-basierter Service anzustoßen ist. Dieser Beitrag geht zunächst auf einfache Validatoren, welche ihre Arbeit synchron verrichten, ein. Ein weiterer Beitrag wird sich ihren asynchronen Gegenstücken zuwenden. [Mehr]

Globalisierung von AngularJS-Anwendungen mit Globalize

Während ich in unserer AngularJS-Tipps-und-Tricks-Kolumn bei Heise Developer auf die Umsetzung mehrsprachiger AngularJS-Anwendungen mittels angular-translate eingehe, zeige ich hier eine Möglichkeit, in globalisierten Anwendungen verschiedene Zahlen- und Datumsformate zu unterstützen. Hierzu gibt es ja bereits ein paar einfache Filter, wie date oder number, in AngularJS. Diese helfen jedoch nur bei der Ausgabe von Daten. Möchte man eine ähnliche Unterstützung auch für Eingabeformulare haben, muss man zu anderen Frameworks greifen. Eines davon ist Globalize (https://github.com/jquery/globalize#0.x-fixes), welches auch in der Lage ist, Werte in Hinblick auf die Gepflogenheiten einer Sprache und/oder eines Landes zu parsen. [Mehr]

Artikelreihe zu AngularJS

Auf den Seiten von Heise-Online findet man nun meine 5-teilige Artikelreihe zu Single Page Applications (SPA) mit AngularJS, die im Laufe der letzten Monate dort nach und nach erschienen ist. Nachfolgend das "Inhaltsverzeichnis" inkl. Links auf die einzelnen Teile. [Mehr]

Slides and Samples from my Session about OAuth 2.0 and JavaScript at OREDEV in Malmö

Below, I place my slides and code-smaples form my session about OAuth 2.0 and JavaScript, that I presented at OREDEV in Malmö today. The sample-code contains a ASP.NET-based OAuth-2.0-Authorization-Server as well as an AngularJS-based Client for it. The client gets an access-token by using the OAuth 2.0 Implicit Flow and then accesses an HTTP-Service on behalf of the user with it. The presented constructor-function can be found ... [Mehr]

Klassenbasierte Middleware für Web-Apps und Web-APIs in ASP.NET MVC 6 mit vNext

Neben der im letzten Beitrag gezeigten funktionalen Möglichkeit zur Umsetzung einer Middleware-Komponente kann der Entwickler hierzu auch auf das objektorientierte Paradigma zurückgreifen. Auch diese Komponenten können in sämtlichen vNext-Projekten, darunter MVC-6-Projekten, welche auch die Möglichkeiten der Web API beinhalten, genutzt werden. Hierzu ... [Mehr]