BASTA Spring 2022
Was ist die BASTA
Was sagt die Homepage dazu ?
Die BASTA! ist die führende unabhängige Konferenz
für Microsoft-Technologien im deutschsprachigen Raum.
Auf der Basta geht es vornehmlich um .NET und alles was damit zu tun hat. Dazu kommen noch weitere Themen die sich nicht immer nur um die Entwicklung, sondern auch um etwas, dass über den Tellerrand hinaus gehen drehen. Alles in allem also eine “normale” Konferenz mit dem Schwerpunkt Microsoft .NET.
BASTA Spring 2022 ein Rückblick
Dieses Jahr bin ich in den Genuss gekommen, die BASTA besuchen zu dürfen. Eigentlich war geplant, dass ich die Konferenz (so wie es auch generell der Sinn bei Konferenzen ist) vor Ort besuche. Aber Dank der aktuellen Lage zu diesem Zeitpunkt, erschien mir dies als nicht unbedingt klug. Daher habe ich die Möglichkeit genutzt, die BASAT remote zu besuchen.
Was aufgefallen ist, es sind doch auch sehr viele Speaker:innen remote zugeschaltet und nicht vor Ort. Also war eine der Vorteile sich auch nach einem Talk auf der Konferenz direkt mal auszutauschen eh nicht für alle gegeben. Dennoch wurde von den Veranstalter:innen versucht, diesem Problem entgegen zu wirken, indem Sie einen Chat für jeden Talk und eine Möglichkeit geschaffen haben, direkt Nachrichten auszutauschen. Leider fehlte mir hier ein genereller Chat der auch abseits der Talks alle remote Zuschauer:innen vereint, um den Austausch auch hier weiter zu führen, wie es auf einer Präsenzveranstaltung auch der Fall sein würde. Aber abseits davon, sind die Talks, meiner Ansicht nach, sehr Interessant gewesen. Ich bin an vier der fünf Tagen dabei gewesen (1 Workshoptag und 3 Vortragstage). Hier meine kleiner Rückblick:
Tag 1
Workshop Architektur-Workshop für Programmierer und Softwarearchitekten: Strategien 2022 - Oliver Sturm
Der Tag war so aufgebaut, dass wir am Anfang uns abgestimmt haben welche Themen wir besprechen wollen und diese dann nach Gewichtung durch gegangen wurde. Hier gab es Themen, die vom Dozenten vorgeschlagen wurden aber auch eine große Sammlung, die von den Teilnehmer:innen beigesteuert wurden.
Die größten Themen sind hierbei Microservices (Aufbau, Datenhaltung, Vor/Nachteile) und Modularisierung gewesen. Wir haben einen Einblick in aktuelle best practices bekommen und einen Überblick zum Zusammenspiel von CQRS, Eventsourcing mit autonomer Datenhaltung und domain driven design. Alles in allem war der Tag sehr Informativ mit einem Dozenten der versuchte auf die Fragen aus der Runde einzugehen und auch alle zu beantworten.
Was ich von diesem Tag mitnehme ist, dass man sich in der aktuellen Zeit auf jeden Fall mit Webtechnologien befassen sollte, da diese ein sehr einfacher Weg sind eine Multiplatformabdeckung seiner Software zu erzielen.
Tag 2
Keynote
In der Keynote gab es einen groben Überblick über die Veranstaltung und den Ablauf. Zudem haben die Dozenten Christian Nagel, Holger Schwichtenberg, Christian Weyer und Rainer Strapek einen Überblick über die Neuerungen von .NET und somit einen Ausblick auf die technischen Vorträge der kommenden Tage gegeben.
Aus der Praxis WPF und .NET - Thorsten Kansy
In diesem Vortrag ging es um den täglichen Umgang mit WPF und wie bestehende Anwendungen auf das neue “core Framework” umgestellt werden können. Es wurde auf das von Microsoft bereitgestellte Migrationstool hingewiesen (Nicht das einzige mal in dieser Woche) und was angefasst werden muss um eine Anwendung auf das neueste .NET zu heben.
Wie ich finde gab dieser Vortrag einen guten Einblick in die Herausforderungen, bestehende Anwendungen auf neue Technologien zu portieren.
Tschüss Fehlerkultur / Hallo Lernkultur - Sandra Schwedler
Was ich aus dieser Session mitgenommen habe, ist dass Nomen eine starke Gewichtung in unserer Sprache haben. Wenn man von Fehlerkultur spricht ist das Nomen Fehler ein sehr starkes Wort. Daher ist der Ansatz hier lieber positiv besetze Nomen zu nutzen als negativ besetzte. Des weiteren impliziert das Wort Fehler immer auch einen Schuldigen finden zu wollen, der für das Problem verantwortlich ich und somit tendieren einige Menschen hier dann immer den nächsten zu suchen, der an diesem Fehler Schuld hat und nicht auf sich selbst zu achten. Kernaussage ist, dass man aus den Problemen und Fehlern lernen soll und nicht immer unbedingt den Schuldigen finden soll.
Alles gesamt war der Vortrag sehr kurz und ging in eine sehr interessante “Diskussion” über. Hier haben sich auch einige aus dem Chat beteiligt. Alles in allem also ein sehr Interessanter Vortrag incl. anschließendem Austausch.
Migration and modernization wit MAUI - Sam Basu
Hier ist mir nicht all zu viel neues im Kopf hängen geblieben. Es wurde viel vorgestellt wie bestehende Xamarin Forms Anwendungen auf .NET MAUI upgedated werden können. Auch hier wurde wieder auf das von Microsoft zur Verfügung gestellte Migrationskript hingewiesen.
Monitoring (System) in Agile Teams - Shpend Kelmendi
An Anfang klang der Vortrag eher danach, wie Agilen Teams gemonitort werden können. Aber das änderte sich sehr schnell und es wurde klar, dass es darum geht wie Agile Teams ihre Produkte monitoren können. Die Frage am Anfang: Warum benötigen wir ein Monitoring ? Eigentlich ganz einfach. Wir benötigen am besten schnelles und echtes Feedback zu unserer Software. Zudem weiß auch jeder der mal selber Testes geschrieben und danach einen echten User gesehen hat, wie dieser die Software bedient, dass sich dies doch oft SEHR von einander unterscheiden kann. Daher wollen wir auch gerne Infos darüber wie die Benutzer:innen unsere Software wirklich bedienen.
C# 10 what is new and what is next? - Christian Nagel
Der letzte Talk an diesem Tag für mich, hat sich etwas um die Neuerungen in C# 10 / 11 gedreht. Alles in allem ein sehr schöner Überblick über das was mit C# 10 hinzugekommen ist. Ich gehe hier nicht genau auf den Inhalt ein, da man sich dies wirklich besser aus den Neuerungen raus lesen kann.
Tag 3
Python for .NET Developers - Kris van der Mast
Kris hat hier einen kleinen Einblick in die Programmiersprache Python gegeben. Worauf muss man als .NET Entwickler achten und welche Stolperfallen kann es geben, wenn man sich mit dieser Sprache befasst. Ein wirklich schöner grober Überflug.
Architekturansatz für Offlinedaten - Raphael Schwarz
Ein sehr interessanter Vortrag in dem eine kleine DemoApp erstellt wurde um eine moderne Aufteilung von Services zu demonstrieren und wie man mit solch einer Aufteilung “einfach” einen lokalen Snapshot der benötigten Daten erstellen und danach wieder mit dem Mainserver/DB synchronisieren kann. Das ganze wurde mit zwei API´s von Codeworx realisiert. Einmal der REST API (OpenSource) und der Synchronisation.Rest (Leider nicht OpenSource). Sehr interessant wie die Herangehensweise ist, wenn man eine App schreiben muss, die ggf auch mal mit lokalen Daten auskommen und diese dann auf einer Location bearbeiten muss.
WPF und REDUX: Deterministisches State Management am Client - Frank Elersoll und Stefan Henseler
Hier stellen die beiden Vortragenden eine eigene Weiterentwicklung von REDUX für WPF vor. Leider ist die API noch nicht veröffentlicht, aber alles was hier gezeigt wurde kann auch selbst erstellt werden.(So die beiden vortragenden.) Als “Tools” wurden hier REDUX und das MVU Pattern (Model-View-Update) verwendet. Alles zusammen ergab sich hier eine sehr anschauliche Anwendung die REDUX in WPF realisiert hat.
Cleaning your “Big ball of mud” with CQS - Matt Hunt
Ja Matt zeigte in diesen Vortrag, dass wir alle einen gewissen BIG BALL OF MUD in unserer Software haben und dieser leider dafür sorgt, dass er immer weiter wächst. Wenn schon Stellen im Code vorhanden sind, die bereits nicht so schön sind oder nur “mal eben” so gehackt wurden, verleiten diese dazu, dass man hier auch nicht immer so genau hinschaut und den Code auch etwas schludriger schreibt. Das wichtige ist, dass diese Stellen identifiziert und aufgeräumt werden. Als Tool wird hier CQS (Command Query Separation) vorgestellt. Also das trennen von schreibenden und lesenden Zugriffen auf die Daten. Mit dieser Trennung wird es einfacher dafür zu sorgen, dass sich die schlechten Codestellen nicht bilden. Also nach und nach die großen Ansammlungen aufbrechen, refaktorn und dadurch leserlicher und wartbarer gestalten.
Tag 4
Serverless Kubernetes mit Azure Containr Apps - Thorsten Hans
Dieser Vortrag war eigentlich “nur” eine Einführung in die neue Welt der Azure Container Apps. Es wurde gezeigt, wie einfach diese erstellt und auch über die CMD deployed werden könnten. Es gab also einen Einblick in die neue Variation APPS in Azure zu bringen ohne den gesamten Kubernetes Stack selber pflegen zu müssen.
MAUI The Evolution of Xamarin.Forms - Devlin Duldulao
Hier ging es im großen und Ganzen auch wieder um die neue Welt von MAUI und wie diese von Xamarin durch das Portierungstool überführt werden können. Zudem wurde noch erwähnt und etwas gezeigt, wie MAUI und Blazor zusammen spielen können.
Getting a gRIP on ASP.NET Core gRPC - Roland Guijt
Ich muss zugeben, dass ich mir nicht so viel von diesem Talk versprochen haben aber ich bin sehr froh, dass ich ihn mir angesehen habe. Im Grunde wurden hier die Vor und Nachteile einer gRPC Verbindung im Gegensatz zu REST dargestellt. Das wichtigste (und heutzutage auch eigentlich nicht mehr erwähnenswerte) nutzt IMMER HTTPS! Abgesehen davon ist der Vorteil von gRPC (Google Remote Procedure Call) dass es ersten Plattformübergreifend und hoch Performant ist. Nachteil wenn man es so sehen möchte ist, dass der Contract als erstes definiert und shared sein muss. Dies ist für interne Anwendungen kein Problem und hier kann gRPC auch glänzen. Allerdings für offene API´s ist dieser Ansatz etwas schwieriger. Hier macht es Sinn weiter auf REST zu setzen. Alles in allem war der Vortrag super. Mit kleinen Anwendungen zur Veranschaulichung und einem Dozenten dem man gerne zuhörte. Sehr zu empfehlen.
Fazit
War die BASTA eine Teilnahme wert ? Ja auf jeden Fall. Die Auswahl an Talks war breit gestreut und man konnte auch mal über den Tellerrand schauen, was für mich immer sehr wichtig ist um nicht den Blick für neues zu verlieren. Würde ich noch ein mal an einer remote Veranstaltung teilnehmen? Ich denke eher nicht. Das was eine Konferenz meiner Meinung nach aus macht, ist alles was sich zwischen den Talks abspielt. Der Austausch mit anderen Teilnehmer:innen und Dozent:innen sowie auch am Abend mal die etwas gelöstere Atmosphäre. Alles das fehlt leider in einem (oder sagen wir mal so allen die ich bisher kennen gelernt habe) remote Veranstaltungen. Daher freue ich mich ggf. 2023 mal wieder eine Veranstaltung vor Ort besuchen zu können. Doch bis dahin, werde ich vorerst mit Aufzeichnungen vorlieb nehmen.