8 Dezember 2019

Worklog SeeingSharp 2: Nugetpakete erstellen und veröffentlichen

Bei Seeing# ist es langsam so weit, dass ich die ersten Nuget-Pakete hochladen möchte. Früher im alten Seeing#-Projekt habe ich dazu noch eine separate VisualStudio-Erweiterung verwendet. Im neuen .csproj-Format ist nun die Möglichkeit eingeführt worden, dass man standardmäßig direkt aus dem CSharp-Projekt heraus auch die Nuget-Pakete erstellen kann. Genau dieses Features wollte ich hier auch direkt ausprobieren. Insgesamt hat das auch recht gut funktioniert, mit Ausnahme der Projekte für die Universal Windows Platform (UWP), doch näheres dazu unten im Artikel.

Weiterlesen
4 August 2019

Mit Null umgehen

Durch den Artikel „Result-Pattern statt Exceptions“ im Windows Developer Magazin [1] bin ich auf die Library Functional Extensions for C# [2] gestoßen. Zunächst fand ich das Result-Pattern auch als sehr interessanten Weg, mit verschiedenen erwarteten Fehlern umzugehen und wollte das direkt mal ausprobieren. Die verwiesene Library macht aber einiges mehr, für mich primär interessant ist das Problem mit den Null-Referenzen.

Weiterlesen
22 Juni 2019

ASP.Net Core mit OpenUI5 – DataBinding

In diesem zweiten Artikel zum Thema ASP.Net Core mit OpenUI5 gehe ich im Gegenteil zum letzten Artikel wieder einen Schritt zurück. Es geht hier erstmal um die Erstellung einer Seite mit Eingabe- und Ausgabefeldern – Im Beispiel in Form einer Konfigurationsseite. Für mich interessant an der Stelle ist das DataBinding von OpenUI5 und der Umgang mit den Datentypen von .Net. Strings und Zahlen sind ja i. d. R. kein Problem, interessanter wird es bei Enums oder Zeitstempel. Weiterlesen

30 Mai 2019

ASP.Net Core mit OpenUI5 – OData V4 Model

Es klingt schon nach einer sehr seltsamen Mischung, die aktuellste Version von ASP.Net Core mit OpenUI5 zu kombinieren. Doch genau mit dem Thema möchte ich mich momentan intensiver beschäftigen. Für diejenigen, die es nicht kennen: OpenUI5 ist die OpenSource-Variante des Frameworks SAPUI5. Es handelt sich dabei um ein JavaScript-Framework zur Erstellung von Business-Anwendungen primär für den Einsatz zusammen mit einem SAP-System. OpenUI5 enthält einen Großteil des Funktionsumfangs von SAPUI5, steht dagegen aber frei zur Verfügung. Weiterlesen

19 August 2018

Worklog Seeing# 2: Start

Für das Projekt Seeing# habe ich bereits sehr viele Stunden investiert. Begonnen mit dem 3D-Rendering ist das Framework über die Jahre sehr in die Breite gewachsen, etwa mit der Unterstützung für Video mit der Media Foundation oder einfachen Funktionen zur Wiedergabe von Musik und kurzen Sounds. Zudem habe ich öfters allgemeine Infrastruktur-Themen wie einen kleinen DI-Container, Übersetzungsfunktionen, etc. integriert. Der ursprüngliche Fokus auf 3D-Rendering ist dabei zum Teil stark verwässert. Aus diesem und anderen Gründen (siehe unten) habe ich mich dazu entschieden, einen größeren Breaking-Change zu machen und die Library grundsätzlich zu überarbeiten. Das Projekt befindet sich auf Github im Repository: https://github.com/RolandKoenig/SeeingSharp2. Bis Seeing# 2 aber die gleiche Funktionalität wie vorher Seeing# bietet, ziehen noch einige Wochen ins Land. Weiterlesen

25 Februar 2018

Umstellung auf Https und alte Website entfernt

