Für .NET-Entwicklungteams gibt es im Moment wieder eine Menge zu lernen. Die nächsten Major-Versionen von C# und .NET stehen vor der Tür. Sie stehen diesmal im Mittelpunkt des traditionellen C#-Workshops. Wir starten mit den neuen C#-8-Sprachfeatures. Rainer Stropek zeigt euch die Neuerungen in der Sprache. Wir begnügen uns aber nicht mit kurzen Demos. Wir nehmen uns die Zeit, hinter die Kulissen zu sehen und analysieren den generierten Code, analysieren die Performance und sprechen über Anwendungsmöglichkeiten in der Praxis.
Im zweiten Teil stehen .NET Core 3 und .NET Standard 2.1 im Mittelpunkt. Rainer zeigt, was die neuen Versionen können und wie sie zusammenhängen. Im Workshop geht es weniger um aufbauende Frameworks wie WPF oder ASP.NET Core. Wir wollen uns an dem Tag Zeit nehmen, solides Wissen über die Grundlagen aufzubauen, damit der Einsatz weiterführender Komponenten einfacher geht.
Als dritten Schwerpunkt hat Rainer diesmal Unit Testing ausgewählt. Alter Hut? Keineswegs. Testautomatisierung ist in Zeiten von DevOps so aktuell wie nie und deshalb zahlt es sich aus, wieder einmal über das Thema zu reden. Rainer hat für den Workshop xUnit.net und Moq als Tools ausgewählt. Er wird anhand vieler Codebeispiele zeigen, wie man Unit-Tests sinnvoll aufbaut und die Funktionen der beiden Tools sinnvoll einsetzt.
Alle reden darüber: Mobile-Apps, Webtechnologien und Cloud. Die Welt besteht nicht mehr nur aus Windows allein und Ihr Job als Entwickler ändert sich. In diesem Workshop zeigen Thorsten Hans und Boris Wilhelms interessierten .NET-Entwicklern, welche architekturellen Ideen und Konzepte hinter modernen Businessanwendungen auf Basis von .NET Core, Azure Functions, Angular und TypeScript stecken.
Lernen Sie praktische Lösungen für eine Reihe diverser Problem- und Fragestellungen kennen. Wie kann man geräte- und plattformübergreifend Businessanwendungen mit Angular bauen? Wie kann man dies für Windows, iOS, Android und fürs Web gleichermaßen realisieren? Wie können diese Anwendungen Daten und Anwendungslogik mit Hilfe Service-basierter Architekturen nutzen? Dieser Workshop liefert Antworten auf all diese interessanten Fragen. Moderne Businessanwendungen mit Angular, Cordova, Electron, .NET Core und Azure - in Action!
Auch 2019 bringt Oliver Sie in diesem ganztägigen Workshop auf den aktuellen Stand der Möglichkeiten und Chancen, denen sich Programmierer und Architekten gegenüber sehen. Am Anfang des Tages helfen Sie selbst mit, das Programm zu definieren, sodass Ihre Fragen und Problemstellungen im Vordergrund stehen. Ideen gibt es viele: Microservices – ja oder nein? Cloud – muss das sein? Wie viele Server braucht man für Serverless? Blazor, Xamarin, React, Vue, Angular – welchen Weg sollte ich gehen? Datenhaltung mit NoSQL, CQRS, Event Sourcing? Bringen Sie eigene Vorschläge mit und nehmen Sie viele neue Perspektiven mit nach Hause!
Alle reden von DevOps. Neno Loje und Dr. Holger Schwichtenberg zeigen Ihnen an diesem Workshoptag live, wie es geht. Das Fallbeispiel "MiracleList" besteht aus einem .NET-Core-basierten Web-API-Backend (mit ASP.NET Core und Entity Framework Core) und einem Cross-Plattform-Client (HTML, JavaScript, Angular). Als Werkzeuge kommen Visual Studio, Visual Studio Code, Team Foundation Server bzw. Azure DevOps, XUnit, Postman und Selenium/Appium zum Einsatz. Nach einem Streifzug durch den Programmcode bauen die beiden Experten vor Ihren Augen den serverseitigen Build auf inklusive der Integration von Unit-Tests. Nach dem erfolgreichen Bauen geht es dann in die Release-Pipeline. Für die Integrationstests werden in der Staging-Umgebung eine Datenbank und ein Webserver hochgezogen. Erst wenn sowohl die Tests von Logik und Datenzugriff, als auch der HTTP-Web-API-Dienste sowie die Benutzeroberflächentests "grün" zeigen, legen wir das Release zur Veröffentlichung vor. Wenn der Projektleiter zufrieden ist, geht am Ende der Auslieferungskette das Release mit einem Mausklick in die Produktion.
Künstliche Intelligenz ist die neue Elektrizität, behaupten einige. In jedem Fall aber wird sie unser Leben verändern. Für uns Entwickler bedeutet dies vor allem eins: KI wird ein wesentlicher Bestandteil zukünftiger Software, weshalb eine Auseinandersetzung mit dem Thema zwingend erforderlich ist.
Der Workshop zeigt Ihnen, um was es bei KI im Allgemeinen und um Machine Learning im Speziellen geht, in welchen Szenarien es helfen kann und welche Algorithmen hierbei eine Rolle spielen. Sie lernen, wie Sie eigene Machine-Learning-Modelle entwickeln, trainieren und in Ihre Anwendung integrieren können.
Hierbei werden die wichtigsten Produkte und Frameworks vorgestellt: Von Azure Machine Learning über ML.NET bis hin zu den Cognitive Services werden Sie alles kennenlernen, was Sie brauchen, um wirklich intelligente Apps zu entwickeln.
Erfahren Sie in diesem Workshop, welche Building-Blocks Angular für Ihre erfolgreichen Projekte bietet. Lernen Sie dabei, wie Sie aus .NET bekannte Konzepte wie Komponenten, Datenbindung und Dependency Injection mit Angular umsetzen und wie Sie dank TypeScript Klassen sowie statische Typisierung nutzen können. Ihr Workshoptrainer Manfred Steyer ist Entwickler und Berater mit Fokus auf Angular-Entwicklung. Er berät Firmen im gesamten deutschen Sprachraum, ist Autor zahlreicher Bücher, Sprecher auf einschlägigen Fachkonferenzen und Google Developer Expert sowie Microsoft MVP.
Nun ist es amtlich: Die Version 4.8 ist die letzte Ausgabe des klassischen .NET. Die Weiterentwicklung findet nur noch bei .NET Core 3 statt und mündet Ende 2020 in einem einheitlichen .NET 5. .NET-Entwickler stehen heute mehr und flexiblere Möglichkeiten zur Verfügung als je zuvor. Zeit sich Gedanken darüber zu machen, womit und wie man in Zukunft als .NET-Entwickler programmiert.
Zur Eröffnung der BASTA! werfen wir daher mit dieser Keynote einen Blick ins nächste Jahr: Holger Schwichtenberg erklärt die Weiterentwicklung von .NET Core und Jörg Neumann skizziert moderne Strategien für’s Frontend - weit über den klassischen .NET-Horizont hinaus.
Agile Methoden dominieren die Softwareentwicklung und verändern die Unternehmenskultur. Kommunikation und Teamarbeit gelten als wichtigste Erfolgsfaktoren, Pair Programming, Coding Dojos und Daily Meetings unterstützen die Arbeit. Welche Auswirkungen haben diese Veränderungen auf Introvertierte? Was heißt überhaupt "introvertiert" und "extravertiert"? Und was unterscheidet uns? Wo brauchen wir unterschiedliche Settings und wie bekommen wir das am besten hin? Gemeinsam schauen wir unsere Bedürfnisse an und entwerfen ein Arbeitsumfeld, in dem sich alle wiederfinden.
Zahlreiche APIs und Entwicklungsmodelle für die verschiedenen Dienste der Office 365 Suite schaffen eine große Vielfalt bei den Möglichkeiten, integrative Anwendungen basierend auf Clouddiensten zu entwickeln und so individuelle hybride Lösungen zu realisieren. Seit dem Release 1.8 des SharePoint Frameworks (SPFx) wird nun auch die Implementierung von neuen Tabs für Office 365 Teams unterstützt. Dadurch ist es möglich, die beliebte Anwendung nun ebenfalls mit dem aus der SharePoint-Welt hervorgegangenen Entwicklungsansatz um eigene Bausteine anzureichern. Im Rahmen dieses Vortrags soll gezeigt werden, wie mit SPFx ein solcher Tab entwickelt werden kann. Als Anwendungsfall dient der Wunsch nach einem kleinen Dashboard, das einzelne Artefakte verschiedener Tabs übersichtlich arrangiert. Auf diese Weise sollen Tabs ohne standardmäßige Integration in die Anwendung harmonisiert werden. Sascha Bajonczak und Peter Scheidemann zeigen dazu einen kompletten Durchstich vom Projekt-Set-up bis hin zum Deployment im Client.
UX is driving Engineering and Product crazy, a black throwing off timelines and killing ideas. They’re too siloed and not collaborating well. UX doesn’t seem Lean, and popular Agile methodologies haven’t figured out how UX fits in, often suggesting that a Product Manager describing features in stories is enough for developers. UX is throwing your Agile train off so much that you want to throw them under it. Can’t anybody make wireframes? Can’t we circumvent or exclude these people? Companies are figuring out that UX specialists and the User-centered Design process are good investments that more than pay for themselves. Recent highly-publicized UX failures remind us that skimping on the UX process can alienate customers, create negative media attention, and burn millions of dollars. This workshop explains how the UX process fits into Agile, saves companies money, augments DevOps goals, and increases customer satisfaction. Learn how to save time, money, and sanity when UX does research, designs, builds rapid UX prototypes, conducts and interprets UX testing, and iterates… before developers write a line of code.
Bei Schreiben von Quellcode sind Eigenschaften wie Performance und das sinnvolle Ausnutzen der vorhandenen Features wichtig. Aber was nützt der beste Code, wenn er schon nach kurzer Zeit selbst beim Autor ein Gefühl irgendwo zwischen Bewunderung und Panik auslöst? Code muss daher auf jeden Fall (gut) wartbar sein, ohne seine anderen positiven Eigenschaften zu verlieren.
Bisher war .NET Core nur für Server-, Web- und Konsolenentwickler interessant. Mit .NET Core 3.0 liefert Microsoft nun auch WPF und sogar Windows Forms für .NET Core, allerdings nur auf Windows. Mit dem App-Bundler von .NET Core 3.0 kann man eine Desktopanwendung zusammen mit .NET Core
ausliefern, enorm verkleinern und zu einer EXE zusammenschnüren. Dann folgt .NET Core 3.1 und danach .NET 5.0 als einheitliches .NET für alle Anwendungsarten. DOTNET-DOKTOR Holger Schwichtenberg thematisiert in diesem Vortrag die vier großen Fragen: Was ist auf .NET Core 3.0 möglich? Welche Vorteile bietet .NET Core 3.0 für bestehende und neue Desktopanwendungen? Mit welchem Aufwand kann ich bestehende Anwendung auf .NET Core 3.0 umstellen? Was kommt dann mit .NET 5? Natürlich werden auch andere Neuigkeiten rund um den C# 8.0, .NET-Standard, ASP.NET Core, ASP.NET Blazor und Entity Framework Core nicht fehlen.
Microservices sind mehr als eine Modeerscheinung. Richtig gemacht können sie in größeren Projekten die Wartbarkeit eines Softwaresystems verbessern und Innovationen erleichtern. Damit die Microservices aber halten was sie versprechen, braucht es eine entsprechende Softwarearchitektur. In dieser Session erklärt Rainer Stropek Architekturmuster, die man bei der Erstellung eines Softwaresystems mit Microservices berücksichtigen sollte. Rainer geht dabei auch auf Services in Azure und auf .NET Core-Bibliotheken ein, die bei der Umsetzung der Architektur hilfreich sind.
Tokenbasierte Systeme sind heutzutage die Standardarchitektur. Clients für solche Systeme benötigen eine Strategie, um Tokens zu beantragen und zu verwenden – doch der mit Abstand komplexeste Teil ist die Verwaltung dieser Tokens. In diesem Vortrag beleuchten wir typische Patterns für serverbasierte Anwendungen, mobile Clients und SPAs.
DevOps, Kanban, Lean, Agilität – alle haben eins gemeinsam: Sie basieren auf dem Grundprinzip des Flows. Was es mit diesem auf sich hat, warum sich damit bessere Ergebnisse erzielen lassen und wie sich die Softwareentwicklung hier von Konzepten aus der Fertigungsindustrie inspirieren lässt, wollen wir in diesem Vortrag mit Geschichten, Anekdoten und praktischen Anwendungsbeispielen ergründen – spannende neue Perspektiven inbegriffen.
Until recently, agile business had to choose between the benefits of JSON-based NoSQL databases and the benefits of SQL-based querying. Couchbase NoSQL provides schema flexibility, high performance, and elastic scaling, while SQL provides expressive, independent data access. Recent convergence allows developers and organizations to have the best of both worlds. Developers need to deliver apps that readily evolve, perform, and scale, all to match changing business needs. Organizations need rapid access to their operational data, using standard analytical tools, for insight into their business.
Mit C# 8, einer Major-Version von C#, gibt es große Erweiterungen wie u. a. **async streams**, **non-nullable reference types**, **ranges und indices** und weiterführende Features beim **pattern matching**, das in C# 7 eingeführt wurde. In dieser Session sehen Sie, wie neue C#-Features in Libraries und Applikationen genutzt werden können, und wie auch Frameworks von Microsoft angepasst wurden, um die neuen Features zu nutzen.
Mit Angular lassen sich äußerst rasch moderne Frontends für Geschäftsanwendungen realisieren. Um damit jedoch langfristig erfolgreich zu sein, gilt es – wie so oft – ein paar Best Practices zu berücksichtigen. In dieser Session stellt Ihnen Manfred Steyer, Google Developer Expert und erfahrener Angular-Architekt, fünf der wichtigsten Best Practices vor:
Am Ende wissen Sie, wie Sie mit diesen Best Practices Ihr Projekt stabiler und erfolgreicher gestalten.
Angriffe wie etwa SQL Injection, Cross-Site Scripting (XSS) und Cross-Site Request Forgery (CSRF) sind teils zwei Dekaden alt, man sollte sie also kennen. Doch verschärfte Varianten bestehender Methoden sind bereits im Anmarsch: CSRF ohne Nutzerinteraktion, längst vergessene XSS-Varianten, und JavaScript APIs aus dem letzten Jahrtausend. Natürlich gibt es auch neuartigere Angriffe wie etwa unsichere JSON-Deserialisierung, überraschende XML-Injektionen, XSS in SPA-Templates und vieles mehr. Diese Session zeigt zahlreiche dieser Angriffe in Aktion und erläutert selbstverständlich Gegenmaßnahmen. Seien Sie bereit für ein paar überraschende Ansätze, eine Menge Code und eine To-do-Liste, sobald Sie von der Konferenz nach Hause kommen.
Eine moderne App bietet nicht nur eine schicke Oberfläche, sondern auch eine gute Usability. Doch wie können Design und UX auf unterschiedlichen Plattformen effizient entwickelt werden? Jörg Neumann stellt in seiner Session konkrete Löschungsansätze vor und zeigt beispielweise, wie Custom Controls entwickelt werden, die nicht nur auf dem Desktop, sondern auch auf iOS und Android nativ gerendert werden.
Architektur steht für Stabilität und weitreichende Entscheidungen. Und das soll in einem schnelllebigen, flexiblen agilen Projekt möglich sein? Ich zeige in dieser Präsentation, wie sich Architektur mit den User Stories zusammen evolutionär entwickeln kann, wie Entscheidungen bis zum richtigen Zeitpunkt vertagt werden können und welche agilen Architekturmuster es gibt. Ihr lernt, wie eine agile Architektur schnelle Änderungen, einfache Architekturvalidierung und ein immer lauffähiges System ermöglicht.
So many people talk about UI /UX, but do they really know what it means?
What is really the difference between UI and UX? What kind of principles are they based on?
Jedes Projektteam, das mit C# arbeitet, möchte hohe Codequalität sicherstellen. Doch wie geht man das an? Was kann man automatisieren? Welche Werkzeuge bietet Microsoft dafür? Welche nützlichen Tools findet man im Open-Source-Bereich? In dieser Session spricht Rainer Stropek, langjähriger MVP und MS Regional Director, darüber, welche Maßnahmen er in neuen C#-Projekten von Beginn an trifft, um hohe C#-Codequalität sicherzustellen. Er zeigt viele der Werkzeuge, die er im Vortrag erwähnt, anhand von Live-Demos.
ASP.NET Core ist in der aktuellen Version eine stabile und ausgereifte Plattform für Webanwendungen und APIs. Dieser Vortrag gibt einen Überblick über die heutigen und zukünftigen Securityfeatures von ASP.NET Core. Dies soll Ihnen die Evaluierung von ASP.NET Core aus Sicherheitssicht erleichtern.
GraphQL ist eine flexible Abfragesprache, die sich an Ihre Bedürfnisse anpassen lässt. Aus Architektursicht stellt sich die Frage, wo dieses Werkzeug einzuordnen ist – besonders in Microservices-Umgebungen, die eventuell mit Read Models aus Event Sourcing und ähnlichen Komponenten gestaltet sind. In diesem Talk zeigt Oliver praktische Ansätze, wie GraphQL effektiv in Ihr System integriert werden kann.
In anderen Unternehmen oder Abteilungen wird jetzt agil vorgegangen, und nur bei dir wird noch der Wasserfall gelebt? Dein Teamleiter, Projektleiter, Chef versteht einfach nicht die Vorteile und verlangt zur besseren Planung immer noch ein Gantt-Diagramm? Oder in deinem Unternehmen wurde Scrum oder Ähnliches von der Geschäftsleitung eingeführt, aber dein Team macht einfach nicht mit, und der Ex-Projektleiter und jetzt Scrum Master verteilt jeden Morgen beim Daily die Aufgaben? In diesem Vortrag zeige ich dir einige Wege auf, wie du Kollegen und Vorgesetzte überzeugen kannst, neue Prozessrahmen, Methoden und Praktiken auszuprobieren und dann auch zu leben.
Mit XAML Islands lassen sich moderne UWP Controls in WPF-, WinForms- und Win32-Applikationen einbinden. So ist es bspw. möglich, in einer WPF-App das moderne InkControl für die Windows-10-Stifteingabe zu nutzen. Oder es lassen sich Migrationsszenarien bauen, um nach und nach von WPF nach UWP zu migrieren. In dieser Session lernen Sie die Grundlagen zu XAML Islands, um Standard-UWP-Controls, aber auch ihre eigenen UWP Controls in einer WPF-Anwendungen zu hosten.
In diesem Vortrag sehen wir uns gemeinsam an mehreren Code Beispielen und Live Demos die Neuerungen in Xamarin.Forms 4.0 an. Das Xamarin Team arbeitete in diesem Releaseprimär an der Navigation und an der Optik.
So wurde die Navigation wurde durch die neue Shellergänzt. Mit dieser Komponenten sind Sie in der Lage schnell und einfach ansprechende Navigationssysteme wie Flyout Menüs und Tabs unter Verwendung von URI basierenden Navigationsrouten umzusetzen. Wie dies funktioniert werden wir uns gemeinsam ansehen.
Mit der Hilfe von Visuals können Sie einheitliche Layouts für Ihre App unter mehreren Plattformen umsetzen. Im Vortrag werden Sie am Beispiel einer kleinen App sehen, wie mit der Hilfe von Visuals Google Materials Design unter Android und iOS zum Einsatz kommt.
Der Weg von Intralogistic 3.0 nach Intralogistic 4.0 beinhaltet viele Herausforderungen. Etablierte Softwarelösungen sind eingebettet in mechanische Gewerke, IT-Infrastruktur und Steuerungstechnik. Solche Systeme, Applikationen und Architekturen sind immer noch Realität in Produktionssystemen. Muss nun alles neu gemacht werden oder kann es an aktuelle Anforderungen angepasst werden? Wir berichten von Lösungsansätzen und Praxiserfahrungen im Bereich Backend, Web, Rich Client sowie Mobile-Anwendungen. Dabei geht es um die notwendigen Umstellungen, um die Entwicklungen der letzten Jahre in die heutige Zeit zu bekommen: agile Arbeitsweise, Austausch selbstentwickelter Libraries durch etablierte Lösungen, Handhaben von Technologieupdates, Einführung von CI/CD-Ansätzen, Einsatz von Schnittstellen, Business Intelligence und Datenanalyse.
Du bist .NET-Entwickler und findest GraphQL cool? So weit, so gut; aber wie setzt man jetzt ein GraphQL Backend mit .NET konkret um? In dieser Session wollen wir uns ansehen, wie man ein (einfaches) GraphQL Backend in .NET umsetzt. Vom Set-up über Schema, Resolvers, Querys und Mutations ist einiges mit dabei. Bist du bereit, mit GraphQL in .NET durchzustarten? Dann lass uns gemeinsam den ersten Schritt machen! Dieser Talk ist die Weiterführung/praktische Umsetzung zur Session "GraphQL - forget (the) REST" mit Hilfe von .NET.
Progressive Web Apps oder kurz PWAs bringen Webapplikationen näher zum Benutzer, indem sie Schritt für Schritt den Browser verlassen und sich nativen Apps annähern – und das nicht nur auf mobilen Geräten. Mit dem richtigen Konzept und etwas zusätzlichem Quellcode wird Ihre Applikation auf verschiedenen Geräten installierbar und offlinefähig. Dennoch müssen Sie nicht auf die Annehmlichkeiten einer traditionellen Webapplikation wie die einfachen Roll-outs verzichten. Dieser Vortrag bringt Ihnen die Konzepte und Technologien näher, die hinter den PWAs stecken. So erfahren Sie beispielsweise, wie Sie die Manifestdatei für Ihre Applikation gestalten können und wie Sie einen Service Worker installieren. Die Session richtet sich an Entwickler mit Grundkenntnissen in Webtechnologien.
.NET Core bietet eine Menge Vorteile und wenn man diese Vorteile auflistet steht „Performance“ zumeist ganz vorne. Das ist kein Zufall, sondern das Ergebnis von sehr viel Entwicklungsarbeit. Microsoft und die Community haben sich als Ziel gesetzt, .NET Core zu einem „High Performance Framework“ zu machen – und das ist gelungen! In diesem Vortrag werden wir hinter die Kulissen blicken, um herauszufinden, welche technischen Änderungen dazu geführt haben, dass .NET Core und ASP.NET Core deutlich schneller sind als das (klassische) .NET Framework und ASP.NET. Ebenso wird gezeigt, wie man im Alltag diese neuen Features nutzen kann und selbst High-Performance-C#-Code schreiben kann. Drei wichtige Werkzeuge werden detailliert behandelt: 1) ArrayPool, 2) Span, 3) das „ref“-Keyword in C# und seine Implementierung in der CLR. Wir werden konkrete Beispiele vergleichen und mit BenchmarkDotNet den Performancebenefit dieser Tools messen.
NuGet Pakete konsumiert der geübte .NET Entwickler bei seiner Arbeit täglich. Doch wie sieht es mit der Erstellung und Veröffentlichung eigener Pakete aus? Und welche Vorteile ergeben sich daraus? Nicht nur in privaten Projekten, sondern gerade im Unternehmensumfeld kann NuGet dazu beitragen in großen Projekten den Überblick zu wahren. Dazu betrachten wir an einem konkreten Beispiel, wie leicht der Wandel zum eigenen Paket Kosmos vollzogen werden kann, sowie welche Möglichkeiten sich dabei für die Erstellung und Verteilung von Paketen anbieten. Darüber hinaus ist NuGet auch ein lebendiger Teil des .NET Ökosystems, welcher unter anderem durch .NET Core und SemVer 2.0 tiefgreifende Änderungen erfahren hat. Doch was bedeutet das für unsere bisherigen Pakete? Man darf gespannt sein...
Do you think you know everything in Visual Studio? Think again! Do you think you know every handy little trick that is right for you? Think again! Do you think that you want to miss this session? Think again! There are so many tools and commands that you don’t even know you are missing or would need. Sure, you manage without them and you can even just use Notepad.exe to code if you like that, but that's both boring and ineffective. What level of Visual Studio knowledge you have before doesn’t matter, everyone will have something to learn from this session.
Eine C++-Anwendung im Web, integriert in einer Single Page Application (SPA) – das geht? Ja, mit WebAssembly (WASM). Nativer Code im Web hat sinnvolle Anwendungszwecke, wie etwa das Ausführen rechenintensiver Algorithmen im Webbrowser. Doch warum sollte man das tun? Durch die Möglichkeit, existierenden C++-Code speziell kompiliert in den Webbrowser zu laden, können bspw. bestehende C++-Anwendungen portiert und zusammen mit den vielfältigen Browser-Web-APIs, wie etwa dem Service Worker API oder den Multimedia-(Video-/Audio-/Image-)APIs, auf nahezu allen Endgeräten ausgeführt werden. Anhand eines Beispielprojekts, das live Schritt für Schritt nach WebAssembly portiert wird, zeigt Ihnen Martina Kraus, wie man eine existierende C++-Anwendung in eine SPA integrieren kann, um das Beste aus beiden Welten zu nutzen. Dabei sollen typische Designpatterns und evtl. notwendige Umbauarbeiten an bestehendem Code ebenso beleuchtet werden wie die WASM Toolchain, mit der man zum Ziel einer nativ angereicherten, modernen Web-App kommt.
Zentrale Eigenschaft jeder Progressive Web App (PWA) ist die Verbindungsunabhängigkeit. Dank dem Service Worker funktioniert die App auch dann, wenn der Anwender gerade offline ist: im Tunnel, im Park oder im Dschungel. Bei der Generierung eines Service Workers hilft das Toolkit Workbox. Anwenderdaten werden hingegen in der Browserdatenbank IndexedDB hinterlegt. Wo Daten offline gehalten werden, müssen aber auch deren Synchronisierung und Konfliktauflösung in der Architektur bedacht werden. Christian Liebel von Thinktecture zeigt Ihnen am Beispiel einer in Angular geschriebenen Anwendung die Mechanik hinter dem Service-Worker-Cache und der Browserdatenbank IndexedDB, sodass es auch Ihre PWA mit den nativen Gegenstücken problemlos aufnehmen kann.
Dieser Talk richtet sich an Entwickler, die grob wissen, um was es bei Progressive Web Apps geht. In diesem Track gibt es auch den passenden Grundlagenvortrag („Progressive Enhancement im Web: PWA-Grundlagen“), der Ihnen dieses Verständnis vermittelt. Bitte nehmen Sie ein Smartphone mit, um ggf. die Demoanwendung auf dem eigenen Gerät ausprobieren zu können.
Vielleicht hast du auch schon mal eine Sketchnote gesehen und gedacht: "Wow, wäre cool, wenn ich das auch könnte!" Dann komm in diese Session und lern es. Keine Angst, deine Zeichenkünste sind ausreichend - garantiert! Sketchnotes machen mir nicht nur Spaß beim Erstellen, sondern helfen mir, mich während einer Präsentation oder eines Meetings zu konzentrieren und der Inhalt bleibt mir auch viel länger in Erinnerung. Und wenn ich mich mal nicht mehr erinnern kann, dann gibt mir die Sketchnote schnell wieder einen Überblick.
While we all want to work on whiny new software with shiny new technology, the reality is that many developers and teams are stuck maintaining legacy systems. While typically these systems continue to work, maintaining them can be painful. Yet the cost of replacing the old systems with new ones is unimaginable and financially untenable for most companies. How do we deal with this situation without abandoning our clients who are not yet candiates for rewrites or even for lift and shift ? 30 year software veteran, Julie Lerman, will share some of her own experiences and tips for keeping clients businesses running while slowly helping them evolve to modern times and blending modern software practices into ancient systems.
Nach langer Warteizeit ist die neue Engine mit Angular 8 endlich verfügbar. In einem halben Jahr wird Ivy standardmäßig aktiviert sein. Es wird daher Zeit, sich mit dem Thema zu beschäftigen! Doch was genau ist eine Rendering Engine und welche Vorteile bringt Ivy in der Angular-Entwicklung mit sich?In diesem Talk stellt Google Developer Expert (GDE) Martina Kraus die genauen Aufgaben einer Rendering Engine innerhalb des Angular Frameworks vor. Sie erläutert Konzepte und Prinzipien und welche Vorteile bei der der Komponenten-Entwicklung durch Ivy entstehen. Lernen Sie in diesem Talk, wie Ihre Angular-Anwendung mit Ivy schneller lädt, die Anwendung eine geringere Größe erhält und durch Features wie Lazy-Loading von Komponenten der Entwicklungsalltag vereinfacht wird. Zum Ende des Talks werden Sie einen soliden Überblick zum Thema vorweisen und dank der zahlreichen Codebeispiele ihr eigenes Angular-Projekt optimieren können.
Storing only the current state of the data in a business system poses some constraints - you may not be able to extract from your data just the information you need. Even though just that information is there, hidden in the folds of your past actions. Event sourcing is an alternative storage paradigm that saves information at a lower level of abstraction letting software to extract multiple views at different times. Overall, it's an approach close to what we do as humans. As humans, we don’t remember static memories that remain unchanged over time. Quite the reverse, every time an indexed fact is recalled, a corresponding memory is rebuilt on the fly replaying the “events” that have brought to it. And any additional view of the basic we happen to build is called "perspectives". Event sourcing has a tremendous potential when it comes to data availability and quality but it also poses nontrivial challenges. If not used, it can result in some technical debt. If misused, it simply represents a lifetime cost. If well understood (before it is applied), however, it’s very open-minded. In this talk, we explore the principles and implementation strategies and tools.
Wer mit beliebten KI Frameworks, wie beispielsweise TensorFlow, CNTK, Caffe, Chainer und Co., ein Modell bauen wollte, musste sich bislang selbst um die komplette Infrastruktur kümmern und seine Data Science IDE entsprechend konfigurieren. Doch das hat jetzt ein Ende: In dieser Session zeigt Sascha Dittmann, wie man mit der Jupyter Notebooks und den Azure Machine Learning Services eine durchgängige und einfach zu nutzende Data-Science-Umgebung aufbaut. Mit dieser lässt sich dann im großen Umfang parallel experimentieren sowie Deep-Learning- und KI-Modelle trainieren.
Azure App Service ist einer der Rockstars unter den Clouddiensten in der Microsoft-Cloud. Das PaaS- und Serverless-Angebot bietet nahezu alles, was sich Webentwicklerteams wünschen. Rainer Stropek startet seine Session mit einem kurzen Überblick darüber, was App Service alles bietet, damit auch Neueinsteiger wissen, warum so viele Entwicklerteams von dem Dienst begeistert sind. Darauf aufbauend zeigt Rainer an vielen praktischen Beispielen, welche neuen Funktionen in den letzten Monaten zu App Service dazugekommen sind.
DevOps ist in aller Munde und doch gibt es viele Missverständnisse und Fehlinterpretationen. In diesem Lab wollen wir etwas mehr Klarheit darüber schaffen, was hinter diesem Begriff steht, warum DevOps hilfreich sein kann und wo die Herausforderungen liegen. Die Teilnehmer lernen die Philosophie hinter DevOps verstehen und beschäftigen sich mit verschiedenen DevOps-Praktiken. Das zentrale Thema sind dabei die "3 Ways". Die Inhalte sind dabei toolagnostisch und auch für Nichtentwickler relevant und gut nachvollziehbar. Interaktives Erarbeiten der Inhalte statt Toolpräsentation – so erhalten sie nicht nur ein grundlegendes Verständnis des Themas DevOps, sondern hoffentlich auch viele neue Inspirationen, die sie in ihrem Alltag umsetzen können.
Die ganze Welt spricht (fast) nur noch von Angular und es scheint, als käme niemand an dem Framework vorbei. Einmal mehr sind die klassischen Windows-Entwickler mit der Attraktivität der Webwelt konfrontiert. Manch einem WPF- oder WinForms-Entwickler graust es noch immer vor HTML und JavaScript. Dabei ist JETZT der ideale Zeitpunkt für den Umstieg! Schaut man sich die Entwicklung mit Angular im Detail an, so stellt man fest, dass die Unterschiede zu den klassischen Disziplinen immer kleiner werden. Dank der sprachlichen Unterstützung durch TypeScript und dergleichen Konzepte, wie zum Beispiel Data Binding, kommen sich die Frameworks immer mehr entgegen. In dieser Session vergleichen wir die Entwicklung mit WPF und Angular und geben Ihnen die Basics mit, um im Web durchzustarten.
gRPC ist ein modernes, leistungsstarkes Open Source RPC (Remote Procedure Call) Framework, das auf jeder Plattform eingesetzt werden kann. Es verbindet effizient Services in und zwischen Rechenzentren und bietet Erweiterungen für Load Balancing, Tracing, Health Checking und Authentifizierung. Diese Session ist eine Einführung in gRPC, die Ihnen die Werkzeuge an die Hand gibt, um Ihre Anwendungen mit gRPC für die Zukunft bereit zu machen. Sie erfahren, wie gRPC funktioniert, wozu es in der Lage ist, und lernen, wie es in Produktionssystemen eingesetzt werden kann.
Stört es Sie auch, dass Sie sich immer mehr mit Infrastrukturthemen beschäftigen müssen wenn Sie eine Microservices-Anwendung in der Cloud betreiben wollen? Eigentlich möchten Sie doch nur eine Anwendung entwickeln und diese "einfach" bereitstellen. Dann könnte Service Fabric Mesh für Sie interessant sein. Mit Mesh können Container ganz ohne Definition eines Clusters bzw. Netzwerks in Azure bereitgestellt werden; die Plattform kümmert sich selbstständig um die richtige Skalierung in den vorgegebenen Grenzen. Der Vortrag zeigt, wie zustandslose und zustandsbehafte Services in .Net Core entwickelt und über Mesh in der Cloud bereitgestellt werden.
Auf dem Weg hin zu selbstlernenden, autonomen Algorithmen, wie sie im Bereich der künstlichen Intelligenz verwendet werden müssen, werden Lernverfahren benötigt, die auf eine sich verändernde Dynamik der Umgebung reagieren. Hier setzen die Lernverfahren des Reinforcement Learnings an, die zukünftige Handlungen antizipieren und diese in der Entscheidungsfindung berücksichtigen. Im Rahmen des Talks wird die Funktionsweise von Reinforcement Learning anhand eines Spiels und unter Verwendung des Unity-ML-Agents-Toolkits veranschaulicht. Garantiert ohne langatmige Exkursionen der zugrunde liegenden Mathematik, dafür aber mit einsteigerfreundlichen Erläuterungen und vielen Visualisierungen.
Im Gegensatz zu klassischen Webanwendungen haben Single Page Applications einen Anwendungszustand – und dieser muss verwaltet werden, um Inkonsistenzen sowie Zyklen in der Datenbindung zu vermeiden. Deswegen müssen sich Entwickler von Single Page Applications mit State Management beschäftigen.
In dieser Session erfahren Sie mehr über dieses Thema und sehen, wie Sie State Management in Ihre Angular-Anwendungen integrieren können, um diese langfristig wartbar zu gestalten.
Cornelia Rauch spricht über verschiedene State Management Principals und Patterns sowie deren Vor- und Nachteile. Anhand von Live-Demos werden verschiedene Frameworks vorgestellt, die Ihnen helfen, die Komplexität Ihrer Applikation zu managen.
Im Anschluss kennen Sie die Prinzipien hinter State Management und besitzen alle wichtigen Werkzeuge, um eine langfristige Lösung für Ihre Applikation zu entwickeln.
Mit Visual Studio 2019 hat Microsoft einige Verbesserungen zum Arbeiten mit Git eingeführt. Direkt vom neuen Startfenster aus lassen sich Git Repositories aus GitHub, Azure DevOps oder aus anderen Git-Diensten clonen und auschecken. Auch hat Microsoft mit der Pull Requests for Visual Studio Extension eine speziell für Azure DevOps entwickelte Erweiterung eingeführt, die das Erstellen und Reviewen von Pull Requests in Visual Studio erlaubt. Neben diesen Neuerungen lernen Sie in dieser Session die Grundlagen, um in Visual Studio 2019 effizient mit Git zu arbeiten. Dazu gehören Commits, Branches, Tags und auch das Lösen von Merge-Konflikten.
Durch die Flexibilität von TypeScript und JavaScript lässt sich eine einfache aber effektive Dependency Injection bauen. In diesem Talk erstellen wir über das TypeScript-Metadatensystem und dessen Decorators eine Dependency Injection, die sich für verschiedene Anwendungsfälle und JS Frameworks einsetzen lässt.
Events, Events, Events … In dieser Session dreht sich alles um Events – genauer um das Azure Event Grid. Event-basierte Architekturen liegen im Trend – speziell in Kombination mit Serverless-Architekturen. Durch das Azure Event Grid werden Events zu First-Class Citizens in der Cloud, und die Entwicklung von Event-basierten Architekturen wird stark vereinfacht. Diese Session soll einen Überblick über das Azure Event Grid und dessen Einsatzgebiete geben. Sehen wir uns gemeinsam an, wie Azure Event Grid auch Ihr Leben als Cloudarchitekt vereinfachen kann.
In dieser praxisorientierten Session lernen Sie verschiedenste Azure-Technologien kennen, die Ihnen ermöglichen, schneller und einfacher moderne IoT-Lösungen in der Industrie zu implementieren. Im Mittelpunkt stehen Azure IoTHub, IotEdge sowie verschiedene Protokolle und Communication-Patterns mit dem Schwerpunkt OPC-UA. Sie lernen, wie die modernen cloudfähigen Gateways implementiert werden und wie die Daten mit Hilfe von verschiedenen Clouddiensten abgelegt und verarbeitet werden. Diese Session fokussiert professionelle Softwareentwickler, -architekten und Automatisierer, die die moderne Welt von Edge und Cloud bestreiten wollen.
For .NET developers, writing client side C# has always been a pipe dream. With the introduction of Blazor, this all changes. Blazor is a .NET web framework that runs in any browser. Blazor uses the latest in web standards, WebAssembly. This means no plugins, transpilation or JavaScript are needed. In this talk we’ll explore Blazor and discuss what it means for web development today and moving forward.
Zeit und Geld (aber vor allem Zeit!) sparen, wer möchte das nicht? Insofern bietet es sich an, zu prüfen, ob man Dinge nicht auslagern kann, die andere besser oder günstiger tun können und die nicht Kernbestandteil der eigenen Aufgaben sind. Damit wären wir auch schon beim Thema: den Azure DevOps Server/TFS zu Microsoft outsourcen.
Seit einigen Jahren betreibt Microsoft den Azure DevOps Server/TFS fix und fertig in der Cloud – unter dem Namen Azure DevOps Services – mit allem was dazu gehört: Versionsverwaltung mit TFVC und Git, Work Items, Build und Release, Packages und Testplänen. Dies ist die gleiche Umgebung, die Microsoft für seine eigene Softwareentwicklung verwendet, z. B. für die Entwicklung von Windows, Visual Studio oder Azure.
In diesem Vortrag geht es darum, wie der Weg vom eigenen Azure DevOps Server/TFS zu Azure DevOps Services aussieht und wo aktuell die Chancen und Limitationen von Azure DevOps Services liegen.
Hinweis zu den Produktnamen: Der Azure DevOps Server ist ab Version 2019 der neue Name für den Visual Studio Team Foundation Server (TFS). Azure DevOps Services war zuvor als Visual Studio Team Services (VSTS) und davor als Visual Studio Online (VSO) bekannt.
Das "S" in ASP.NET steht eigentlich für "Server", aber neuerdings kann man mit ASP.NET Core auch Single-Page Webapplications (SPA) im Browser erstellen. Bei Server Side Blazor (alias Razor Components) läuft C# noch auf dem Server, sie geben dem Benutzer auf Basis von ASP.NET SignalR und Websockets aber das Erlebnis einer SPA. Client Side Blazor läuft auf Basis von C# und Webassembly als echte SPA tatsächlich im Browser. Beide Ansätze basieren auf der Razor-Syntax, die Sie aus MVC und Razor Pages kennen, was die Migration einfach machen soll. Webexperte Dr. Holger Schwichtenberg vergleicht in diesem Vortrag die Blazor-Varianten untereinander und mit MVC und Razor Pages. Er beantwortet die Fragen, für welche Anwendungsarten die neuen Konzepte geeignet sind und wie effizient die Erstellung neuer Anwendungen bzw. die Migration bestehender Anwendungen ist.
Die XAML-Syntax wird heute bei zahlreichen UI-Plattformen genutzt. Können Sie sich auf eine Plattform fixieren? Um flexibel zu bleiben, sollte möglichst viel Code gemeinsam genutzt werden können. In dieser Session lernen Sie, wie View Models und Services designt werden können, um sie zwischen unterschiedlichen Plattformen zu sharen. Sie sehen View Models in .NET Standard Libraries beim Einsatz in WPF, UWP, Xamarin, der Uno Platform und AvaloniaUI.
ASP.NET Core is primarily a server-side web development framework in which the rendering of HTML takes place on the server resulting in a strong centralization of CPU effort and large bandwidth consumption. Shifting towards a client-centric model poses a few challenges - first and foremost, data-binding. You can rely on jQuery or Vanilla JS to place dynamic calls and grab JSON from the backend, but you still have the problem of turning that JSON in HTML. Popular frameworks like Angular and React solve the problems but, although for different reasons, place further challenges and require some paradigm shift. Vue.js, instead, seems to be the perfect fit especially for developers with a strong ASP.NET background. In this session, we'll see how to use Vue.js in conjunction with an ASP.NET and ASP.NET Core backend and how to mix and match client-side programming with a server-side markup language like Razor.
Egal ob man Applikationen in der Cloud oder im eigenen Rechenzentrum betreibt, Telemetriedaten aus einem Produktionssystem sind für den Erfolg eines Softwareprodukts ausschlaggebend. Cloud und Microservices machen Telemetrie und Tracing allerdings noch wichtiger: Ein HTTP 5xx im Browser sagt uns nicht, wo genau ein Request schiefgegangen ist; mit Dutzenden von Cloud-Services den Fehler zu finden ist gar nicht so trivial. Zum Glück stellt .NET sehr gute Features bereit, um Tracingsysteme zu bauen - ein Beispiel dafür ist DiagnosticSource. Zusätzlich gibt es auch eine W3C-Initiative für einen Tracingstandard namens Trace Context sowie Open-Source-Initiativen mit .NET-Unterstützung, wie zum Beispiel OpenTracing.
Was heißt das für .NET-Entwicklerinnen und -Entwickler, die Applikationen für die Cloud bauen? Diese Session zeigt, wie DiagnosticSource, Distributed Tracing und OpenTracing funktionieren. Das ist aber noch nicht die ganze Geschichte: Die vorher genannten Tools bieten eine Lösung, um Daten zu sammeln und zu korrelieren. Zusätzlich möchte man natürlich diese Tracing- und Telemetriedaten auch visualisieren. Der zweite Teil der Session beschäftigt sich daher mit Observability und Monitoringtools, die die Telemetriedaten auch sammeln, speichern und visualisieren. Vorgestellt werden Application Insights, Jaeger und Elastic APM.
Do you know what developers and customers have in common? They both love good bugless software which lets them enjoy calm sleep at night. Unfortunately writing such software is one of the most difficult things we know and pretty hard to achieve without proper tools. Luckily, there is the multiparadigm .NET language called F# with amazing features like pattern matching, algebraic data types and omnipresent immutability. This session will show you how to use functional .NET concepts to handle complexity in any type of day-to-day business applications – good old ASP.NET web applications, serverless pipelines in the cloud, Docker services, you name it. Beware! Once you take a step on the path of functional .NET, there is no way back – you have been warned!
Artificial Intelligence, of which machine learning is a core part, is just a more advanced form of consulting that aims at producing ad hoc, straight-to-the-point results for customers. More than out-of-the-box (cloud) services, AI is about flexible frameworks capable of processing data in repetitive, configurabile and even agile way. ML.NET is a machine learning framework specifically built for .NET developers. It allows using .NET as the underlying framework and C# and F# programming languages to add forms of machine learning into your applications. The most interesting aspect of ML.NET is that it just offers a programming platform arranged around the idea of predefined "learning tasks". The library comes with sentiment analysis, fraud detection, price prediction, and will be extended to image analysis and whatever else will become of broad interest. The session provides a primer for all those blurred by the actual meaning of AI.
Visual Studio bietet für SQL-Server-basierte Entwicklung mehr als manch ein Entwickler auf den ersten Blick erkennt: Neben Git/SVN-fähigen Datenbankprojekten können leicht Änderungen zwischen Datenbanken aufgespürt und geskriptet werden, es können Unit-Tests für Stored Procedures und Funktionen genutzt werden, um die Fehlerquote niedrig zu haben, und auch ein anspruchsvolles Refactoring ist mit an Bord. Thorsten Kansy stellt alles Wichtige aus Sicht der Praxis vor und erspart damit vielleicht die Anschaffung eines kostenspieligen Zusatztools.
Der neue Ivy-Compiler und Angular Elements erlauben ganz neue Einsatzgebiete, in denen leichtgewichtige Web Components anstatt eines umfassenden Frameworks gefragt sind. Beispiele dafür sind die Integration in bestehende Webanwendungen, die u. a. auf ASP.NET, jQuery oder dem Vorgänger AngularJS 1.x basieren, sowie die Nutzung innerhalb von Contentmanagementsystemen. Aber auch die Schrittweise Migration von Legacy-Anwendungen wird damit so einfach wie noch nie.
Hier erfahren Sie, wie sich Angular Elements und Ivy für solche Szenarien nutzen lassen und was unter der Haube passiert. Wir beschäftigen uns auch mit Herausforderungen und dafür zur Verfügung stehenden Lösungen. Kommen Sie in diese Session und dringen Sie mit Angular in neue Bereiche vor.
Deploying ASP.NET Core apps as Docker images is getting more popular and more common. Thanks to tools such as the Docker Tools for Visual Studio and VS Code extensions, it's easier to create, test, and publish these images. But what if you are using EF Core to interact with a relational database in your app? How can your container instance find and interact with your database during dev, test or in your CI/CD pipeline? This session will show some tips and tricks and share some "aha!" moments to simplify your journey with containers, ASP.NET Core, and EF Core. We'll also incorporate SQL Server for Linux in containers. And if you are still scratching your head over Docker, this should be a doubly helpful session for you.
Um mit React eine vollständige Anwendung zu bauen, brauchen Sie verschiedene zusätzliche Elemente. Manche Varianten gibt es auch außerhalb von React, wie etwa Sagas und Redux (oder gar das Flux-Pattern). In dieser Session zeigt Oliver Sturm anhand von praktischen Beispielen, welche Rolle diese und andere Patterns im Gesamtsystem spielen, und wie einfach mit ihrer Hilfe die Pflege komplexer Systeme wird.
Terraform von HashiCorp erlaubt es Ihnen, Ihre Infrastruktur auszuprogrammieren. Indem Sie Ihre gesamte Infrastruktur in Code ausdrücken, können Sie neue Umgebungen in nur wenigen Minuten erstellen, anpassen oder zerstören. Infrastructure as Code (IaC) bietet Vorteile wie transparentes Wissen, Nachvollziehbarkeit, Testbarkeit, Dokumentation und natürlich Automatisierung. In diesem Vortrag von Thorsten Hans lernen Sie Terraform an praktischer Beispiele kennen. Kommen Sie in den Genuss von Terraforms Ausführungsplänen, mit denen Sie jede Anpassung an der gewünschten Umgebung vor der tatsächlichen Anwendung ausprobieren und analysieren können. Lernen Sie Ihre Infrastruktur zu programmieren, um unabhängige Umgebungen wie Development, Staging und Production im Handumdrehen zu verwalten.
Build-Measure-Learn (Erstellen-Messen-Lernen) sind die Schlagwörter aus dem DevOps-Universum. Die Build-Phase ist inhaltlich bereits sehr gut in den Teams adaptiert. Der nächste Schritt im Prozess, das Messen, ist da schon ein anderes Thema. Ohne gute Messdaten kann man als Team keine guten Erkenntnisse für die Weiterentwicklung des Produkts bzw. den Betrieb generieren. Das richtige Sammeln und Verarbeiten von Telemetriedaten ist somit für die ganzheitliche Adaption von DevOps als Konzept sehr wichtig. Das Motto lautet: "Wer 'sinnvolle' Daten im 'richtigen' Umfang sammelt [Input], kann später auch intelligent Entscheidungen treffen [Output]". Ohne guten Input gibt es keinen guten Output.
Von Roslyn hat wohl jeder Entwickler, der jemals in C# oder VB entwickelt hat, bestimmt schon einmal etwas gehört. Dabei handelt es sich um den Projektnamen des quelloffenen Compilers für C# und VB, der auch im Visual Studio unter der Haube seinen Dienst verrichtet. Microsoft hat es stets als "Compiler as a Service" propagiert, doch wie nutze ich einen solchen Service eigentlich und was bietet mir Roslyn? Neben dem eigentlichen Compile sorgt Roslyn vor allem dafür, dass der Entwickler auf mögliche Fehler schon bei der Entwicklung in Visual Studio auf mögliche Probleme hingewiesen wird. Ständige Codeanalyse und daraus resultierende mögliche Code-Fixes sind die Hauptaufgabe von Roslyn in Visual Studio. Innerhalb dieses Vortrags wird ein Code-Fix für Visual Studio entwickelt, das zuerst den Source Code analysiert, anschließend dem Nutzer einen Code-Fix vorschlägt und bei Bestätigung auch durchführt.
Das Internet der Dinge vereint künstliche Intelligenz, die Cloudnutzung und Edge-Computing. In diesem Kontext wird die Datenverarbeitung an Orten mit rauen, extremen Umgebungsbedingungen, schlechter Konnektivität oder besonderen Sicherheitsanforderungen zur Normalität. Dadurch werden Lösungen mit Echtzeitanforderungen und die ausschließliche Verarbeitung von Daten in der Cloud schwieriger, teurer oder in Teilen unmöglich. Mit Azure IoT Hub und Azure IoT Edge begegnet Microsoft diesen Herausforderungen und ermöglicht die Datenverarbeitung am - oder näher am - Entstehungsort. Damit wird es möglich, bereits auf dem Edge Device AI-Modelle, z.B. auf Basis von Microsoft Cognitive Services, zu verwenden oder Datenstromanalysen mit Hilfe von Azure Stream Analytics einzusetzen. Diese Session bietet einen Einstieg in die Azure-IoT-Edge-Plattform und die von Microsoft bereitgestellten Technologien und Services. Sie bildet damit einen Jumpstart für diejenigen, die sich dafür interessieren, wie sich intelligente und verteilte Datenverarbeitung auf der Microsoft-Azure-Plattform umsetzen lässt.
So, you hate JavaScript but you’re supposed to create this web app? Join technical evangelist Don Wibier and see how to get going with Blazor. Experience the power of C# running on the server – and in your browser!
In this session, you’ll get a quick introduction on how to set up your development environment and start coding a Blazor app. We’ll go over several aspects like dependency injection and data access, routing, editing and validation as well as using 3rd party controls. Discover if this new technology is something for you!
Mit Monorepos können große Anwendungen in kleine, übersichtliche Teile zerlegt werden. Dabei handelt es sich jedoch nur um eine Seite der Medaille: Zuvor gilt es nämlich, festzulegen, anhand welcher Kriterien die Zerlegung erfolgen soll und wie die einzelnen Bibliotheken miteinander kommunizieren dürfen.
Um diese Fragen zu beantworten, beleuchtet diese Session die Ideen von Strategic Domain-driven Design vor dem Hintergrund großer Angular-Anwendungen. Wir beschäftigen uns anhand einer Angular-basierten Fallstudie mit dem Bounded Context, der Definition von Subdomänen und Context-Mapping. Anschließend sehen Sie, wie sich diese Ideen mit Angular und einem Monorepo realisieren lassen.
Am Ende haben Sie nicht nur den nötigen technischen Überblick, sondern auch eine dazu passende, bewährte Methodik für die Schaffung langfristig wartbarer Angular-Lösungen.
„Auch das Beste stiftet, falsch verwendet, ein Unheil an, das seine Herkunft schändet.“
Wir (Menschen) verkennen regelmäßig, mit Inbrunst und in guter Absicht, die Komplexität systemischer Herausforderungen. Systemisches Lernen bedeutet, vernetzte Wirkzusammenhänge und Regelkreisläufe wahrzunehmen und zu verstehen. In diesem Talk steigen wir anhand zweier Beispiele (Tschernobyl und das Beer Game der MIT Sloan School of Management) in die Grundlagen des systemischen Denkens ein, analysieren einfache Regelkreisläufe und sehen uns an, was das für organisationales Lernen bedeutet.
DevOps ermöglicht Unternehmen Programmbausteine schneller, zuverlässiger und reproduzierbarer zu entwickeln und in die Software zu integrieren. Häufig bleibt jedoch die Frage ungeklärt, wer sich um die Sicherheit innerhalb des DevOps-Prozesses kümmert. Aufgrund der kurzen Releasezyklen ist die Durchführung von umfänglichen Sicherheitsüberprüfungen für jedes Release der Software nicht praktikabel. In diesem Vortrag wird eine Methode zur Etablierung von Sicherheitsmaßnahmen in modernen DevOps-Umgebungen vorgestellt und aufgezeigt, wie durch Standardisierung die Kontrolle über agile Entwicklungsprozesse erreicht werden kann, ohne diese zu sehr zu beschränken. Durch den Vortrag wird der Zuhörer in die Lage versetzt, Security-Quality-Gates in seiner Entwicklungs-Pipeline zu etablieren.
Agile Softwareentwicklung stellt die zwischenmenschliche Kommunikation in den Vordergrund, was dazu führen soll, das Richtige richtig zu implementieren und Software schneller ausliefern zu können. Doch wie dokumentieren agile Teams ihre Softwarearchitektur? Herkömmliche Ansätze sind meist zu schwergewichtig, da sie eher auf Wasserfallprojekte zugeschnitten sind.Sollten architekturrelevante Entscheidungen überhaupt dokumentiert werden? Und wie fügt sich eine geeignete Methode in die agile Arbeitsweise ein? In diesem Vortrag wird eine leichtgewichtige Methode zur Dokumentation von Softwarearchitektur vorgestellt. Diese hält Architekturentscheidungen in Architecture Decision Records (ADR) fest. Ein kompaktes Format, angereichert mit Zusatzinformationen wie Kontext und Randbedingungen. Nicht funktionale Anforderungen werden als Qualitätsszenarien beschrieben, deren Erfüllung durch die ADRs geprüft werden kann. So wird die Dokumentation ein Instrument zur Kommunikation mit allen Stakeholdern.
Mit EF Core haben wir nicht nur eine modernere Version vom Entity Framework, EF Core bietet auch zahlreiche Features, die es in der .NET-Framework-Version Entity Framework nicht gegeben hat. In dieser Session geht es nicht mehr um simples Mapping von Datenbanktabellen in Objekte, hier werden weitere Features wie Shadow Properties, Mapping auf Fields, Owned Types und Collections, Model Type Query Filters und mehr gezeigt - inklusive dem NoSQL-Provider von EF Core, um auf Azure CosmosDB zuzugreifen.
Mit Azure DevOps Server 2019 und Azure DevOps Services stellt Microsoft ein neues Format zur Definition von Build und Release-Pipelines zur Verfügung: YAML. Nebst dem großen Vorteil, die Pipeline-Definition in der Source-Code-Verwaltung zu versionieren und zu branchen, bieten YAML Pipelines viele weitere Vorteile gegenüber der aktuellen Pipeline-Definition. Diese Vorteile werden anhand von Praxisbeispielen demonstriert. Zudem klären wir die Frage, wann sich die Umstellung auf YAML Pipelines lohnt und was hierzu beachtet werden muss.
Jeder baut Web-APIs, oder? Leider ist es nicht damit getan, ein neues Projekt zu erzeugen, ein paar Controller zu implementieren und dann sein Web-API zu deployen. Zum einen sollte es vernünftig dokumentiert werden, damit die Entwickler, die mit unserem API arbeiten müssen, auch wissen, was es kann und wie es funktioniert. Zum anderen sollten wir selber auch sicherstellen, dass unser API das tut, was es soll. In dieser Session zeigt Ihnen Sebastian Gingter, wie man diese beiden Fliegen mit einer Klappe schlagen kann. Mit Hilfe von Open API/Swagger erzeugen wir erst eine umfassende, ständig aktuelle und lebendige Dokumentation unseres APIs. Im zweiten Schritt generieren wir aus dieser Dokumentation auch gleich Tests für das API-Test-Tool Postman, die wir dann mit etwas JavaScript Testcode anreichern und diese sogar als automatisierte Integrationstests laufen lassen können. Web-APIs jenseits von Hello World, mit viel Projekterfahrung.
Mobile Apps finden in vielerlei Anwendungsszenarien Gehör. Sie werden auch verstärkt unternehmensintern für verschiedene Zwecke und Prozesse eingesetzt, wie zum Beispiel für mobile Kassenlösungen, Inventuren, Reportings usw. Für einige Anwendungsfälle wie Inventur oder Disposition müssen immense Datenmengen synchronisiert und verarbeitet werden, idealerweise in Echtzeit. Hier kommt Couchbase ins Spiel, das dem Entwickler die Arbeit an der Synchronisation komplett abnimmt. In diesem Vortrag geht es um den praktischen Einsatz von Couchbase Lite 2.0 mit Xamarin sowie Tools und Frameworks zur einfachen Realisierung von mobilen Applikationen.
Schick, performant und bitte auf allen Plattformen verfügbar! Moderne Anwendungen verlangen ihren Entwicklern einiges ab. Wo früher noch die Vorarbeit von Anbietern wie Microsoft mit Windows Forms geleistet wurde, muss heute selbst Hand angelegt werden. In dieser Session von Andreas Wissel erfahren Sie, wie Ihr Team mit robusten Workflows in einer agilen Welt mit diesen Anforderungen Schritt hält. Angefangen bei Grundkonzepten für erfolgreiche Redesigns über Custom Elements in Angular bis hin zur Entwicklung von isolierten Komponenten in Storybook. Mit diesem Handwerkszeug schaffen Sie die Grundlage für eine konsistente Designsprache in skalierbaren Anwendungen.
In der dritten Hauptversion des überarbeiteten Objekt-Relationalen-Mappers schließt Microsoft weitere Lücken. Datenbank-Views werden in Entity Framework Core 3.0 auch beim Reverse Engineering berücksichtigt. Entwickler können auch von C#-8.0-Konzepten wie Async Streams und Ranges bei der Programmierung mit Entity Framework Core profitieren. Außerdem hat Microsoft die LINQ-Unterstützung abermals überarbeitet. Damit soll es in weniger Fällen zu einer Client Evaluation im RAM kommen. Ob dies gelungen ist, bewertet ORM-Experte Dr. Holger Schwichtenberg genauso wie die Performance von Version 3.0. Zudem thematisiert er die umfangreiche Liste der Breaking Changes zu Version 2.2. Auch mit Version 3.0 wird es noch nicht alle aus dem klassischen Entity Framework benannten Funktionen in der Core-Version geben, z. B. fehlen M:N-Abstracktion, TPT-Vererbung und Validierung vor dem Speichern. Dr. Holger Schwichtenberg zeigt auch Workarounds aus der Praxis für diese Fälle und gibt einen Ausblick auf Version 3.1.
Qualität von Software wird meist nur durch die Anzahl der Bugs bewertet. Es gibt aber das große, meist unsichtbare Monster der technischen Schuld, das darüber bestimmt, wie schnell und mit welcher Qualität neue Features umgesetzt werden können. Die technischen Schulden bestehen aus der Plattform, der Architektur, der Testabdeckung und vielen anderen Faktoren. Oft wächst diese Schuld so weit an, dass nur noch ein kompletter Re-Write der Software als Lösung übrigbleibt – also quasi die Insolvenz. Der Vortrag erklärt, was technische Schuld ist und wie man mit ihr am besten umgeht. Er zeigt, wie man die Schuld mit NDepend, Azure DevOps und SonarQube transparent, quantifizierbar und steuerbar macht. Die Integration in Visual Studio hilft dem Entwickler dabei, bereits bei der Entwicklung die richtigen Entscheidungen zu treffen und Schulden erst gar nicht entstehen zu lassen.
Der Monolith hat ausgedient – kleine, wartbare Microservices sind im Trend! Aber wie setzt man diese Idee in der Welt von Single Page Applications und Angular um?
In dieser Session betrachten wir verschiedene Ansätze und bewerten ihre Vor- und Nachteile. Wir untersuchen verschiedene Realisierungsoptionen wie z. B. den Einsatz von Web Components und diskutieren Lösungen für Herausforderungen wie App-übergreifende Security, Routing, Kommunikation zwischen Micro Apps und das Bereitstellen optimierter Bundles.
Am Ende wissen Sie, ob sich Micro Apps für Ihr Vorhaben überhaupt lohnen und welche Ansätze sich für Ihren konkreten Fall anbieten.
SPA Frameworks wie Angular haben sich als Frontend-Plattformen für Businessapplikationen etabliert und schaffen die Möglichkeit, auch große Anwendungsszenarien im Web abzubilden. Der Desktop und mobile Platformen sind jedoch als Zielplatformen ebenfalls relevant und sollten bei modernen Applikationen nicht fehlen. Mit Frameworks wie Cordova und Electron ist es ein Leichtes, die Webanwendung auch als App oder Desktopanwendung auszuliefern, ohne dabei auf native Funktionen zu verzichten. In diesem Talk zeigt Fabian Gosebrink am Beispiel einer Angular-App, wie aus der Codebasis der Webanwendung eine Anwendung für den Desktop und eine mobile Anwendung erstellt werden können. Alle Plattformen aus nur einer Codebase - eben mehr als "nur" Web!
The session discusses the current MS Azure cloud possibilities focusing on artificial intelligence and machine learning technologies for the automatic creation of reports and document forms. In addition, the speaker presents a new approach for report generation using machine learning for data block recognizing. Models for template deploying of databases and report generators based on cloud structure finalize the session.
Neben Quellcodeverwaltung (Azure Repos) und Build-Automatisierung (Azure Pipelines) sind es vor allem die Work Items (Azure Boards), die von kleinen wie großen Teams verwendet werden, um sich und ihre Arbeit zu organisieren.
In diesem Vortrag geht es um Tipps um Tricks zur Strukturierung, den Umgang mit Boards und Backlogs und Strategien, wie agile Teams ihre Backlogs übersichtlich halten und sich somit auf das Wesentliche konzentrieren können.
Als Designtechnik ist Event Storming momentan der letzte Schrei. Nur mit haufenweise Klebezetteln ausgerüstet treffen Entwickler und Anwender aufeinander. Innerhalb von sehr kurzer Zeit bauen alle Teilnehmer ein gemeinsames Verständnis der Domäne und der Prozesse auf. Der Schwerpunkt wird dabei zunächst auf die Domain Events gelegt, also das, was in der Fachlichkeit geschieht. Weil die Methode so leichtgewichtig ist, fokussiert sie uns das, was wirklich wichtig ist: weg von Technologie und Werkzeugen hin zur Domäne. Besonders spannend: Die Ergebnisse der Event-Storming-Sessions geben uns schon konkrete Implementationshinweise. Und das Ganze auch noch mit einer Menge Spaß. In dieser Session zeige ich kurz, wie Event Storming funktioniert und wo man es einsetzt. Dann setzen wir es mit den Teilnehmern direkt in der Praxis an verschiedenen Beispielen um.
Objektorientierung ist Mainstream, aber deshalb nicht einfach. Objektorientung hat Produktivitätssteigerung versprochen. Aber Objektorientierung hat deshalb nicht zu wandelbarem Code geführt. Es ist Zeit, den Kater zu spüren, den die objekttrunkenen Tage hinterlassen haben. Objektorientierung verdient eine kritische Auseinandersetzung und eine Rückbesinnung - aus der sie erfrischt und gestärkt hervorgehen kann. Der Vortrag führt zurück an die Wurzel der Objektorientierung. Er hebt die ursprüngliche Vision des Vaters des Begriffs ins Bewusstsein, um von dort aus eine einfache und zeitgemäße, aber zuweilen auch radikal andere Objektorientierung zu entwickeln. Andere Programmiersprachen als die heutigen sind dafür zum Glück nicht nötig. Alle notwendigen Mittel sind da, sie müssen nur aus einem anderen Blickwinkel eingesetzt werden.
Zugegeben, ein "SQL Azure Data Management Operations Studio" gibt es eigentlich nicht. Der Begriff ist eine Mixtur der verschiedenen Verwaltungstools für SQL Server, die mit SQL Server 2019 entweder neu oder in überarbeiteter Form erscheinen (aber allesamt auch für ältere SQL-Server-Versionen genutzt werden können). Allen voran das Azure Data Studio (dessen Previewversionen noch unter dem Namen SQL Operations Studio liefen). Aber auch das SQL Server Management Studio bietet in der neuen Hauptversion 18 ein paar interessante Neuigkeiten. Dann gibt es noch die SQL Server Data Tools, die in den letzten Jahren zwar keine großen Sprünge gemacht haben, aber zumindest kontinuierlich weiterentwickelt wurden. Dieser Vortrag zeigt auf, welche neuen Möglichkeiten die verschiedenen Tools bieten und für welche Anwendergruppe welches Tool am besten geeignet ist.
Security is often treated the same way we don't like to do development, as waterfall: in the beginning or just at the end as a last gateway/check. But of course that isn't the best way to do it! How can you incorporate security thinking into you daily work together with your customers? How can you make sure you don't add flaw frameworks or get notified when the security issue is detected? Let's find a way to add a security mindset into the develoment lifecycle!
Es klingt so einfach: Mit GitHubs Electron Tooling werden bestehende Web-Apps einfach in funktionierende Cross-Plattform-Applikationen konvertiert. In der Praxis gilt es allerdings viele Dinge zu beachten um ein qualitativ hochwertiges Ergebnis zu liefern. Thorsten Hans zeigt Ihnen in seinem Vortrag eine Reihe von Tipps und Tricks aus realen Projekten, die Ihnen helfen werden, die User Experience Ihrer Anwendung noch weiter zu verbessern. Von Architekturvorlagen über effektives Debugging bis hin zu bewährten Patterns aus echten Projekten lernen Sie alles, was Sie benötigen, um eine erfolgreiche Cross-Plattform-Applikation zu erstellen. Wollten Sie schon Immer wissen, wie Sie existierenden C++ Code in einer Electron-App verwenden? Dann besuchen Sie diesen Vortrag und lernen Sie, wie es funktioniert.
Einfach ist sie nie, die Wahl der richtigen Technologieplattform für's nächste Projekt. Heute geht es am Web kaum noch vorbei, aber auch da gibt es viele unterschiedliche Möglichkeiten. Die meisten Unternehmen und Entwickler sind auf vielen Plattformen daheim, und müssen daher ein breites Spektrum an Lösungen zur Verfügung haben. Oliver Sturm teilt in dieser Keynote Erfahrung aus dem eigenen Unternehmen darüber, was es bedeutet Investitionen von einer Plattform zur anderen zu transportieren und wie sich das strategisch und technisch umsetzen lässt. Ob es nur um den Wechsel der Plattform oder gleich um eine Neuentwicklung geht, in vielen Fällen können Knowhow und oft auch Code wiederverwendet werden. Entscheidend ist, zu erkenne, wie man langfristig aktuelle Technologien nutzen und weiterentwickeln kann. Aus Olivers Erfahrungen mit diesen Herausforderungen lässt sich auch für Anwendungsentwickler etwas lernen!
Was haben Document-(NoSQL-)Datenbanken wie Azure Comos DB mit relationalen Datenbanken wie SQL Server gemeinsam und was sind die grundlegenden Unterschiede? Und besonders: Wo sieht es lediglich nach Gemeinsamkeiten aus? Diese Fragen will diese Session mit Thorsten Kansy beantworten. Er stellt die wichtigsten Features der Azure Comos DB vor und zieht die Parallelen zu SQL Server. Somit wird auch die Frage beantwortet, wann DocumentDBs eine verlockende Alternative sein können.
Der Begriff DevOps wird von vielen mit hypermodernen Cloud- und Webtechnologien in Verbindung gebracht. Die Prinzipien von DevOps lassen sich aber auch für klassische Desktopanwendungen und andere Legacy-Technologien anwenden. Die technischen Hürden sind oftmals gar nicht so groß, aber natürlich sind ein paar Anpassungen dafür notwendig. Im Vortrag zeigen wir an einem Beispiel, wie eine klassische WPF-Anwendung für DevOps fit gemacht werden kann und mit welchen Tools Continuous Delivery und Monitoring möglich werden.
Write once, run anywhere – dieser alte Java-Traum ist dank Webtechnologien längst Realität geworden. Neuerdings haben Cross-Platform-Entwickler aber die Wahl zwischen altbewährten Ansätzen wie Apache Cordova und GitHub Electron, bei denen Web-Apps in native Container verpackt werden, und den neuen Progressive Web Apps (PWA), bei denen eine Webanwendung aus dem Browser heraus installiert wird. Optisch geben sich beide Methoden nicht viel, doch sie unterscheiden sich hinsichtlich der Verteilung und im Funktionsumfang. Electron-Experte Thorsten Hans und PWA-Professional Christian Liebel erklären Ihnen, für welche Anwendungsfälle sich PWAs eignen und wann Sie ergänzend oder alternativ zu Electron oder Cordova greifen sollten.
Wachsende Daten beanspruchen schnellere und klügere Systeme, um die Datenverarbeitung bewältigen zu können. Die zeitgemäße Antwort darauf lautet: Big Data mit NoSQL! MongoDB ist eine der beliebtesten NoSQL-Datenbanken und bietet dem .NET-Entwickler einige Vorteile gegenüber bekannter SQL-Datenbanken. Der MongoDB-Experte Gregor Biswanger zeigt in seiner Session dazu einen perfekten Überblick und einige Tipps zum Einstieg aus der Praxis.
Evolutionäre Architekturen? Fitness Functions? Wie können diese Ansätze bei der (Weiter-)Entwicklung von Software helfen? Moderne Softwaresysteme werden iterativ entwickelt und im Betrieb aktiv erweitert und verbessert. Dabei ist es essentiell wichtig, zu wissen, ob das System die geforderten Qualitäten, wie z. B. Performance, Sicherheit, Wartbarkeit, Fehlertoleranz usw. erfüllt. Fitness Functions ermöglichen die Softwarearchitektur dahingehend zu testen und gezielt und inkrementell weiterzuentwickeln. Ich zeige mögliche Einsatzbereiche: von klein und pragmatisch bis zu den großen Tools im Bereich des Chaos Engineerings bei Netflix und Co. Praktische Beispiele mit Live-Coding zeigen Umsetzungsmöglichkeiten in CI/CD Pipelines, evolutionäre Experimente mit A/B Testing auf Codeebene oder Mini-Chaos-Engineering. Dieser Talk richtet sich an Entwickler und Architekten, die praktische Ideen für den Einsatz von Fitness Functions kennenlernen möchten.
Heiße Testphase … Sie müssen Ihr Produkt unter verschiedenen Plattformen und Konfigurationen testen, aber Ihr einsamer Testrechner bricht unter der Last der virtuellen Maschinen schon fast zusammen. Ihre interne IT-Abteilung hat Hilfe in Aussicht gestellt – in zwei Monaten! Was tun? Greifen Sie zur Cloudselbsthilfe. Mit Microsoft DevTest Labs können Sie Ihren Bedarf an Testinfrastruktur schnell, sicher, flexibel und preiswert decken. Neno Loje und Uwe Baumann zeigen Ihnen, wie das geht.
In diesem weiterführenden Workshop lernen Sie, wie sich große und skalierbare Geschäftsanwendungen mit Angular entwickeln lassen. Mehrere Architekturansätze und Best Practices werden anhand einer Fallstudie aufgezeigt und diskutiert. Die Fallstudie wird nach und nach mittels Live-Coding erweitert und kann als Vorlage für eigene Vorhaben dienen.
Stellen Sie sich vor, Sie schreiben Ihre moderne Businessanwendung genau einmal – und sie läuft auf Windows, macOS, Linux, Android, iOS und in Ihrem Browser. Diese Anwendungen werden per Fingertippen aus dem Browser auf dem Gerät installiert, können Pushbenachrichtigungen empfangen und funktionieren auch dann, wenn das Wi-Fi im Zug gerade mal wieder nicht funktioniert. Das klingt fantastisch? Dank Progressive Web Apps (PWA) wird all das Wirklichkeit. Mithilfe moderner Webtechnologien wird aus einer Webanwendung eine App, die einer nativen App in nichts nachsteht. In diesem Workshop zeigen wir anhand eines durchgängigen Beispiels die Grundlagen der PWA-Entwicklung mit Googles Single-Page-App-Framework Angular, bei denen Sie aktiv mitentwickeln können. Jeder geht mit einer PWA nach Hause!
Microsoft hat seinen O/R Mapper als "Entity Framework Core" neu implementiert und mittlerweile auch wesentliche Lücken im Produkt geschlossen, sodass man heutzutage nur noch wenige Gründe hat, noch mit dem klassischen Entity Framework zu arbeiten. An diesem Tag erhalten Sie von dem .NET-Experten Dr. Holger Schwichtenberg einen umfassenden Streifzug durch die Möglichkeiten von Entity Framework Core in der Version 3.0, sowohl für das Forward Engineering mit Datenbankschemagenerierung als auch für das Reverse Engineering bestehender Datenbanken. Der Tag beginnt mit einem Überblick über die Konzepte und Features von Entity Framework Core (im Vergleich zum klassischen Entity Framework). Danach wird der Workshop sehr codezentriert: Zunächst zeigt Holger Schwichtenberg verschiedene Facetten und Werkzeuge für das Reverse Engineering bestehender Datenbanken. Am Nachmittag geht das dann zunächst um das Forward Engineering, bei dem das Datenbankschema aus einem Objektmodell abgeleitet wird. Mit Schemamigrationen kann ein Entwickler Versionsstände des Schemas verwalten. Darauffolgend geht es um das Client-API von Entity Framework Core: CRUD-Operationen, Objektbeziehungen, Ladestrategien, Konfliktfeststellung und -behandlung. Auch die direkte Verwendung von SQL, Stored Procedures und Table Valued Functions anstelle von LINQ sowie die Performanceoptimierung und Praxisherausforderungen durch das Caching von Entity Framework Code wird der Experte thematisieren. Natürlich gibt es auch Hinweise auf die bestehenden Schwächen im Produkt und zugehörige Workarounds.
Um agile Softwareentwicklung und die damit einhergehenden schnelleren Releasezyklen Realität werden zu lassen, braucht es einen hohen Grad an Automatisierung – beim Build, der eine Art "Herzschlag" des Projekts darstellt, bei der Qualitätssicherung und beim Deployment der Anwendung, vom Testsystem bis in die Produktion.
In diesem interaktiven Workshop lernen Sie an verschiedenen End-to-End-Beispielen, wie Sie der Azure DevOps Server (der neue Namen des TFS) bzw. die Onlinevariante Azure DevOps Services dabei unterstützen kann, die Prozesse nach dem Einchecken zu automatisieren – also: kontinuierliche Builds, automatisierte Tests, Deployment und Releases.
Freuen Sie sich auf einen lehrreichen und unterhaltsamen Tag zusammen mit dem TFS-Experten und MVP Neno Loje. Und: Bringen Sie gerne Ihre Fragen mit!