Allgemein Für Administratoren Für Architekten Für Entwickler Für Projektleiter Für Tester News Produkte Publikationen

Archiv für November 2012

X
Felix Mokross

Felix Mokross

Windows Store Apps: Vorsicht beim Einsatz von WeakReference

Mittwoch, 28. November 2012

Bei der Entwicklung unserer Net Factory Windows Store App auf .NET-Basis sind wir auf ein interessantes Detail im Zusammenhang mit der Windows Runtime gestoßen. Obwohl sich die .NET-Welt mit den neuen WinRT-APIs bei der Entwicklung sehr gut kombinieren lässt, funktioniert die Zusammenarbeit der CLR und der WinRT bei der Speicherverwaltung nicht ganz so reibungslos. Eine Beispiel-Projektmappe zur Reproduktion eines Problems mit WeakReferences steht zum Download bereit.

(mehr …)

X
Peter Kuhn

Peter Kuhn

Windows Phone 8: Native Code Support

Mittwoch, 28. November 2012

Entwicklung für Windows Phone hieß bisher auch immer Entwicklung von Managed Code. Egal ob man traditionelle Anwendungen in Silverlight erstellte oder das auf Spieleentwicklung spezialisierte XNA Framework verwendete, man verließ nie das sichere und komfortable Territorium der darunterliegenden Managed Runtime. Obwohl dies für gewöhnlich mehr Vor- als Nachteile bietet, gibt es doch Situationen, in denen die Möglichkeit Unmanaged Code zu erstellen nützlich wäre. Mit Version 8 von Windows Phone entfernt Microsoft diese Beschränkung der Plattform und stellt es Entwicklern frei, Teile oder ganze Apps in nativem C++ zu entwickeln. In diesem Teil der Windows Phone 8 Artikelreihe zeige ich am Beispiel eines bestehenden, einfachen C++ Mandelbrot-Renderers, wie man nativen Code nutzen und sogar nahtlos in eine C#-App integrieren kann. Der Artikel steht kostenlos auf der Plattform SilverlightShow zur Verfügung:

Windows Phone 8: Native Code Support

Viel Spaß!

X
Boris Wehrle
Boris Wehrle ist Senior Software Consultant und zertifizierter Projektleiter bei der AIT.

Boris Wehrle

Neu in .NET 4.5: Vereinfachungen im Managed Extensibility Framework (MEF)

Montag, 26. November 2012

Mithilfe des Managed Extensibility Frameworks lassen sich aus einzelnen Komponenten flexibel Anwendungen zusammenstellen. Der Dependency Injection Manager basiert dabei auf den Attributen Import, Export sowie einem Katalog.

Über das Attribut Export stellt eine Klasse eine Funktionalität zur Verfügung.

   1: [Export(typeof(IReportingService))]

   2: [PartCreationPolicy(CreationPolicy.Shared)]

   3: public class ReportingService : IReportingService

   4: {

   5:     // IReportingService Members

   6: } 

