Beiträge

.NET Programmierung

.NET Programmierung: Technischer Überblick und Outsourcing-Chancen

Die .NET Programmierung baut auf Microsofts .NET Softwareplattform auf, einer Sammlung von Technologien und Werkzeugen zur Softwareentwicklung. .NET ist aber auch ein Sammelbegriff, bei dem viele nicht genau wissen, was sich dahinter verbirgt. Um die Vorteile und Limitationen zu verstehen, sollte man sich zunächst mit den .NET Grundprinzipien vertraut machen. Dies ist besonders bei der Auswahl eines .NET Entwicklers für Outsourcing-Zwecke wichtig. Dazu mehr weiter unten. Doch zunächst ein kleiner Einblick in die .NET Programmierung.

Die .NET Technologiegruppe lässt sich grob in drei Bereiche aufteilen – Laufzeitumgebungen, Programmiersprachen und Programmiertools.

.NET Runtimes / Laufzeit-Umgebungen

Im Zentrum von .NET steht das .NET Framework, was oft fälschlicherweise mit .NET gleichgesetzt wird. Das .NET Framework ist gleichzeitig eine Laufzeitumgebung und auch eine Sammlung von Klassenbibliotheken, Programmierschnittstellen und Dienstprogrammen für die Softwareentwicklung. .NET-Programme werden zum Kompilierungszeitpunkt zunächst in eine Zwischensprache gebracht, deren Code dann mit Hilfe der .NET-Laufzeitumgebung in die eigentliche Maschinensprache des Zielsystems übersetzt und ausgeführt wird.

Davon zu unterscheiden ist das .NET Core Framework, welches im Gegensatz zum nur unter Windows verwendbaren .NET Framework als plattformunabhängiges Framework entworfen wurde und damit nicht nur für Windows, sondern auch für die Betriebssysteme Linux und OS X einsetzbar ist. .NET Core Anwendungen sind meist Server-Anwendungen, Konsolen-Apps oder Web-Apps.

Die .NET Common Language Runtime (CLR) ist die eigentliche Laufzeitumgebung des .NET Frameworks. Bei .NET Core kommt CoreCLR zum Einsatz.

Mono für Xamarin – Xamarin ermöglicht die Nutzung von .NET Technologie für die Entwicklung von iOS und Android Applikationen mit nativem Zugriff auf APIs und Geräte Hardware.

.NET Programmiersprachen

Die wichtigste .NET Sprache ist C# bzw. Visual C#, eine Weiterentwicklung von C aber mit objektorientiertem Ansatz.

F# ist eine funktionale Programmiersprache von Microsoft für das .NET-Framework, stark verwandt mit den Sprachen OCaml und ML. Neben den Bestandteilen der funktionalen Programmierung sind in F# objektorientierte sowie imperative Sprach-Konstrukte enthalten.

Visual Basic ermöglicht als simple BASIC-Weiterentwicklung den einfachen Einstieg in die .NET-Programmierung.

Neben diesen drei wichtigsten von Microsoft bereitgestellten Programmiersprachen können mit .NET auch zahlreiche externe Sprachen genutzt werden, für die entsprechende .NET Compiler verfügbar sind. (COBOL, Perl, Eiffel, Python, Pascal, Mercury, Mondrian, Oberon, Fortran, SmallTalk, Standard ML, Dyalog APL, und viele mehr)

Programmiertools und andere Bestandteile

Visual Studio ist die von Microsoft vor allem für .NET Programmierung angebotene integrierte Entwicklungsumgebung. Microsoft bietet mit Visual Studio Professional und Visual Studio Enterprise zwei kommerzielle Editionen an. Darüber hinaus gibt es eine Reihe von kostenlosen Visual Studio Express Editions, im Funktionsumfang eingeschränkte Abkömmlinge.

Mit Ausnahme von Visual Studio Express 2013 für Windows Desktop sind sie auf nur eine Programmiersprache bzw. auf Webanwendungen reduziert. Es gibt sie in vier spezialisierten Ausführungen: C#, C++, Visual Basic und Web Developer, das die Entwicklung von Webanwendungen in C# und Visual Basic ermöglicht. Den Express Editions fehlen Fähigkeiten wie Remote-Debugging, Teamfähigkeit, Anbindung an ein Quellcode-Verwaltungssystem, etc.

