verwendete Technologien

Status
Nicht offen für weitere Antworten.
G

Guest

Gast
Mal eine kleine Umfrage: Welche Technologien bzw Frameworks, setzt ihr für eure Desktop Anwendungen ein?
 
G

Gast

Gast
Swing! :p

Wenns mal etwas größeres ist, dann Plattformen wie Eclipse RCP oder die Netbeans Plattform
 

ARadauer

Top Contributor
Frage so nebenbei, Eclipse RCP mit Swing Komponenten geht nicht oder? Muss das SWT sein?

Ich benutz bis jetzt auch immer Swing, aber mir fehlt irgendwie der ganze Applikations Rahmen.. den würde mir ja Eclipse RCP bieten.. aber Swing könnte ich halt schon....
 

tfa

Top Contributor
Geht alles. Wir benutzen die Eclipse-Platform völlig ohne die SWT-Oberfläche sondern nur mit Swing-Komponenten. Also praktisch nur den OSGi-Rahmen mit dem Plugin-Konzept.
 

Wildcard

Top Contributor
Du kannst auch Swing in SWT embedden (machen wir auch), aber die Integration ist nicht ganz nahtlos. Wenn du also was neues als PlugIn/RCP entwickelst, dann sollte es schon SWT sein.

Also praktisch nur den OSGi-Rahmen mit dem Plugin-Konzept.
Das alleine ist schon Gold wert, das ist richtig. Aber die Platform UI ist ebenfalls ein tolles Produkt.
 
D

DirkA

Gast
Bisher hab ich mich immer davor gescheut, die Eclipse RCP oder Netbeans Plattform einzusetzen.

Daher meine Frage: Welche (Haupt)vorteile bietet der Einsatz einer solchen Plattform und wie stark unterscheidet sich SWT von Swing (hinsichtlich Programmierung, Geschwindigkeit, Komponenten)
 

ps

Bekanntes Mitglied
Ich benutze die Netbeans Platform und muss sagen ich bin ziemlich beeindruckt von den Konzepten dahinter. Die Architektur ist sehr gelungen... ich erwische mich mittlerweile dabei wie ich das dort gelernte in meine Serveranwendungen übertrage ;-) (lose Kopplung von Modulen und "dynamische" APIs mit Hilfe der Lookup API)

Ich kann von der Netbeans Platform nur gutes berichten, ein sehr mächtiges Werkzeug, die Dokumentation wird immer besser und es existieren mittlerweile 3 sehr gute Bücher zum Thema.

OSGi freilich erhält man mit NetBeans nicht - allerdings ist das Modulkonzept von Netbeans sehr ähnlich bzw. bietet die selben Möglichkeiten wie OSGi - nur ist es halt nicht so weit verbreitet. Für die Verteilung und Entwicklung eigener Module ist es aber ebenbürtig. Und darauf kommt es bei einer Desktopapplikation ja meist an ;)
 

Wildcard

Top Contributor
ps hat gesagt.:
OSGi freilich erhält man mit NetBeans nicht - allerdings ist das Modulkonzept von Netbeans sehr ähnlich bzw. bietet die selben Möglichkeiten wie OSGi - nur ist es halt nicht so weit verbreitet.
Classloader Isolierung? EIne saubere Möglichkeit nativen Code zu bundlen? Dynamisches Laden, Entladen, Ersetzen von Bundles? Bist du dir da sicher?

Daher meine Frage: Welche (Haupt)vorteile bietet der Einsatz einer solchen Plattform und wie stark unterscheidet sich SWT von Swing (hinsichtlich Programmierung, Geschwindigkeit, Komponenten)
Eclipse ist voll von lächerlich komfortablen Widgets, Dialogen, Services, Frameworks, damit lassen sich Bücher füllen.
Aber selbst das verblasst gegen die Vorzüge eines OSGi Containers, der PlugIn Registry und vor allem:
Einer tollen, flexiblen, durchdachten Software Architektur, von der man nur lernen kann. Auch Eclipse hat seinen Ballast und ein paar Ecken und Kanten, aber insgesammt muss ich sagen: phantastische Arbeit.
Es ist offensichtlich nicht von Nachteil den Softwaredesign Papst Erich Gamma an Bord zu haben.
 

ps

Bekanntes Mitglied
Wildcard hat gesagt.:
Classloader Isolierung? EIne saubere Möglichkeit nativen Code zu bundlen? Dynamisches Laden, Entladen, Ersetzen von Bundles? Bist du dir da sicher?

