Basta 2017 – Tag 04 – Softwareschutz, XAML und Web-Apps

Basta 2017 – Tag 04 – Softwareschutz, XAML und Web-Apps
Page content

Nach 3 Tagen Basta-Konferenz und vollem Programm wurde es langsam anstrengend. Die Keynote am Donnerstag von Neno Loje stellte die Zukunft von Microsoft unter dem Titel „DevOps und Microsoft: Es weht ein neuer Wind“ vor.

Es wurde vorgestellt, wie die Zukunft von Microsoft aussieht und die Entwicklung zurzeit durchgeführt wird. Insbesondere wurde auf die Zusammenarbeit von 40 (!) Teams hingewiesen, welche alle auf einem Branch in Github arbeiten (laut Herrn Loje bezogen auf das Entwicklerteam rund um Visual Studio bzw. TFS).

UWP Anwendungen entwickeln

Anschließend stellte Herr Thomas Claudius Huber die Entwicklung einer Line-of-Business-App mit der Universal Windows Platform (UWP) vor. Bei der Entwicklung ist zu beachten, dass einige Steuerelemente wie eine Treeview noch nicht vorhanden sind. Zudem sind UWP-Apps erst ab Windows 10 möglich. Diese Plattform bietet eine Basis für alle Geräte. Somit kann eine Anwendung prinzipiell überall ausgeführt werden (UWP-Guide ) .

Hier hat her Huber auch ein neues XAML-Sprachfeature vorgestellt: x:Bind. Verglichen mit dem „normalen“ Binding wird x: Bind während der Kompilierung ausgeführt. Das bietet den großen Vorteil, dass ein Binding im Vorfeld erkannt wird, statt erst zur Laufzeit. Der neue Internet Explorer ist ebenfalls mit UWP erstellt worden. Microsoft wird in Zukunft wahrscheinlich neue Features und Steuerelemente für UWP nachliefern.

Hier ist der Link zu seiner Homepage und seinem UWP-VisualStudio: https://www.thomasclaudiushuber.com

Blurry-Box-Kryptografie

