Microsoft .NET

Frameworks

Seit ihrem Erscheinen im Jahre 2002 sind das Microsoft .NET Framework sowie die Programmiersprache C# ein Quasi-Standard für die Entwicklung von  Anwendungen unter MS Windows. Neuerungen und Verbesserungen in der Ergonomie von Anwendersoftware werden fast ausschließlich innerhalb des .NET Frameworks realisiert.

.NET entwickelt sich stetig for. Die Versionen 3.0, 3.5, 4.0, 4.5 ff bieten immer wieder Funktionalitäten, die sich nahtlos in das Windows Konzept einpassen Mit .NET kann eine problemlose Unterstützung von 64-Bit-Systemen beinahe mühelos erreicht werden. Natürlich besteht eine Anwendung nicht nur aus einer Oberfläche, sondern oft auch aus darunterliegenden Treibern. Selbstverständlich erstellen wir im Rahmen einer integrativen Entwicklung auch Gerätetreiber für 32 bit und 64 bit sowie eventuell notwendige Zwischenschichten (Middleware).

WPF

Neben der klassischen WinForms GUI unterstützt das .NET-Framework seit der 2006 erschienenen Version 3.0 eine vollständig neue Art von GUI: Windows Presentation Foundation. Mit WPF verabschiedet sich Microsoft von der noch aus den Anfangstagen von Windows stammenden Pixel basierten GUI. Diese neue Form der GUI setzt auf die, inzwischen von jedem PC unterstützte, Direct3D Schnittstelle und ist vollständig vektororientiert. Das Design der GUI selbst erfolgt nicht mehr mit einer Programmiersprache, sondern auf Basis von XML.

.NET ist mehr als nur eine Sammlung von Bedienelementen. Durch einen durchgängig konzipierten objektorientierten Ansatz lassen sich Oberflächen effizient und programmeinheitlich gestalten, ohne auf die Möglichkeiten einer individuellen Anpassung verzichten zu müssen. Ein Beispiel hierfür ist die immer wiederkehrende Anforderung, große und sich in Echtzeit verändernde Datenmengen am Bildschirm übersichtlich darzustellen. Für derartige Anwendungen haben wir eigene .NET-Erweiterungen und Komponenten entwickelt, welche sich auf spezielle Anforderungen der einzelnen Applikationen anpassen lassen.

I2C Studiotelos nutzt diese Technologie seit deren Einführung sowohl in Kundenprojekten als auch für Eigenentwicklungen. Wie mächtig und ansprechend Software auf .NET-Basis ist, können Sie am Beispiel unseres I2C Studios selbst erfahren; dieses Programm steht zum kostenlosen Download bereit.

Unterschiede zu klassischen Programmiersprachen

Das .NET-Framework weist einige elementare Unterschiede im Vergleich zu anderen Programmiersprachen wie Visual Basic und C++ und anderen Frameworks wie Microsoft MFC auf:

    • CLI (Common Language Infrastructure)
      Die Compiler erzeugen bei .NET keinen plattformspezifischen Code (z.B. für Intel x86 oder x64),sondern einen plattformneutralen Code,der als ‚Common Language Infrastructure‘ bezeichnet wird. Erst zur Laufzeit wird dieser von einem Just-In-Time-Compiler,der ‚Common Language Runtime‘,übersetzt. Dieses ermöglich die Ausführung des gleichen Executables auf unterschiedlichen Plattformen,was z.B. den Übergang von 32-Bit auf 64-Bit deutlich vereinfacht.
    • Sprachunabhängig
      Während es bei herkömmlichen Programmiersprachen schwer bis unmöglich ist,verschiedene Sprachen in einem Projekt zu mischen,ist es Microsoft mit .NET gelungen,dieses Problem aufzubrechen. Microsoft selbst bietet mit Visual Studio drei verschiedene Programmiersprachen an,die für .NET verwendet werden können:C#,Visual Basic und C++. Andere Hersteller bieten weitere Sprachen mit .NET-Unterstützung an wie z.B. Delphi oder Labview.

Die Verwendung unterschiedlicher Sprachen bietet sich unter anderem deshalb an,weil jede Sprache für bestimmte Bereiche Vorteile bietet. So wird die GUI selbst in der Regel mit C# entwickelt,das deren Entwicklung mit umfangreichen Tools unterstützt. Für geschwindigkeitskritische Teile bietet sich statt dessen in der Regel C++ an,dem in .NET eine besondere Bedeutung zukommt. So ist nur mit C++ ein Mischen von plattformunabhängigen CLI Code und plattformabhängigen,nativen Code möglich.

  • Umfangreichen Klassenbibliothek
    Die sehr umfangreiche Klassenbibliothek von .NET ermöglicht es,viele Anwendungen mit wenig Aufwand zu realisieren,was zum einen die Entwicklungszeit und zum anderen die Entwicklungskosten zu reduzieren hilft.
  • Hoher Sicherheitsstandard
    Dank des Verzichts auf nativen Code gehören die gefürchteten Sicherheitslücken wie z.B. Speicherüberläufe der Vergangenheit an.
  • Multi-Threading
    Im Zeitalter der Dual- und Quad-Core CPUs wird die Unterstützung für Programmierung mit Threads immer wichtig,um die vorhandenen Ressourcen optimal auszunutzen. Das .NET Framework ist für diese Herausforderung bestens gerüstet.

 

.NET Compact Framework

Als Variante für mobile Geräte steht das Microsoft .NET Compact Framework zur Verfügung. Es wurde auf die nötigsten Funktionalitäten reduziert und erlaubt die schnelle Entwicklung von Applikation für Windows CE und Windows Mobile basierte Geräte.

Diese beiden Betriebssysteme haben im Consumer Bereich in den letzten Jahre mit Smartphones und Navigationsgeräten eine riesige Verbreitung erlangt. Auch im industriellen Bereich wird in zunehmender Zahl auf Windows CE als Betriebssystem gesetzt.

Weitere Bereiche

Natürlich besteht eine Anwendung nicht nur aus einer Oberfläche, sondern oft auch aus darunterliegenden Treibern. Selbstverständlich erstellen wir im Rahmen einer integrativen Entwicklung auch Gerätetreiber für 32 bit und 64 bit sowie eventuell notwendige Zwischenschichten (Middleware).

Im Opensource-Bereich entstand mit Mono eine freie Variante von .NET, sodass Applikationen auch unter Linux nutzbar sind. Das Unternehmen Mono firmierte um zu Xamarin und wurde schließlich durch Microsoft gekauft. Dies tat dem Produkt Xamarin aber keinen Abbruch. Xamarin ermöglich nunmehr die Entwicklung von Applikationen für native Android-, iOS- und Windows-Apps.

2016 erschien mit der Universal Windows Platform ein neuer Ansatz für Frameworks, die auf mehreren Plattformen arbeiten können.

Haben Sie weitere Fragen zu .NET oder suchen Sie einen kompetenten Partner?

  • Nehmen Sie bitte Kontakt mit uns auf.