2013
Im Januar findet der Nachholtermin für den Build-Rückblick statt, der im November leider kurzfristig abgesagt werden musste.
Blick zurück nach vorne: Technologievorschau 2013 Stefan Lange, Albert Weinert
Auch wenn die Build 2012 Konferenz Ende Oktober/Anfang November keine großen Überraschungen brachte, war ihr Vortragsprogramm doch vollgestopft mit einer Vielzahl interessanter Themen. Kein Wunder, denn Microsoft hat nicht nur mit Windows 8, Windows Phone und Surface einen großen Schritt vorwärts gewagt - auch abseits davon gibt es viel Neues und Wissenswertes.
Stefan Lange war vor Ort und wird von der Konferenz berichten, unterstützt wird er dabei von Albert Weinert, der sich als Microsoft MVP für ASP.NET immer sehr frühzeitig mit den neuesten Web-Technologien beschäftigt. Die beiden werden für eine Reihe von Themen jeweils einen Überblick geben sowie an bestimmten Punkten etwas tiefer einsteigen:
- Windows 8, Windows RT, Surface (Hardware zum "Anfassen" vor Ort)
- Windows Phone 8
- Azure Mobile Services, Azure Web Sites
- ASP.NET vNext, SignalR, Web API
- TypeScript, zusätzlliches Web-Tooling für Visual Studio 2012
- u.v.m.
Stefan und Albert werden dabei vieles live vorführen und auch von mittlerweile gemachten, konkreten Erfahrungen berichten. So zum Beispiel wie das Anmeldesystem für die nächste dotnet Cologne auf Windows Azure gebracht wurde.
Wer sich auch nur ein bisschen für kommende Themen interessiert, sollte sich das Januar-Treffen auf keinen Fall entgehen lassen!
Thema im Februar ist eine Bibliothek von Microsoft, die vor mittlerweile über drei Jahren der Öffentlichkeit vorgestellt wurde, viele Entwickler aber immer noch nicht auf dem Radar haben:
Reactive Extensions Gerhard Schlemm
LINQ als Programmiermodell hat die .NET-Entwicklung zweifelsohne revolutioniert. Mit den Reactive Extensions (Rx) bringt Microsoft die etablierten LINQ-Mechanismen in die Welt des Event-Based Programming mit .NET. Die kleine, schlagkräftige Bibliothek ermöglicht einen einfachen und eleganten Umgang mit Events und Asynchronität.
Dieser Vortrag schildert die Ideen hinter Rx sowie dessen Kernkonzepte, ergänzt durch Beispiele aus verschiedenen Anwendungsschichten. Da in immer mehr Szenarien Asynchronität und der Umgang mit einer ggf. großen Zahl von Events eine Rolle spielen, sollte man Rx kennen. Dabei darf man durchaus erwarten, damit schneller lesbareren Code zu entwickeln.
Die .NET User Groups aus Köln, Bonn und vom Niederrhein veranstalten gemeinsam in der Microsoft Niederlassung in Köln ein Event mit einem hochkarätigen Sprecher: Alex Turner ist Program Manager für die C# und Visual Basic Compiler bei Microsoft in Redmond.
The Zen of Async: Best Practices for Best Performance
The new async support in C# and Visual Basic dramatically simplifies the process of building scalable and responsive apps for the client and cloud.
However, while the programming model provided by this async support enables development in a style very reminiscent of synchronous programming, the required mental model and run time costs involved are anything but. In this session, we’ll dive deep into how async works, examining key aspects of the design and implementation that result in overheads when compared to synchronous programming. With that knowledge, we’ll tour through best practices for using async to build high-performing, scalable and responsive apps and libraries.
Wichtig: Eine Anmeldung ist zwingend erforderlich!
Im März haben wir Constantin "Kostja" Klein von der .NET User Group Frankfurt zu Gast.
SQL Server 2012 - News für Datenbankentwickler Constantin Klein
Mit dem Release des SQL Server 2012 steht nun die nächste Major Version des Microsoft Datenbankservers zur Verfügung. Doch was sind die wichtigsten Neuerungen? Wo ergeben sich neue Lösungsszenarien und was ist insbesondere für Entwickler von Interesse? Der Vortrag soll einen kompakten Überblick über viele Neuerungen geben und dabei die Highlights für Entwickler besonders hervorheben.
Über Constantin Klein
Constantin arbeitet als Anwendungsarchitekt und Entwickler bei der Freudenberg Forschungsdienste SE & Co. KG. Dort beschäftigt er sich hauptsächlich mit dem Design und der Entwicklung von Web-Informationssystemen und Datenbanken. Seit seinem Studium der Wirtschaftsinformatik gilt sein besonderes Interesse darüber hinaus allen aktuellen Themen im Microsoft .NET Umfeld, insbesondere aber dem Thema Softwarearchitektur.
Er ist MCSD, MCITP Database Developer und MCPD Web + Enterprise Application Developer. 2010, 2011 und 2012 wurde er von Microsoft zum Most Valuable Professional (MVP) für SQL Server ernannt.
Er engagiert sich zusätzlich im Vorstand des Just Community e.V. und als Leiter der .NET User Group Frankfurt.
Sein Blog ist zu finden unter http://kostjaklein.wordpress.com.
Im April besucht uns Chris Chedgey von der Firma Structure 101.
Software Engineering - Rediscovering Modularity
The principles of modularity have been applied to engineering projects since Gorak built the wheel, and Thag the barrow of the world's first wheelbarrow. Thag's barrow didn't care that the wheel was first hewn from rock, and later upgraded to a lighter, wooden one, and Gorak's wheel design was reused for the world's first chariot. This is how humans make sense of complexity - we divide and conquer.
Analogous principles of modularity are taught in Software Engineering 101 - information hiding, interfaces, clear responsibility, high internal cohesion, low external coupling, etc., and we apply these routinely as we develop, and continuously refactor the code encapsulated within classes.
However when the number of classes reaches some threshold, higher level abstractions are needed in order to manage the complexity of the growing codebase. This limit is usually overshot and the team is soon drowning in an ocean of classes. At this point it is time to restructure the code-base into a hierarchy of modules above the class level, or watch the team's frustration continue to rise, and productivity plummet.
This talk proposes a measurement framework for assessing the quality of a modular structure, identifying regions of poor modularity, and for assessing the impact of restructuring or refactoring actions. Based on this framework, the talk introduces strategies for retro-fitting modularity to an existing codebase, with minimum impact on the code logic itself.
This material is based on experience gained while helping many development teams through the restructuring process. The concepts will be illustrated by examples.
Beim Mai-Treffen hält Marian Grzesik einen Vortrag zur C#-Entwicklung für mobile Geräte:
Mobile .NET Entwicklung mit Xamarin 2.0 - plattformunabhängig und doch nativ?
Software-Entwicklung für mobile Geräte ist ein gleichermaßen wichtiges wie problematisches Thema. Die Probleme fangen bei den diversen zu unterstützenden Plattformen an und hören bei den unterschiedlichen Programmiersprachen auf. Mit HTML und Javascript kommt man zwar im Mobil-Bereich durchaus recht weit, früher oder später folgt dann aber doch der Wunsch nach einer "nativen App". Und das hieß bisher bei Android die Programmierung in Java, bei iOS zwangsläufig in Objective-C.
Die Firma Xamarin hat sich zum Ziel gesetzt, .NET-Entwicklung auf die Android- und iOS-Plattformen zu bringen. Hervorgegangen aus der nicht selten belächelten Mono-Initiative, hat die Firma es mit ihren Produkten MonoTouch für iOS und Mono for Android auf mittlerweile 12000 zahlende Kunden gebracht. Das neue Produkt Xamarin 2.0 vereinigt nun die Produktlinien und erlaubt sogar Entwicklung und Debugging von Visual Studio aus - Grund genug sich das einmal genauer anzuschauen.
Marian Grzesik wird nach einer Einführung in Xamarin 2.0 praktische Tipps zu Installation und Debugging geben sowie Vor- und Nachteile der verfügbaren Tool-Ansätze abwägen. Darüber hinaus zeigt er, welche Teile plattformunabhängig entwickelt werden können - und welche nicht. Die GUI-Entwicklung wird ebenso Thema sein wie die Performance der Apps.
Konkrete Beispiele auf Android runden den Vortrag ab.
Im September haben wir Gael Fraiteur zu Gast, den Entwickler von Postsharp, einem Tool zur aspektorientierten Programmierung (AOP) unter .NET.
Design Pattern Automation Gael Fraiteur
Design patterns are now universally accepted and significantly improved the way we design software. However, they had relatively little impact on how we implement it. Except rare exception like the 'using' or 'lock' keywords, most patterns must still be implemented by hand, resulting in large quantities of boilerplate code that must be validated by peer review. However, smarter compilers and development tools could do a better job by automatically implementing part of the pattern and automatically validating the other part that has been implemented manually. This talk advocates for a better integration of pattern thinking in the whole development cycle. It discusses how design pattern automation is possible today in .NET using PostSharp, FxCop, and Nemerle.
Agenda
- Patterns in architecture and methodology
- The feedback loop: ex-post patterns and refactoring
- Well-written patterns can be partially automated
- Disposable Object: a pattern with framework/compiler support
- Observable Object: a ready-made implementation with PostSharp
- Validating pattern implementation using FxCop
- Metaprogramming: dynamic languages, scala macros, Nemerle
- Automating design pattern implementation/validation using PostSharp
(Dauer 75min, Vortrag in englischer Sprache)
About Gael Fraiteur
Gael Fraiteur has been passionately programming since childhood; building and selling his first commercial software at age 12. He is Founder and Principal Engineer at PostSharp Technologies based in Prague, Czech Republic. Gael is a widely recognized expert in aspect-oriented programming and speaks at developer conferences in Europe and the United States.
Das November-Treffen bietet Kurzvorträge zu einer ganzen Reihe von Themen.
Datenaustausch zwischen AppDomains - Einführung und Fallstricke Jochen Manns
Es gibt Situationen, in denen man als Entwickler vor der Aufgabe steht, Code nicht nur zwischen Threads sondern auch über die Grenzen von AppDomains kommunizieren zu lassen. Typisch sind Dienstprogramme, die eine vollständige ASP.NET Laufzeitumgebung integriert haben und von Clients aus über konventionelle Web Schnittstellen angesprochen werden. In diesem Kurzvortrag berichtet Jochen Manns von seinen Erfahrungen und gibt einen ersten Einblick auf Anforderungen und Fallstricke eines solchen Laufzeitumfelds.
Protocol Buffers (protobuf) Marian Grzesik
Protocol Buffers ist ein von Google entwickeltes Datenformat zur Serialisierung von Daten. Ziel ist eine sprach- und platformunabhängige, dabei aber sehr effiziente Datenübertragung. Tatsächlich ist Protocol Buffers ca. 5 - 10 mal schneller als XML oder JSON und produziert durch Verwendung eines Binärformats geringere Datenmengen. Dadurch ist dieses Format nicht zuletzt für den Mobilbereich interessant.
Zufallszahlen erzeugen - aber richtig Prakash Punnoor
Wenn es darum geht, Zufallszahlen zu erzeugen, dann denkt man zunächst an die .NET Klasse System.Random. Warum das evlt. keine gute Idee ist, erklärt Prakash Punnor am Beispiel des Mischens von Spielkarten und zeigt auch gleich, wie man es richtig macht.
Pixelshader für Normalsterbliche in 15 Minuten Roland Weigelt
Pixelshader sind doch nur etwas für Hardcore-Spielentwickler... oder? Nicht unbedingt. In einem bewusst kurz gehaltenen Vortrag zeigt Roland Weigelt wozu man Pixelshader in WPF verwenden kann, wie die ersten Schnitte aussehen sowie welche Tools und fertigen Quellen es gibt, damit man nur so tief wie gerade benötigt einsteigen braucht.
Einlass ab 18:30, Anmeldung nicht erforderlich.