Vue.js + Old School TypeScript

Vue.js ist ja bekannterweise eines der großen MVVM-Frameworks im Web. Natürlich deutlich cooler als Angular. Zuletzt gab es für mich da einiges zu lernen, insbesondere wie man eine WPF+MVVM-Anwendung möglichst idiomatisch darauf portiert. Vielleicht dazu später mehr. An Vue gefällt mir sein leichtgewichtiger Ansatz, der sich in beliebige vorhandene Architekturen einbetten lässt und außerhalb von Vue nichts […]

Mehr lesen »

WCF Wiederentdecken

Beliebt war WCF bei .NET-Multiplikatoren (also Blogger, Trainer und Evangelisten) gefühlt noch nie. Zu komplex und dann auch noch proprietär (pfui!). Beim Design von .NET Core hat sich wohl die interne Microsoft-Gruppe durchgesetzt, die auf Wellenlänger der .NET-Hipster war. Cross-Plattform für Linux und MacOS und volle Kanne Open-Source und in Sachen Verteilung natürlich REST! WCF […]

Mehr lesen »

Das einfach(st)e Datenbankversionierungssystem

Leider findet auch heute (im Jahre 2016!) die saubere Versionierung einer Datenbankanwendung immer noch zu wenig Beachtung. Neben Tabellen sind gespeicherte Prozeduren, Sichten oder benutzerdefinierte Typen vor allem eins: Quellcode! Und Quellcode gehört in ein Quellcodeverwaltungssystem wie Git, Subversion oder TFS. Achtung: in diesem Beitrag geht es um Microsoft SQL Server und entsprechend funktioniert das […]

Mehr lesen »

Theming mit LESS

Theming ist eine verbreitete Anforderung in Webanwendungen. Oft geht es nur darum die Farben auszutauschen und dafür gibt es in LESS eine sehr schöne Möglichkeit mittels Variablen. HTML Zunächst wird das aktive Theme im <body> Tag hinterlegt: <body class=“theme-modern“> oder <body class=“theme-classic“> all.less In der Hauptprojektdatei, die ich gerne all.less nenne, werden alle Themes eingebunden: […]

Mehr lesen »

gfx.less

gfx.less ist ein kleines Tool und kombiniert zwei tolle Sachen: in CSS eingebettete Bilder und LESS Variablen. Für alle, die Performance tunen möchten, aber bitte automatisch! Grundlagen Bilddateien können im Base64-Format direkt ins CSS eingebettet werden: .someClass { background: url(‚data:image/jpg;base64,/9j/4AAQSkZJRgABAQEBLAEsAAD/…lP2z//Z‘); } Das ist eine gängige Performance-Optimierung, da für dieses Bild nun kein separater HTTP-Request nötig […]

Mehr lesen »

Endlich Clean CSS

Eigentlich bin ich viele Jahre gut mit meinen CSS Kenntnissen ausgekommen, aber jetzt habe ich festgestellt, dass man doch nie auslernt und es doch besser geht. Das sind die Zutaten: Namenskonvention LESS Modularisierung Bundling Namenskonvention Bei CSS gibt es einfach zu viele Namenskonventionen: die aus der .NET Ecke schwören auf „Camel-Casing“ und die aus der […]

Mehr lesen »

Vogelperspektive in NUnit

Mit NUnit bin ich als Entwickler quasi „groß geworden“, habe die Tücken von Unit Tests damit schmerzlich erfahren und viele Lektionen damit lernen müssen, insoweit habe prinzipiell eine positive Einstellung zu diesem Werkzeug. Seit ca. einem Jahr habe ich überwiegend die MS Tests aus Visual Studio verwendet. Zunächst mit wenig Begeisterung, weil ich von anderen Entwicklern […]

Mehr lesen »

Multi-Client Synchronisation mit Entity Framework 5 – Teil III

Nachdem ich in Teil I und Teil II das Framework EFS – Entity Framework Sync schrittweise aufgebaut habe, möchte ich nun im dritten Teil einen abschließenden Überblick über Key Facts von EFS geben. Überblick EFS ermöglicht die automatische Synchronisierung von geladenen Entitäten bei Datenbankänderungen durch andere Clients. Realisiert wird dies durch Client-seitiges Loggen der Änderungen, […]

Mehr lesen »

Multi-Client Synchronisation mit Entity Framework 5 – Teil II

Nachdem ich im Teil I den grundsätzlichen Algorithmus des Frameworks zur Multi-Client Synchronisation mit Entity Framework 5 erläutert habe, möchte ich diesen Algorithmus nun Risiko-basiert analysieren. Die Motivation dieses Vorgehens ist es, das Framework nicht aufzublähen, sondern nur dort zu verfeinern, wo es Sinn macht. Ein Risiko ist in diesem Sinn das Eintreten eines Fehlverhaltens […]

Mehr lesen »

Multi-Client Synchronisation mit Entity Framework 5 – Teil I

Moderne Technologien machen dem Entwickler das Leben schon einfach. Für fast alles existieren Abstraktionen und Blackboxes, die es nur noch richtig zu nutzen und ggf. zu konfigurieren gilt. Aber an manchen Stellen ist doch noch die Schaffenskraft von uns Entwicklern gefragt. Ein solches Themengebiet ist die Synchronisation zwischen mehreren Clients einer Anwendung. Zumindest, wenn man […]

Mehr lesen »