NuGet ist eine freie Open-Source-Paketverwaltung für die .NET Softwareentwicklung, die als Visual Studio Erweiterung verfügbar ist. NuGet kann von der PowerShell-Kommandozeile angesprochen und mit PowerShell-Skripts automatisiert werden und unterstützt auch native Pakete, welche in C++ verfasst wurden.

.NET Programmierung und Outsourcing

Bei .NET Outsourcing profitieren Sie von der Sprachenoffenheit der Software-Plattform. Ein .NET Outsourcing-Partner ist nicht auf eine bestimmte Programmiersprache limitiert, was die Auswahl eines geeigneten Anbieters deutlich erleichtert. Für .NET kann in jeder Sprache programmiert werden, für die es einen .NET-Compiler gibt, und das sind ziemlich viele.

Direkt von Microsoft kommen für diesen Zweck Sprachen wie VB.NET, C#, C++/CLI, JScript.NET, ASP.NET, J# oder F# welche von Haus aus problemlos mit .NET funktionieren. Wie die Namen erkennen lassen, sind dies erweiterte Umsetzungen bereits bestehender Sprachen. Für andere Sprachen gibt es jedoch auch von anderen Herstellern angebotene Compiler, die den Einsatz via .NET Outsourcing ermöglichen.

.NET Outsourcing ist daher sehr flexibel, bei der Auswahl eines Anbieters sollte man aber die spezifisch verlangten Fachkenntnisse genau im Blick haben. Auch die einzelnen Versionen sowohl von .NET selbst als auch der einzelnen Komponenten und Werkzeuge spielen hier eine Schlüsselrolle.

Wenn Sie für .NET Programmierung auf Outsourcing setzen wollen, sind wir von outsourcing4work genau der richtige Ansprechpartner. Dank unserer langjährigen Erfahrung mit Outsourcing und unseren exzellenten Kontakten nach Indien, können wir Ihnen besonders kostengünstig entsprechendes Fachpersonal vermitteln. Wie Sie sicher wissen, ist Indien weltweit DER Top-Standort für IT Outsourcing, insbesondere im Bereich Softwareentwicklung.

Mit unserer Hilfe können Sie das exzellente Know-How indischer IT Profis nutzen, ohne selbst vor Ort in Indien aktiv zu werden. Wir vermitteln Ihnen für .NET Programmierung die genau zu Ihrem Bedarf passenden Fachkräfte und übernehmen anschließend mit eigenen SCRUM-Profis auch die virtuelle Koordination.

Im Rahmen eines Servicevertrags direkt mit uns als deutschem Unternehmen kümmern wir uns um die ganzen Details und sorgen für eine reibungslose Zusammenarbeit zwischen Ihnen und den indischen Softwareentwicklern. Bezahlen können Sie je nach Wunsch entweder auf Stundenbasis oder zu festen Preisen für vorher genau definierte Projekte.

WWF Entwickler

Outsourcing an WWF Entwickler für .NET Projekte

WWF Entwickler sind auf die so genannte Windows Workflow Foundation (WWF, WF oder auch WinWF) spezialisiert. Die Programmier-Bibliothek gehört seit .NET 3.0 zur .NET Technologiegruppe von Microsoft und hilft bei der Entwicklung von programmgesteuerten und komplexen Arbeitsabläufen.

Die damit mögliche beschreibende bzw. deklarative Programmierung stellt die Beschreibung eines Problems in den Vordergrund. Dies steht im Gegensatz zur imperativen Programmierung, die sich auf die Beschreibung des Lösungswegs fokussiert.

WWF Entwickler bilden Ablaufdiagramme durch vorgefertigte Klassen und Konstrukte ab. Die Codierung orientiert sich damit eher an konkreten Geschäftsprozessen und ermöglicht höhere Abstraktionsgrade. Mit Hilfe der WWF Technik können .NET Entwickler Software mit einer leicht verständlichen Schnittstelle versehen, über die Geschäftskunden andere Microsoft Produkte wie SharePoint oder Microsoft Dynamics ansteuern können.

Warum WWF Entwickler rar und teuer sind