Herr Rüdiger Kügler stellte ein neues Verfahren zum Schutz von Software vor. Wichtig ist hierbei das Kerckhoffs’sche Prinzip: „Die Sicherheit eines Verschlüsselungsverfahrens beruht auf der Geheimhaltung des Schlüssels anstatt auf der Geheimhaltung des Verschlüsselungsalgorithmus (https://de.wikipedia.org/wiki/Kerckhoffs’_Prinzip ) “

Die Vorgehensweise von Blurry-Box-Kryptografie baut auf verschiedenen Modulen auf. Beispielsweise wird eine Method durch neue Varianten ergänzt. Nehmen wir an, es gibt eine Add(int, int) Funktion. Innerhalb dieser Funktion wird Add_1(short, short) aufgerufen, wenn beide Zahlen unter 100 sind. Anderenfalls erfolgt eich Aufruf von Add_2. Somit hat der Hacker 3 Methoden, die er analysieren muss. Diese lassen sich z.B. durch Fallen ergänzen. Diese Fallen werden vom Programm niemals aufgerufen. Ruft der Hacker diese auf, zerstören diese die Lizenz, sodass die Anwendung unbrauchbar wird.

Nähere Details gibt es auf der Seite der Pressemitteilung der Produktseite: https://www.wibu.com/de/protection-suite/blurry-box-kryptographie.html

XAML-Expertise

Nach der Entwicklung und Absicherung von Software gab Herr Gregor Bissanger einen Überblick über die besten XAML-Tipps der letzten fünf Jahre. Als Haupt-Tipp sehe ich, dass Behaviors anstatt Command-Bindings verwendet werden sollten. Behaviors haben, im Gegensatz zu Command-Bindings, keine Memory-Leaks.

Als Tipp wurde zudem Fody oder PostSharp genannt. Mit Fody kann die Implementierung von INotifyPropertyChanged mit Annotations durchgeführt werden. Dadurch werden die Properties einer Klasse wieder kleiner.

Neben diesen Tipps wurden nützliche Tools wie „Tuck Away“, „XAML Power Toys“, „vsXEN“ oder „XAML Magic“ vorgestellt. Dies sind Erweiterungen für das VisualStudio, um die Entwicklung mit XAML komfortabler zu gestalten.

Azure Functions

Zum Ende hin stellte Manuela Rink unter dem Titel „Die serverlose Backend-Diät – mit Azure Functions“ eine Funktion von Azure vor. Azure Functions bieten einen Service vergleichbar mit Microservices an, um verschiedene ( kleine) Aktionen durchführen zu können.

Eine Funktion kann beispielsweise die Komprimierung eines Bildes in verschiedene Auflösungen beinhalten oder einen empfangen Wert in eine Datenbank schreiben. Auch Web-Hooks, also das Aufrufen anderer Seiten mit Parametern, sind möglich.

Die Functions werden im Prinzip durch ein Event aufgerufen und mittels Daten angereichert. In eigenem Code (z.B. C#) wird die Logik implementiert. Microsoft unterstützt hier verschiedene Programmiersprachen.

Bei der Verwendung von Azure Functions ist die Laufzeit zu beachten. Bei zu vielen RAM-Minuten werden Kosten fällig. Functions sind vor allem für kleine Dienste empfehlenswert. Laut Frau Rink verspricht Microsoft, dass der Container sofort ausgeführt wird und die Zeit zwischen Planung und erstem Einsatz minimal ist. Es kann nach der Definition direkt mit der Einbindung begonnen werden.

Web-Apps mit Ionic 2

Den Abschluss der Basta (für mich) machte Aaron Czichon und stelle Mobile (Web-)Apps mit Ionic 2 vor. Ionic ist ein Cross-Plattform-fähiges Framework, für mobile Anwendungen (Android, iOS, Windows Phone). Ionic ist OpenSource und wird durch die Community gepflegt.

Im Prinzip beinhaltet das Ionic-Framework einen Webserver, welche eine Webseite auf dem Zielgerät startet. Die Webseite wird mit Typescript und Ionic-spezifischen HTML-Tags entwickelt. Innerhalb einer Live-Demo stellte Herr Czichon den Quellcode vor und einige Grundlagen (Komponenten, Navigation etc.).

Auch der Zugriff auf native Elemente wie die Kamera oder das Dateisystem ist möglich. Hierfür bietet das Framework Plugins, welche durch die Web-Komponenten aufgerufen werden. Dieser Aufruf wird dann auf das native SDK des Gerätes weitergeleitet.

Ein weiteres Feature ist die automatische Erkennung des Gerätes. Dadurch wird ein Stylesheet geladen, damit die Webseite wie eine native Anwendung für iOS, Android oder Windows Phone aussieht.

Persönliches Fazit

Aus meiner Sicht war die Basta sehr gut. Die Vorträge waren überwiegend sehr gut und auch die Verpflegung lies nicht zu wünschen übrig. Im Empfangsbereich, vor den Session-Räumen, waren einige Aussteller vertreten. Unter anderem DevExpress, die Entwickler-Zeitschrift, FastReport, Twilio und Text Control. Vermisst habe ich einen Stand von Microsoft.

Die verschiedenen Sessions gaben viele Informationen und einen Blick über den Tellerrand. Nach den Vorstellungen gab es die Möglichkeit einer Fragerunde bzw. eines persönlichen Gespräches mit dem Vortragenden.

Die Basta hat auf jeden Fall viel Spaß gemacht und viele Informationen vermittelt. Sie bietet eine gute Plattform, um sich mit anderen Entwicklern auszutauschen und Neuigkeiten zu erfahren. Ich werde mir .Net Core und Docker auf jeden Fall genauer anschauen.

Im Herbst findet die etwas größere Konferenz in Mainz statt, in welcher das 20-jährige Jubiläum gefeiert wird. Den Link findet ihr hier: https://basta.net