Durch Angabe eines Import Attributs kann auf diese von einer anderen Klasse zugegriffen werden.

   1: [Export(typeof(ReportViewModel))]

   2: public class ReportViewModel

   3: {

   4:     [Import (typeof(IReportingService)]

   5:     private IReportingService ReportingService { get; set; }

   6: }

Ein Katalog stellt alle Informationen über verfügbare Exporte und angeforderte Importe zur Verfügung.

MEF

Über die Komposition der Katalogbestandteile werden die Komponenten zu einer Anwendung verknüpft. Durch die Aufnahme von unterschiedlichen Komponenten in den Katalog kann die Funktionalität einer Anwendung flexibel konfiguriert werden.

MEF wurde als Bestandteil des .NET Frameworks 4.0 veröffentlicht und hat inzwischen eine starke Verbreitung gefunden. Im .NET Framework 4.5 wurden Erweiterungen ergänzt, die die tägliche Entwicklungsarbeit vereinfachen.

(mehr …)

X
Peter Kuhn

Peter Kuhn

Windows Phone 8: Compile in the Cloud

Freitag, 23. November 2012

Im ersten Teil der neuen Artikelserie zu Windows Phone 8 habe ich Neuerung zur Plattform auf Betriebssystem-Ebene erläutert. Darüber hinaus gibt es allerdings noch mehr Änderungen, die über die lokale Umgebung auf den Geräten weit hinausgeht. Insbesondere gibt es diverse Verbesserungen an der Infrastruktur selbst, die sich durch das gesamte Ökosystem Windows Phone ziehen. Eine dieser Änderungen hält sich dezent im Hintergrund und tritt äußerlich überhaupt nicht in Erscheinung, obwohl sie nicht unerheblich zu den Performanceverbesserungen in Version 8 der Plattform beiträgt. Für technisch Interessierte dürfte es faszinierend sein, Details darüber zu erfahren: Compile in the Cloud. Der vollständige, englischsprachige Artikel findet sich auf SilverlightShow:

Windows Phone 8: Compile in the Cloud

Viel Spaß!

X
Thomas Rümmler
Thomas Rümmler arbeitet als Managing Consultant und Projektleiter bei AIT und ist von Microsoft als Most Valuable Professional (MVP) für Visual Studio & Development Technologies ausgezeichnet worden. Sein Arbeitsschwerpunkt liegt auf Application Lifecycle Management und DevOps. Thomas hilft Unternehmen ihren Entwicklungsprozess ganzheitlich zu verbessern. Seine Erfahrung gibt er als Autor des TFS-Blogs und Sprecher im Microsoft DevOps Umfeld weiter.

Thomas Rümmler

Besser spät als früh: Architekturentscheidungen auf dem Prüfstand

Freitag, 23. November 2012

In den meisten Softwareprojekten wird angestrebt, die Architektur möglichst vollständig vorab zu spezifizieren. Doch eine einmal gefällte fundamentale Architekturentscheidung kann ein Korsett sein, aus dem man sich später nur noch mit großer Anstrengung oder gar nicht mehr befreien kann.

Alternative Ansätze versuchen daher, architektonische Entscheidungen ganz bewusst zu verzögern und möglichst spät im Verlauf der Entwicklung zu fällen. Die Prämisse hierfür lautet: Je später ich eine Entscheidung treffe, desto mehr Informationen stehen mir zur Verfügung, um sie auf eine solide Basis zu stellen.

Obwohl solche Ideen bereits wiederholt proklamiert wurden und auch schon in der Praxis ihre Vorteile bewiesen haben, stoßen sie trotzdem noch häufig auf breiten Widerstand.

Lesen Sie in dem Artikel im Online Themenspecial Architektur des OBJEKTspektrum, was wirklich hinter dieser Idee steckt und für welche Teile eines Softwareprojektes späte Entscheidungen besonders geeignet sind. Des Weiteren erfahren Sie, für welche Architekturentscheidungen größerer Aufwand betrieben werden sollte und für welche ein hoher Aufwand keinen signifikanten Wertbeitrag leistet.

Zum Download des Artikels >>

X
Peter Kuhn

Peter Kuhn

Windows Phone 8: Neue Artikelserie

Dienstag, 20. November 2012

Erst wenige Tage ist es her, dass Microsoft die Entwicklungswerkzeuge für die neue Version seiner Mobilplattform Windows Phone der Öffentlichkeit zugänglich gemacht hat. Inzwischen tauchen erste Gerät zum Kauf auf dem Markt auf, auch wenn die Verfügbarkeit noch eingeschränkt ist. Der ideale Zeitpunkt, um sich als interessierter Entwickler mit den Änderungen und neuen Funktionen zu beschäftigen – zumal Windows Phone langsam erwachsen wird und auch im Business- bzw. Enterprise-Bereich mit Version 8 große Fortschritte macht und damit für Unternehmenskunden zunehmend attraktiver wird.

Über die kommenden Wochen hinweg werde ich in einer neuen Reihe von Artikeln die Details zu Windows Phone 8 erläutern, wobei es nicht nur um die technischen Feinheiten einzelner Features gehen wird, sondern auch um den Blick auf konzeptionelle Änderungen und Neuerungen der Plattform und der Infrastruktur hinter den Kulissen. Den Anfang macht eine Beschreibung der fundamentalen Umbauten am Kern von Windows Phone selbst, den Microsoft mit Version 8 vorgenommen hat, und welche Anstrengungen unternommen wurden um die Kompatibilität zu bestehenden Anwendungen von Windows Phone 7 möglichst hoch zu halten. Der englischsprachige Artikel findet sich auf der Entwicklerplattform SilverlightShow:

Windows Phone 8: Introduction to the Platform

Viel Spaß!

X
Michael Ring

Michael Ring

Neu in .NET 4.5: Einfachere asynchrone Programmierung

Montag, 19. November 2012

Die bisherigen Versionen des .NET Frameworks erforderten von Entwicklern viel Eigeninitiative, wenn er Methoden asynchron nutzen wollte oder bereitstellen musste. Mit .NET 4.5 haben neue Schlüsselworte Einzug in das Framework gehalten, die den Aufwand für asynchrone Programmierung deutlich vereinfacht.

(mehr …)