Die Windows Workflow Foundation gilt als relativ schwer erlern- und einsetzbare Bibliothek. Ein WWF Entwickler benötigt sowohl fundierte .NET Programmierkenntnisse als auch vertieftes Wissen im Bereich der Prozesssteuerung. Viele WWF Entwickler kommen daher aus dem Bereich der Wirtschaftsinformatik. Die bei WWF jedoch relativ hohe Lernschwelle und technische Schwierigkeiten durch die immer noch nicht als fehlerfrei geltende Umsetzung der Bibliothek macht die Arbeit damit relativ kompliziert.

In vielen Unternehmen kommt WWF Entwicklung jedoch trotzdem zum Einsatz um die Komplexität von Softwareprojekten im Zaum zu halten. Statt mit zusätzlichem Code Software immer weiter aufzublähen, können mit WWF viele Probleme durch die Beschreibung von Workflows gelöst werden. Entwicklerteams werden dadurch entlastet und Funktionen können auf diese Art oft schneller implementiert werden. In enger Zusammenarbeit mit Kollegen aus Fachabteilungen, kann ein versierter WWF Entwickler oft deutlich schneller Lösungen anbieten. Klassische Softwareentwicklung benötigt hier oft deutlich mehr Zeit.

WWF Software profitiert daher von guter Skalierbarkeit. Da die Prozesslogik auf Input-Output Modellen basiert, müssen lediglich die Programmbestandteile im Speicher verbleiben, welche für den aktuellen Prozessablaufspunkt relevant sind. Dem entgegen steht eine höhere Komplexität der WWF Programme für die Entwickler. Anders als bei anderen Programmen bietet der Code selbst keinen eindeutigen Ablaufplan, der chronologisch analysiert und verstanden werden kann. Gerade die Fehlersuche gestaltet sich dadurch schwierig. Ein WWF Programm kann technisch korrekt ablaufen, aber trotzdem falschen Output erzeugen, wenn bei der Prozesslogik in Flussdiagrammen Fehler gemacht wurden.

WWF Entwickler als Outsourcing-Fachkräfte

WWF Entwickler bieten sich gerade für punktuelle Auftragsarbeit an um abgegrenzte Problemlösungen schnell zu realisieren. Unternehmen, die konsequent auf .NET Technologie setzen können durch geschicktes Outsourcing solcher Aktivitäten dabei einiges an Geld sparen. Da WWF Entwickler aufgrund ihres Exotenstatus in Deutschland relativ teuer sind, lohnt sich hier insbesondere der Blick nach Indien.

Dort findet man für alle Technologiebereiche und Programmiertechniken genug verfügbares Fachpersonal, das ist bei der Windows Workflow Foundation nicht anders. Im Gegensatz zu ihren deutschen Kollegen kosten diese Experten aber meist nur einen Bruchteil. Neben der hohen Verfügbarkeit von IT Personal ist dies einer der Hauptgründe für das immer stärker boomende Outsourcing nach Indien. Bereits jetzt deckt Indien mehr als 55 Prozent des weltweiten IT Outsourcingmarkts ab, Tendenz weiter steigend.

Wenn Sie sich für WWF Entwickler aus Indien interessieren, können wir von outsourcing4work Ihnen weiterhelfen. Wir sind auf die Vermittlung von versierten Softwareentwicklern an deutsche Auftraggeber spezialisiert und bringen in diesem Bereich bereits langjährige Erfahrung mit.

Unsere Auftraggeber unterstützen wir während der Projektphase mit eigenen SCRUM-Projektmanagern. Damit stellen wir sicher, dass alle auf Distanz gemanagte Abläufe reibungslos funktionieren. Schwierigkeiten durch die virtuelle Zusammenarbeit und kulturelle Unterschiede können so leicht umschifft werden. Je nach Bedarf können Sie mit uns indische WWF Entwickler auf Stundenbasis beschäftigen, oder für Festpreisprojekte buchen. Für wiederkehrende Arbeiten sind auch langfristige Verträge mit attraktiven Konditionen denkbar. Die Vertragsabwicklung und Bezahlung der indischen Entwickler nehmen wir als deutsches Unternehmen ebenfalls in die Hand. Das erleichtert Ihnen die Handhabe enorm.

.NET Outsourcing

Mit .NET Outsourcing günstig zu hochwertiger Windows Software

Mit .NET Outsourcing setzen Sie für die Windows-Softwareentwicklung auf die sehr weit verbreitete .NET Klassenbibliothek von Microsoft. Dies zahlt sich aus wenn die Codebasis und Einzelbausteine später durch andere Programmierer weiterentwickelt werden sollen. Der Hauptfaktor für .NET Outsourcing dürfte jedoch der bei .NET deutlich reduzierte Programmieraufwand sein, welcher sich dann auch in niedrigeren Auftragskosten niederschlägt.