Der letzte Eintrag von mir auf dieser Seite ist aus dem Jahr 2016… damit wird es jetzt Ende Februar 2018 wirklich einmal Zeit, hier wieder etwas zu machen. Grund für meine lange Untätigkeit hier ebenso wie auf GitHub ist ganz klar das Fernstudium. Glücklicherweise geht es jetzt auf den Endspurt bei der Masterarbeit zu und damit kann ich langsam zuhause wieder Zeit zum Entwickeln investieren. Bei der Gelegenheit habe ich hier auf der Website erst einmal aufgeräumt. Im Prinzip haben sich zwei Sachen verändert: Zum einen habe ich umgestellt auf Https, um hier auf den aktuellen Stand zu sein und nicht von Google gebrandmarkt zu werden. Zum anderen habe ich die alte Joomla-basierte Website entfernt (vorher erreichbar und www.rolandk.de oder www.rkoenig.eu). Falls jemand den alten Content benötigt, dann reicht eine einfach Mail an mich – habe die Sachen nicht gelöscht, sondern am Webspace erst einmal in einen Backup-Ordner geschoben. Zudem bleibt die alte Datenbank auch bestehen.

17 Dezember 2016

Automatisierte Tests mit Windows.Forms UI

Vor kurzem wurde ich auf einen kleinen aber blöden Fehler in Seeing# hingewiesen. Die Rendering-Hauptschleife ist abgebrochen, sobald man ein Windows.Forms Control von einem Parent ab und an einen anderen angehängt hat. Jetzt klingt das nach einem sehr seltenen Fall, aber auch diesen hätte ich ein paar Jahre zuvor explizit behandelt – allerdings im Rahmen eines Windows.Forms Programms. Im Laufe der Zeit ist dieser Fehler wieder in den Code gewandert, ohne dass er wirklich auffällt. Wer testet sowas auch immer wieder? Aus diesem Grund habe ich versucht, diesen Fall per Testautomatisierung zu behandeln, um so automatisch genau diesen Fall immer wieder abprüfen zu lassen. Weiterlesen

4 Dezember 2016

Seeing# auf der XBox One!

SeeingSharp_XBoxOneSeit jetzt schon ein paar Monaten ist es möglich, Universal Apps auf der XBox One zu deployen. Auf diese Weise ist es möglich, mit C# Apps für die XBox One zu erstellen. Somit wird es langsam Zeit, dieses Feature mit Seeing# zu testen, denn generell läuft Seeing# innerhalb einer Universal App absolut stabil und bietet alle Funktionen wie am Desktop.

Weiterlesen

16 Oktober 2016

Gemeinsame Icon-Bibliothek in größeren Desktop-Apps

IconJe umfangreicher Desktop-Apps werden, desto größer wird auch ein Problem, welches zumeist zu Beginn der Entwicklung unterschätzt wird: Wo werden Icons abgelegt, welche von verschiedenen Programmteilen verwendet werden? Viele verschiedene Programmteile und Module (und wie sie auch immer genannt werden…), bei denen jeweils lokal Icons abgelegt werden, können nach einigen Jahren stetiger Entwicklung für Chaos sorgen. Bei meinen Projekten verstärkt sich das Problem zusätzlich aufgrund der Tatsache, dass sich ältere Windows.Forms- und neuere WPF-Komponenten mischen. Weiterlesen

13 August 2016

WPF Direct3D 11 Interop Performance

13-08-_2016_08-34-26Momentan stecke ich wieder etwas mehr Zeit in die Entwicklung mit WPF. Zwar bin ich nach wie vor nicht der größte Fan davon vor allem, was die Performance und die Weiterentwicklung seitens Microsoft angeht, aber WPF ist für den Windows Desktop nun mal Stand der Dinge. Ein für mich sehr kritischer Punkt bei WPF ist die Interaktion mit Direct3D 11 Inhalten von Seeing#. Genau dieses Thema war für mich immer überraschenderweise der schwierigste Teil. Weiterlesen