Ja, bin ich :)
Alles oben genannte ist im Modulsystem von NetBeans enthalten. Zusätzlich natürlich noch Versionierung der öffentlichen Schnittstellen, Definition der Sichtbarkeit von Packages (für alle oder nur für befreundete Module), automatische Auflösung der Abhängigkeiten (und aktivierung/deaktivierung der Module), etc pp.

Es heisst halt alles ein bisschen anders, aber technisch gesehen hast du strikt voneinander getrennte Module mit eigenen Classloadern. Du kannst diese zur Laufzeit austauschen, hinzufügen, etc. Es gab diese Anforderungen auch schon vor OSGi und Eclipse ;)

zum weiterlesen:
-> http://platform.netbeans.org/
-> http://www.netbeans.org/features/platform/index.html#midlink
 

Wildcard

Top Contributor
OSGi ist ja kein Eclipse Ding, sondern wurde von Eclipse 'zweckentfremdet'. Wenn sie das ganze Zeug tatsächlich implementiert haben, verwundert mich umso mehr, das sie nicht direkt den OSGi Weg eingschlagen haben. Schließlich hat es OSGi mittlerweile ja sogar durch den JCP geschafft.
 

ps

Bekanntes Mitglied
Wildcard hat gesagt.:
OSGi ist ja kein Eclipse Ding, sondern wurde von Eclipse 'zweckentfremdet'. Wenn sie das ganze Zeug tatsächlich implementiert haben, verwundert mich umso mehr, das sie nicht direkt den OSGi Weg eingschlagen haben. Schließlich hat es OSGi mittlerweile ja sogar durch den JCP geschafft.

Ich weiß nicht wie lange es OSGi schon gibt... aber seinen Siegeszug hat es IMHO erst durch Eclipse angetreten. Wer hat denn vor 5 Jahren schon groß von OSGi gesprochen?

Das JSR-291 ist jedenfalls von Anfang 2006 - das Modulsystem von NetBeans ist _einiges_ älter. Wenn ich mir die API Änderungen anschaue so gibt es das Modulsystem mindestens schon seit 2000 (http://bits.netbeans.org/dev/javadoc/org-openide-modules/apichanges.html)

Freilich war da die Plattform noch nicht so schön getrennt von der IDE.. aber getrennte Classloader und das Modulsystem gab es schon.

[edit:]
btw, es gab schon diskussionen wie man die Systeme kompatibel machen könnte - im Wiki finden sich auch schöne Erklärungen:
http://wiki.netbeans.org/OSGiAndNetBeans
Es hat aber wohl noch niemand die Zeit gefunden da etwas zu tun. Der Nutzen steht wohl auch in keinem Verhältnis zum Aufwand.

NetBeans Module System and OSGi are kind of similar. They provide a way how to write modular systems, they encode their metadata in MANIFEST.MF, etc. This page has been create to host the "alignment" effort, e.g. ideas, plans and other work that could lead to crossing the gap and making the system even more similar, potentially replaceable.
 

foobar

Top Contributor
Ich weiß nicht wie lange es OSGi schon gibt... aber seinen Siegeszug hat es IMHO erst durch Eclipse angetreten. Wer hat denn vor 5 Jahren schon groß von OSGi gesprochen?
Osgi gibt es schon seit ca. 8 Jahren. Osgi wurd auch schon eingesetzt bevor Eclipse den Osgihype ausgelöst. Ursprünglich wurde es als Serviceplatform im Embeddedsektor entwickelt. Bmw hat ein Bussystem auf Basis von Osgi entwickelt und in vielen anderen Bereichen wird es auch schon seit Jahren eingesetzt.

SWT von Swing (hinsichtlich Programmierung, Geschwindigkeit, Komponenten)
Es gibt schon große Unterschiede zwischen SWT und SWing, aber wenn du Erfahrung mit irgendeinem Toolkit hast ist es ein Leichtes ein anderes Toolkit zu erlernen.
SWT standalone ist nicht so prickelnd, weil hier grundsätzliche Dinge wie MVC fehlen. Aber die Kombination Eclipse RCP/JFace SWT ist unschlagbar. Es gibt bergeweise Widgets und Apis die das Leben leichter machen.
Ausserdem kann man alle Plugins/Features der Eclipse Platform nutzen und das sind nicht gerade wenige.
 
Status
Nicht offen für weitere Antworten.

Neue Themen


Oben