.NET Outsourcing: Software nach dem Baukastenprinzip

Bei .NET Software wird zunächst der für Menschen leicht lesbare Quellcode in einen Zwischencode kompiliert, der dann erst bei der Programmausführung in Maschinensprache übersetzt wird. Anders als direkt in Maschinensprache vorliegende Anwendungen, benötigt mit .NET Outsourcing entwickelte Software zur Ausführung das für Windows angebotene .NET Framework.

Softwareentwickler können dadurch aber für Standardfunktionen und sich häufig wiederholende Aufgaben die darin eingebaute Klassenbibliothek nutzen und die entsprechende Anweisungen modulartig in ihre Programme einbinden.

.NET kennt aktuell an die 12000 Klassen für solche Aufgaben, die in 300 Namensräumen kategorisiert werden. Zu den typischen dank Softwareklassen bereits vorgefertigten Abläufen gehören etwa:

  • Lese- und Schreibvorgänge für Dateien in bestimmten Formaten
  • mathematische Berechnungen wie Zufallszahlen
  • Standard Windows-Oberflächenelemente wie Knöpfe, Symbolleisten, Menüs und Dialogfenster
  • Abfragen für bestehende Datenbanken

Da .NET immer auf das .NET Framework zur Ausführung setzt, ist die Software automatisch auf allen Systemen lauffähig, für die dieses verfügbar ist. Für das .NET Framework 4.0 geschriebene Software läuft von XP bis Windows 10 auf allen Windows-Versionen, ab Versionsnummer 4.5 immerhin auch noch mit Windows Vista. Aktuell ist bei Windows 10 gerade das .NET Framework 4.6.1.

Frei Sprachen-Wahl bei .NET Outsourcing

Bei .NET Outsourcing profitieren Sie von der Sprachenoffenheit der Software-Plattform. Ein .NET Outsourcing-Partner ist nicht auf eine bestimmte Programmiersprache limitiert, was die Auswahl eines geeigneten Anbieters deutlich erleichtert. Für .NET kann in jeder Sprache programmiert werden, für die es einen .NET-Compiler gibt, und das sind ziemlich viele.

Direkt von Microsoft kommen für diesen Zweck Sprachen wie VB.NET, C#, C++/CLI, JScript.NET, ASP.NET, J# oder F# welche von Haus aus problemlos mit .NET funktionieren. Wie die Namen erkennen lassen, sind dies erweiterte Umsetzungen bereits bestehender Sprachen. Für andere Sprachen gibt es jedoch auch von anderen Herstellern angebotene Compiler, die den Einsatz via .NET Outsourcing ermöglichen.

.NET Outsourcing nach Indien

Wenn Sie erfahrene .NET Softwareentwicklern suchen, die auch die Möglichkeiten des neuesten .NET Frameworks 4.6.1 beherrschen, bietet Ihnen .NET Outsourcing nach Indien große Sparpotentiale. Indische .NET Entwickler haben sich bereits in vielen internationalen Projekten einen Namen gemacht und genießen einen hervorragenden Ruf.

outsourcing4work kann Ihnen problemlos solche indischen .NET Profis vermitteln. Über uns können Sie .NET Projekte zum Festpreis durchführen lassen oder alternativ das entsprechende Personal auf Zeit buchen. Auch ganze Teams, die exklusiv für Sie arbeiten sind möglich.

Damit die Zusammenarbeit auf Distanz auch gut klappt, sorgen unsere eigenen Projektmanager für eine optimale Koordination. Die Verträge können Sie mit uns als deutschem Unternehmen abschließen, was für zusätzliche Rechtssicherheit sorgt.

ASP.NET vs. PHP

ASP.NET vs. PHP: Kosten, Skalierbarkeit, Leistung und Support im Vergleich

Die meisten Webanwendungen laufen mit PHP. Die Skriptsprache hat sich weltweit durchgesetzt und kann auf eine weltweite Gemeinde mit vielen Millionen Entwicklern und Anwendern zählen. Mit ASP.NET gibt es aber eine weitere bedeutende Technologie für Webanwendungen, Webseiten und Web-Services die auf knapp 16% aller Internetseiten eingesetzt wird. Das klingt nicht viel, ist aber immerhin der zweite Platz. Mit meinem kleinen ASP.NET vs. PHP Vergleich möchte ich einen kleinen Überblick über Stärken und Schwächen der beiden Web-Technologien geben.

