Slides from my talk about the dream team Roslyn & Visual Studio Extensions. It's more a live-coding session than a talk, where I show a lot of examples combining the power of Roslyn (the Microsoft .NET Compiler Platform) and Visual Studio Extensions. This dream team can improve your code quality and security, increase your developer productivity or improve/support the development process as well as the application lifecycle management of your project.
And that is only the peak of the iceberg. At the end, this talk should open up your minds and unleash your creativity to create great ideas that help your team and your project.
BASTA! 2016 - Roslyn & Visual Studio ExtensionsRobin Sedlaczek
Slides from my talks at the BASTA! Conference 2016 in Mainz. It's about the Microsoft .NET Compiler Platform (Roslyn), Visual Studio Extensions and increasing productivity when combining them.
BASTA! Spring 2017 - Warum warten auf die IDE? Direct Coding in der eigenen A...Robin Sedlaczek
Slides from my talk about direct coding in the own application using C# Scripting. Try and us your applications domain models and services in C# Scripts to empower development within an application. Or give your users the possibility to automate and extend your application with scripting.
My slides from the Advanced Developers Conference 2017 (ADC Core) in Cologne! It's about C# scripting and how you can use it in your application. Benefits for developers and customers.
BASTA! 2016 - Roslyn & Visual Studio ExtensionsRobin Sedlaczek
Slides from my talks at the BASTA! Conference 2016 in Mainz. It's about the Microsoft .NET Compiler Platform (Roslyn), Visual Studio Extensions and increasing productivity when combining them.
BASTA! Spring 2017 - Warum warten auf die IDE? Direct Coding in der eigenen A...Robin Sedlaczek
Slides from my talk about direct coding in the own application using C# Scripting. Try and us your applications domain models and services in C# Scripts to empower development within an application. Or give your users the possibility to automate and extend your application with scripting.
My slides from the Advanced Developers Conference 2017 (ADC Core) in Cologne! It's about C# scripting and how you can use it in your application. Benefits for developers and customers.
BASTA! Spring 2018 - Architekturen für .NET Core-AnwendungenRobin Sedlaczek
Slides from my workshop about software architectures for .NET Core applications at BASTA! Spring 2018 conference. We talk about architectures for enterprise mobile apps with Xamarin.Forms and ASP.NET Web Apps. Then we went hands-on and developed a CRM system called BASTAdynamics. :) One #microservice per desk, #containerized with #Docker, published to #Azure registry, deployed as Azure web apps. We have #aspnet #angular, #razor, #UWP & #Xamarin.Forms clients. #IdentityServer & @AzureCosmosDB in the backend. AND: We had a lot of fun! :)
Slides from my presentation about application architectures for .NET Core applications. It covers desktop application, web applications, mobile applications as well as container-based applications. It's a roundup of the Microsoft Architecture Guides.
9 Tipps für die Modernisierung von PHP-AnwendungenRalf Eggert
PHP hat mittlerweile über 20 Jahre auf dem Buckel und die Entwicklung hat in den letzten Jahren gerade mit PHP 7 und den vielen nützlichen Frameworks einen weiteren Schub bekommen. Da ist es nicht verwunderlich, dass viele langjährig gewachsene PHP Anwendungen mittlerweile ein wenig in die Jahre gekommen sind. In dieser Session erhalten Sie 9 Tipps, mit denen Sie Ihre PHP Anwendung Schritt für Schritt modernisieren können, und erfahren auch, warum ein Reworking mit stetigem Refactoring besser als ein Rewrite mit einmaligem Relaunch ist.
BASTA! 2017 Jubiläumskonferenz - Warum warten auf die IDE!?Robin Sedlaczek
Slides from my talk about early feedback during development time, flexibility for customers and security as a Must-have. It's nothing about management - it's all about C# Script and practical use.
Middleware Anwendungen mit dem Zend Framework 3Ralf Eggert
Zend\Expressive ist das neue PSR-7 kompatible Middleware-Framework aus dem Zend Framework 3, mit dem Sie eigene Web- und REST-Anwendungen mit PHP implementieren können. In dieser Session erhalten Sie einen Überblick über die grundlegende Theorie sowie die Möglichkeiten von Zend\Expressive und erfahren auch die Unterschiede zum klassischen MVC-Ansatz.
IPC 2017 - Legacy-Anwendungen mit Expressive modernisierenRalf Eggert
Überall hören Sie von den neuen Möglichkeiten, die Ihnen die modernen PHP-Frameworks und -Tools bieten können, doch Sie müssen immer noch an einer trägen und veralteten Legacy-Anwendung arbeiten? Ein kompletter Relaunch kommt aus Kostengründen und aufgrund stetig zu implementierender Features nicht in Frage? Mit dem Microframework Expressive können Sie beides vereinen. Sie können ein modernes und leichtgewichtiges Framework einsetzen und parallel dazu Ihre Legacy-Anwendung betreiben. Damit schaffen Sie die Grundlage, um Ihre Anwendung schrittweise zu modernisieren und damit wettbewerbsfähig zu bleiben.
Wild Apricot Free Expert Webinar: Build a Culture of Leadership in 6 StepsWild Apricot
John Mattone – a world authority in leadership training – shares his 6-step process to transform your organization's culture and unlock the leadership potential at all levels of membership - including YOU!
From Acquisition to Monetization—Chat Apps Connect the Nexttyntec
With hundreds of apps to choose from, how do you ensure consumers find your app and then keep them engaged? Add SMS, Voice and Phone Number Intelligence to make your app stickier, easier to spread—and safer for monetization.
BASTA! Spring 2018 - Architekturen für .NET Core-AnwendungenRobin Sedlaczek
Slides from my workshop about software architectures for .NET Core applications at BASTA! Spring 2018 conference. We talk about architectures for enterprise mobile apps with Xamarin.Forms and ASP.NET Web Apps. Then we went hands-on and developed a CRM system called BASTAdynamics. :) One #microservice per desk, #containerized with #Docker, published to #Azure registry, deployed as Azure web apps. We have #aspnet #angular, #razor, #UWP & #Xamarin.Forms clients. #IdentityServer & @AzureCosmosDB in the backend. AND: We had a lot of fun! :)
Slides from my presentation about application architectures for .NET Core applications. It covers desktop application, web applications, mobile applications as well as container-based applications. It's a roundup of the Microsoft Architecture Guides.
9 Tipps für die Modernisierung von PHP-AnwendungenRalf Eggert
PHP hat mittlerweile über 20 Jahre auf dem Buckel und die Entwicklung hat in den letzten Jahren gerade mit PHP 7 und den vielen nützlichen Frameworks einen weiteren Schub bekommen. Da ist es nicht verwunderlich, dass viele langjährig gewachsene PHP Anwendungen mittlerweile ein wenig in die Jahre gekommen sind. In dieser Session erhalten Sie 9 Tipps, mit denen Sie Ihre PHP Anwendung Schritt für Schritt modernisieren können, und erfahren auch, warum ein Reworking mit stetigem Refactoring besser als ein Rewrite mit einmaligem Relaunch ist.
BASTA! 2017 Jubiläumskonferenz - Warum warten auf die IDE!?Robin Sedlaczek
Slides from my talk about early feedback during development time, flexibility for customers and security as a Must-have. It's nothing about management - it's all about C# Script and practical use.
Middleware Anwendungen mit dem Zend Framework 3Ralf Eggert
Zend\Expressive ist das neue PSR-7 kompatible Middleware-Framework aus dem Zend Framework 3, mit dem Sie eigene Web- und REST-Anwendungen mit PHP implementieren können. In dieser Session erhalten Sie einen Überblick über die grundlegende Theorie sowie die Möglichkeiten von Zend\Expressive und erfahren auch die Unterschiede zum klassischen MVC-Ansatz.
IPC 2017 - Legacy-Anwendungen mit Expressive modernisierenRalf Eggert
Überall hören Sie von den neuen Möglichkeiten, die Ihnen die modernen PHP-Frameworks und -Tools bieten können, doch Sie müssen immer noch an einer trägen und veralteten Legacy-Anwendung arbeiten? Ein kompletter Relaunch kommt aus Kostengründen und aufgrund stetig zu implementierender Features nicht in Frage? Mit dem Microframework Expressive können Sie beides vereinen. Sie können ein modernes und leichtgewichtiges Framework einsetzen und parallel dazu Ihre Legacy-Anwendung betreiben. Damit schaffen Sie die Grundlage, um Ihre Anwendung schrittweise zu modernisieren und damit wettbewerbsfähig zu bleiben.
Wild Apricot Free Expert Webinar: Build a Culture of Leadership in 6 StepsWild Apricot
John Mattone – a world authority in leadership training – shares his 6-step process to transform your organization's culture and unlock the leadership potential at all levels of membership - including YOU!
From Acquisition to Monetization—Chat Apps Connect the Nexttyntec
With hundreds of apps to choose from, how do you ensure consumers find your app and then keep them engaged? Add SMS, Voice and Phone Number Intelligence to make your app stickier, easier to spread—and safer for monetization.
Стивен Питтс рассказывает об английском и уэльсском опыте пробации на международных семинарах по изучению
основных направлений развития службы пробации в гг. Усть-Каменогорск, Алматы, Актау и Караганды.
These are the slides from my talk about immutable types in Microsoft .NET and how they are used in Roslyn from the Parallel Conference 2016 in Heidelberg.
GUI & DESIGN 2017 - Das perfekte Anwendungsmodell. UIs für jedes Device!Robin Sedlaczek
Slides from my talk about the perfect app model at the GUI & DESIGN 2017 conference. It's about multi-modal conversational user interfaces (CUI) to build UIs for every device with ease and one code base! Never exclude any user groups again. Using the Microsoft Bot Framework, Cognitive Services and AdaptiveCards. But we talk about Google Go and Alexa app models as well.
Magdeburger Developer Days 2018 - Das perfekte AnwendungsmodellRobin Sedlaczek
Slides from my talk about the perfect app model: bots at the Magdeburger Developer Days 2018. All about bots on different channels and as skills for voice assistants. Introduction.
BASTA! 2017 Jubiläumskonferenz - CUIs & The Microsoft Bot FrameworkRobin Sedlaczek
Slides from my talk at the BASTA! 2017 Jubiläumskonferenz about the evolution of the user interface and the next step we have to go. It's all about Conversational User Interfaces (CUI), what they are and how they work compared to the graphical user interface (GUI).The practical part demos how chat bot can be used to implement such CUIs. In particular, the Microsoft Bot Framework is discussed.
Alleskönner: Azure Cosmos DB - Was kann der neue Datenbank-Service von Micros...Robin Sedlaczek
Slides from my session about Azure Cosmos DB at the BASTA! Spring 2018 conference in Frankfurt. It gives a brief introduction into Cosmos DB. In the live demo, I showed Azure Cosmos DB in action.
Slides from my talk at BASTA! Spring 2019 about soft migration into the (Azure) cloud - step-by-step, service-by-service - With Azure Hybrid Connections. Let your cloud-services access your protected (on-prem) resources in just a few steps.
In this talk I give an overview of Conversation User Interfaces (CUIs), Artificial Intelligence, Bots and what that all means for future human-machine-interaction.
Developer Week 2019: Identity & Access Management in der RealitaetRobin Sedlaczek
My slide about identity and access management (IAM) in complex and distributed software applications/solutions. The goal was to share real world experiences made when evolving multiple connected software applications on different technical stacks to use/support modern security approaches and standards (specifically oAuth2 and Open ID Connect) while solving several issues with multi-tenancy, multiple distributed (production) server, organizational challenges and integration problems internal as well as with external 3rd party applications.
#SpeakRoslyn - Die Microsoft .NET Compiler PlattformRobin Sedlaczek
This are the slides from my talk about the Microsoft .NET Compiler Platform. I traveled around the .NET User Groups in Germany and showed them the .NET Compiler Platform aka Project Roslyn and how Visual Studio 2015 was partly reimplemented to make use of Roslyn.
7. RobinSedlaczek
RobinSedlaczek.wordpress.com
RobinSedlaczek@live.de
VERFOLGEN VON API-ÄNDERUNGEN
Nutzen
Änderungen und Erweiterungen von APIs werden durch Compiler und Tooling kontrolliert
Dokumentation von API-Änderungen out-of-the-box
Prozesssicherheit, da Prozess automatisch ist
API-Liste kann im Review verwendet werden
Inkompatible API-Änderungen können sofort erkannt werden
Versionsvergleiche von Code-Dateien nicht mehr nötig
Visual Studio Extension
Roslyn.Diagnostics.Analyzers
Analyzer und Code-Fix via NuGet verfügbar: https://www.nuget.org/packages/Microsoft.Net.RoslynDiagnostics/
(Microsoft.Net.RoslynDiagnostics)
Quellcode ist Open Source auf GitHub: https://github.com/dotnet/roslyn-analyzers
12. RobinSedlaczek
RobinSedlaczek.wordpress.com
RobinSedlaczek@live.de
CRITICAL CODE
Nutzen
Kritischer Code und seine Anwendung wird sichtbar
Entwickler wird sensibilisiert im Umgang mit kritischen Code,
Fehler und falscher Umgang können so reduziert werden
In Code-Reviews kann gezielt kritischer Code unter die Lupe genommen werden, ohne diesen lange zu suchen
Visual Studio Extension
WaveDev.SensitiveCodeMarker von Robin Sedlaczek
Quellcode ist Open Source auf GitHub: https://github.com/robinsedlaczek/WaveDev.SensitiveCodeMarker
Demoprojekt auf GitHub: https://github.com/robinsedlaczek/WaveDev.RoomsReservationSystemDemo
15. RobinSedlaczek
RobinSedlaczek.wordpress.com
RobinSedlaczek@live.de
ALIVE
Nutzen
Code-Ausführung ohne Anwendungsstart und Debugger
Laufzeitverhalten von Code kann im Code-Editor direkt durchgespielt und analysiert werden
Kontextwechsel zwischen Kodieren und Programmausführung fällt weg
Ohne Kontextwechsel kann der Entwickler konzentrierter am Code arbeiten
Ursache und Wirkung rücken dichter zusammen
Direktes Feedback: Auswirkungen des Codes sind direkt am Entstehungsort sichtbar – im Editor
Steigerung der Effizienz
Reduktion von Entwicklungszeiten
Visual Studio Extension
ALIVE von Code Connect (http://blog.comealive.io/Three-Months-of-Alive/)
CodeConnect gehört nun zu Microsoft (http://blog.comealive.io/Code-Connect-Joins-Microsoft/)
Extension ist momentan leider nicht über die Visual Studio Gallery verfügbar!
17. RobinSedlaczek
RobinSedlaczek.wordpress.com
RobinSedlaczek@live.de
APPLICATION SCRIPTING
eigene Anwendung Script-fähig machen
C# als Script-Sprache verwenden
Roslyn bietet dafür die C# Scripting API
Fallbeispiel ModelR
Kollaboratives 3D Modelling Tool
Client-Server-Anwendung (basierend auf SignalR)
Integriertes Scripting mit der C# Scripting API
Script-Editor mit Syntax Highlighting
Ausgabe von Kompilierfehlern
Live Script Execution beim Tippen
19. RobinSedlaczek
RobinSedlaczek.wordpress.com
RobinSedlaczek@live.de
APPLICATION SCRIPTING
Nutzen für Benutzer
Flexibilität – Anwendung kann in sich erweitert werden, ohne Neukompilierung durch den Benutzer
Erweiterbarkeit – Anwendung kann von allen Benutzer beliebig erweitert werden
Effektivität – komplexe wiederkehrende Prozesse können vom Benutzer automatisiert werden
Anpassbarkeit – ein Nutzer kann sich die Anwendung nach seinen Vorstellungen/Vorgaben anpassen
Nutzen für Entwickler
Beliebige APIs können dem Scripting zur Verfügung gestellt werden
APIs sind dann zur Anwendungslaufzeit verfügbar und können dort ausprobiert werden
Kontextwechsel zwischen Kodieren und Programmausführung fällt weg
Code kann dort geschrieben werden, wo er seine Auswirkung hat
Direktes Feedback der Auswirkungen sichtbar
Steigerung der Effizienz
Reduktion von Entwicklungskosten
20. RobinSedlaczek
RobinSedlaczek.wordpress.com
RobinSedlaczek@live.de
APPLICATION SCRIPTING
Fallbeispiel ModelR
WaveDev.ModelR von Robin Sedlaczek
Quellcode ist Open Source auf GitHub: https://github.com/robinsedlaczek/ModelR
Clonen, Kompilieren, Ausführen: WaveDev.ModelR.Server zuerst starten, danach WaveDev.ModelR
4 vordefinierte ModelR-Benutzer: Robin (PW: robin), Sarah (PW: sarah), Jan (PW: jan), Sebastian (PW: sebastian)
Script-Kontext über globale Eigenschaft „ModelR“ bereitgestellt
Über den Script-Kontext kann auf die Anwendungsobjekte zugegriffen werden (Users, SceneObjects)
Neue Objekte werden aus Script ausgelesen und automatisch in die Szene übernommen
22. RobinSedlaczek
RobinSedlaczek.wordpress.com
RobinSedlaczek@live.de
FORCE FEEDBACK PROGRAMMING
Force Feedback Programming soll helfen, sauberen (Clean) Code zu schreiben
Sauberkeit muss zuerst sichtbar gemacht werden
Anwendung von Metriken (z.B. Anzahl Zeilen von Methoden)
Ergebnisse werden direkt im Code visualisiert
Entwickler erhält damit direktes Feedback zur Code-Qualität
24. RobinSedlaczek
RobinSedlaczek.wordpress.com
RobinSedlaczek@live.de
FORCE FEEDBACK PROGRAMMING
Nutzen
Unterstützung bei dem Vorhaben, Clean Code zu schreiben
Direktes Feedback zur Code-Qualität – genau dort, wo der Code entsteht (in-time, in-place)
Entwickler werden gezwungen darüber nachzudenken, was sauberer Code ist
Erschwertes Tippen zwingt den Entwickler, mehr sauberen Code zu schreiben
Trainingswerkzeug für Einsteiger, Auszubildende und Junior-Entwickler
Sauberer Code erhöht die Wartbarkeit und Erweiterbarkeit
Steigerung der Entwicklereffizienz
Reduktion von Entwicklungskosten
Visual Studio Extension
Force Feedback Programming von Ralf Westphal und Robin Sedlaczek
Quellcode ist Open Source auf GitHub: https://github.com/robinsedlaczek/ForceFeedbackProgramming
Extension via Visual Studio Gallery verfügbar: https://visualstudiogallery.msdn.microsoft.com/d909888c-fdf0-492c-bfd9-
6596e56530a8