kellerlanplayer
www.Blog2Help.com
- 29 April 2006
- 2.280
- 247
Hallo liebe Klamm-Programmiergemeinde,
für eine Studienarbeit habe ich die Programmiersprache C# und Java mit ein paar ausgewählten Frameworks verglichen.
Ich habe das mit besten Wissen und gewissen getan und möchte euch trotzdem bitten, da mal rüber zu schauen und mir evtl. mitzuteilen, wenn ich irgendwo großen Schwachsinn geschrieben habe oder wenn ihr wo anderer Meinung seid.
Danke schon einmal für eure Mühen:
für eine Studienarbeit habe ich die Programmiersprache C# und Java mit ein paar ausgewählten Frameworks verglichen.
Ich habe das mit besten Wissen und gewissen getan und möchte euch trotzdem bitten, da mal rüber zu schauen und mir evtl. mitzuteilen, wenn ich irgendwo großen Schwachsinn geschrieben habe oder wenn ihr wo anderer Meinung seid.
Danke schon einmal für eure Mühen:
Java ist eine objektorientierte Programmiersprache, mit der es möglich ist, plattformunabhängig zu entwickeln. Die Sprache selbst ist „schlank und übersichtlich“[1] und sie kann trotzdem „für größere Projekte“[2] eingesetzt werden, da sie dafür genug Möglichkeiten bietet.
Obwohl es mit der aktuellen Java Enterprise Edition 6[3], die „nahezu jeden Bereich der Programmierung erfasst hat“[4], jederzeit möglich wäre Softwareanwendungen zufriedenstellend umzusetzen, empfiehlt es sich bei gewissen Projekten die Frameworks zu erweitern.
1.1.1.1.1 Spring-Framework
Das Spring Framework ist wahrscheinlich eines der mächtigsten in der Java Welt. Wie in dem Buch von Rod Johnson, Juergen Hoeller, Alef Arendsen, Thomas Risberg und Colin Sampaleanu beschrieben, ist es eine Methode um produktiver und einfacher mit Java und der Enterprise Edition weiterzuarbeiten. Desweiteren sind mit diesem Framework auch Web-Anwendungen möglich. Alle Spring Features sind auch in der Web-Version verfügbar.[5]
1.1.1.1.2 GWT Framework
Das Google-Webtool-Kit basiert auf JavaScript und Ajax und ist deshalb in jedem gängigen Browser verfügbar. Dies macht Installationen überflüssig und die Anwendung ist deshalb von überall erreichbar (Internetverbindung vorausgesetzt).
Der Programmcode wird allerdings in Java programmiert, erst der Compiler wandelt ihn anschließend in lauffähiges JavaScript um.
Für den Fall der DDB2.0 bietet die Ajax Technologie große Vorteile. So sind mit ihr „interaktive, desktopähnliche Applikationen im Web möglich, ohne die Nachteile einer Applet-Entwicklung oder von Flash in Kauf zu nehmen“[6].
Außerdem ist „das Arbeiten zügiger möglich, weil weniger Daten und weniger einzelne Requests mit einem Server ausgetauscht werden müssen“[7]. Dies könnte schon ein erster Ansatz für eine dringend notwendige Geschwindigkeitsverbesserung sein.
Der Einsatz von GWT wird empfohlen, wenn es sich „um hochdynamische Anwendungen handelt, die besonders viel Benutzerinteraktion erfordern“[8].
1.1.1.1.3 SwingWeb
Laut David M. Geary ist Swing lediglich eine API, die auf dem Abstract Window Toolkit basiert. Diese Erweiterung war nötig, da das AWT nicht für die Massenanwendung gedacht war und deshalb wies die Infrastruktur auch gravierende Fehler auf.[9]
Swing ist eine der meistverwendeten Schnittstellen in Java, wenn es um die Oberflächengestaltung geht. Jedoch „sehen Swing-Oberflächen auf allen Plattformen identisch aus“[10] und deshalb wirkt es manchmal etwas in die Jahre gekommen, da SwingWeb eine etwas ältere Schnittstelle ist.
„Swingweb is an implementation of AWT toolkit that enables AWT/Swing application to be operating inside a web container and presented as a web application to the web browser, purely in HTML/CSS/javascript. There's no code conversion required for the swing application to run in the SwingWeb environment.”[11]
1.1.1.1.4 Vergleich
Es gibt für jedes Framework viele Vor- und Nachteile, hier soll ein kurzer Überblick der Pros und Contras speziell für die DDB2.0 aufgezeigt werden
1.1.1.1.5 Entscheidung
Angesichts des großen Vorteils der Ajax Verwendung und der Fähigkeit, komplexe Applikationen mit vielen Daten schlank zu versenden ist es anzuraten, bei einer Webapplikation das GWT-Framework in Betracht zu ziehen.
Sollte in Java eine Standardapplikation verwendet werden, empfiehlt sich die JEE zu verwenden.
1.1.1.2 C#
Frank Eller schreibt in seinem Buch, dass sich C# aus dem .NET Framework entwickelte. Dieses war aus Sicht von Microsoft nötig um eine flexible Programmiersprache zu bekommen, die nicht die Komplexität von beispielsweise C++ hat, aber auch nicht so simpel ist wie Visual Basic.
Interessant ist, dass das .NET Framework eigentlich in C# geschrieben ist, obwohl es diese Programmiersprache bis dato gar nicht offiziell gab. Microsoft hat erst versucht, das .NET Framework in die bereits existierenden Programmiersprachen einzubetten und entschied sich nach einigen Problemen und Widerständen von Entwicklern dafür C# herauszubringen.
C# ist nur auf Windows Betriebssystemen nutzbar, dies schränkt den Endanwender zwar ein, bietet aber auch Vorteile. So ist es möglich, das Framework tiefer in das System zu integrieren und so viele APIs von Microsoft zu verwenden.[12]
Mit dieser Programmiersprache sind sowohl komplexe Webanwendungen, als auch Standardapplikationen möglich
1.1.1.2.1 ASP.NET AJAX
Auch die Verwendung von AJAX ist unter C# bzw. dem ASP.NET Framework möglich.
„As with ASP.NET itself, ASP.NET AJAX is designed to deliver functionality – in this case, the benefits of Ajax – without requiring mastery of Ajax technologies. ASP.NET AJAX can manage Ajax functionality for you in much the same way that ASP.NET manages HTTP functionality, such as postbacks, state management, and the client script required to make ASP.NET all “just work.””[13]
1.1.1.2.2 Fazit
Die vorgestellte Technologie ist sowohl für Webanwendungen als auch für eine Standardapplikation bestens geeignet.
1.1.1.3 Vergleich
In dieser Tabelle werden noch einmal die Vor- und Nachteile der ausgewählten Programmiersprachen mit dem ausgewählten Framework gegenübergestellt.
Vergleicht man die zwei favorisierten Programmiersprachen mit ihrem Frameworks kann man davon ausgehen, dass sich sowohl C# als auch Java mit der JEE oder dem GWT Framework für die DDB2.0 eignen.
Möchte man die DDB2.0 als installierbare Software anbieten, würden sich demzufolge am besten Java mit dem JEE Framework oder C# und ASP.NET eignen.
Für eine Webapplikationen empfiehlt sich ein Einsatz von C# und ASP.NET und Java GWT. Bei letzterem fehlt jedoch die letzte Gewissheit, ob sich die theoretischen Vorteile auch tatsächlich in der Praxis umsetzen lassen. Das GWT Framework ist vergleichsweise neu und es sind nur vereinzelt große Projekte, wie Google-Mail[14] dadurch realisiert worden.
[1] Guido Krüger, Thomas Stark (2009). Handbuch der Java-Programmierung, S. 43
[2] Ders.
[3] Stand: Februar 2012
[4] Thomas Stark (200. Java EE 5: Einstieg für Anspruchsvolle, S. 19
[5] Vgl. Rod Johnson,Juergen Hoeller,Alef Arendsen,Thomas Risberg undColin Sampaleanu (). Professional Java Development with the Spring Framework, S. 1,5
[6] Thomas Walter (2007). Kompendium der Web-Programmierung: Dynamische Web-Sites,
S. 398
[7] Michael Seemann (2007). Das Google Web Toolkit: GWT, S. 2
[8] Ders., S.9
[9] Vgl. David M. Geary (2000). Graphic Java 2.0 – Die JFC beherrschen (Swing), S.34
[10] Berthold Daum (2007). Java 6, S. 206
[11] https://java-source.net/open-source/web-frameworks/swingweb (29.02.2012)
[12] Frank Eller (2010). Visual C# 2010: Grundlagen, Programmiertechniken, Datenbanken, S.33-36, 40
[13] Christian Wenz (2007). Programming ASP.NET AJAX, S. 5
[14] https://www.ordix.de/ORDIXNews/1_2007/Java_J2EE/google_web_toolkit_ajax.html