Die Haupt-Unterschiede zwischen ASP.NET und PHP

PHP wird als serverseitige Skriptsprache meist auf einem Linux-System mit Apache-Webservern eingesetzt. Üblicherweise wird für PHP-Software eine MySQL- oder andere SQL-Datenbank genutzt. Beide Programmiersprachen leben seit vielen Jahren in einer Art Symbiose. Aufgrund der Open-Source-Verfügbarkeit nutzen die meisten Websites diesen Ansatz, nach Angaben von php.net sind es stattliche 244 Millionen Internetseiten.

ASP.NET wurde von Microsoft als PHP-Alternative innerhalb der .NET Technologiegruppe als so genanntes Web Application Framework auf den Markt gebracht. ASP.NET Web-Software kann demnach mit einer von .NET unterstützen Programmiersprache wie etwa C++, C#, Perl oder Python genutzt werden. ASP.Net Web-Programme benötigen zur Ausführung einen Windows Server. Das macht die Entwicklung von Web-Anwendung für viele Entwickler sehr einfach.

Kostenvergleich: ASP.NET vs. PHP

Während PHP komplett kostenlos ist, fallen für ASP.NET Software Lizenzgebühren für Microsofts Windows Server an. Dies führte bei Windows-Hosting lange zu höheren Kosten. Mittlerweile findet man Windows-Hosting Anbieter aber auch in der gleichen Preisklasse wie Linux.

Für die Entwicklung der ASP.NET Programme stellt Microsoft die kostenpflichtige Entwicklungsumgebung Visual Studio bereit, es gibt aber mit Visual Studio Express auch eine kostenlose Einsteigerversion. In der Regel sind die Entwicklungskosten für ASP.NET Programme aber leicht höher.

Skalierbarkeit: ASP.NET vs. PHP

Bei der Skalierbarkeit schenken sich ASP.NET und PHP-Programme nichts. Mit Facebook läuft die aktuell meistbesuchte Internetseite auf PHP-Basis. MySpace, welches von Facebook als größtes soziales Netzwerk entthront wurde mit ASP.NET entwickelt.

Leistung: ASP.NET vs. PHP

Bei PHP-Software hängt die Leistung vom Zusammenspiel zwischen Linux als Betriebssystem, Apache als Webserver, MySQL als Datenbank und PHP als Skriptsprache ab. In mehr als zwei Jahrzehnte Optimierungsarbeit wurden die Einzelkomponenten stark aufeinander abgestimmt, ein sehr effizienter Betrieb ist die Folge.

ASP.NET läuft unter Windows Server und mit Microsoft SQL Server mit dem NTFS Dateisystem. Während die einzelnen Softwarekomponenten sehr gut aufeinander abgestimmt sind, führt NTFS wahrscheinlich zu Performancenachteilen. Ein 1:1 Vergleich ist schlecht möglich, da man dafür zwei identische Webanwendungen unter beiden Technologien vergleichen müsste. Da Linux aber mit ext4 ein leistungsfähigeres Dateisystem hat, ist aber davon auszugehen, dass PHP-Anwendungen hier die Nase vorn haben.

ASP.NET und PHP Supportoptionen

In Sachen Support hat PHP klar die Nase vorn. Die Open-Source-Community und der hohe Verbreitungsgrad sorgen für eine unendliche Fülle an Supportressourcen. Auch PHP-Servicedienstleister findet man um ein vielfaches häufiger als ASP.NET Serviceanbieter.

Setzen Sie für die Kostenersparnis auf indische Web-Entwickler

Ob ASP.NET oder PHP besser geeignet ist, hängt stark davon ab, wie sehr Sie an Microsoft Software gebunden sind, und ob Sie für andere Zwecke bereits Windows Server einsetzen. Wenn Sie eine Webanwendung entwickeln lassen, sollten Sie sich nicht aus reinen Kostengründen bei der Softwareentwicklung für die eine oder andere Technik entscheiden. Im langjährigen Betrieb spielen andere Kostenfaktoren eine oft größere Rolle.

Es bietet sich aber an, mit Hilfe von