# Allgemeine NetBeans Platform Module Frage



## Kr0e (21. Mrz 2011)

Hallo!

Habe gestern begonnen mich mal in die NetBeans Platform einzuarbeiten und bin schon ziemlich erstaunt was die ganze Zeit vor meiner Nase bei NetBeans verfuegbar war und ich dennoch nie angeschaut habe...

Nun gut, meine Frage:

Module sind ja praktisch Java-Packages. Also wenn ich z.B. ein Package (mit weiteren sub-Packages) names "com.app.demo.firstModule" habe und ein anderes Modul greift nun z.B. auf "com.app.demo.firstModule.x.y.z.test.java" zu,
dann ist doch die normale Vorgehensweise, dass ich diesem besagten Modul sage: Du hast eine Abhaengigkeit von 
Modul  "com.app.demo.firstModule", oder ? Ausserdem muss ja in die Java-Source auch noch die Importangabe...

Wo genau ist jetzt der Sinn von Modulen ? Ich dachte, er Sinn waere, dass vorallem die Wartbarkeit erhoeht wird oder bzw. dass mehrer Entwickler sich leichter "koordinieren" koennen, allerdings leuchtet mir das noch nicht ganz ein, da man ja IMMERNOCH die Importangaben hat, wodurch ja sowieso geklaert ist, welche Javafiles im besagten Modul vorhanden sein MUESSEN. Sprich wenn ich nun das 1. Modul iwie abaendere (z.B. die code-name-base aendere), dann muss Modul 2 ja auch wieder angepasst werden.

Ich sehe da noch keinen grossen Unterschied zur normalen Vorgehensweise. Mein Problem ist, dass mir klar ist, dass das alles recht toll ist/sein sollte, aber iwie fehlt mir grad noch so dieser Aha! Moment. Vlt. koennt ihr mir eine Perspektive zeigen, die dafuer sorgt =)

Gruss,

Chris


----------



## Wildcard (21. Mrz 2011)

Ich habe noch nicht mit Netbeans Modules gearbeitet (Eclipse RCP ist in diesem Bereich eher der Platzhirsch), aber das Prinzip dürfte das gleiche sein:
Über solche Dependencies wird 
1) Zur Compilezeit der Classpath festgelegt
2) Zur Laufzeit sichergestellt das alle Abhängigkeiten vorhanden sind


----------



## Kr0e (21. Mrz 2011)

Hi! Warum ist Eclipse RCP der Platzhirsch ? Fuer jemanden, der gerade erst seit 2 Tagen Rich Client Platforms unter die Lupe nimmt, sind solche Informationen noch neu  Macht es denn dennoch Sinn NetBeans Platform zu erlernen ?


----------



## Wildcard (21. Mrz 2011)

> Warum ist Eclipse RCP der Platzhirsch ?


Eclipse hat sehr früh mit dem RCP Thema angefangen und rechtzeitig auf OSGi gesetzt. Mittlerweile ist das Eclipse Ökosystem riesig und Eclipse RCP sozusagen Industriestandard.


> Macht es denn dennoch Sinn NetBeans Platform zu erlernen ?


Netbeans Modules ist sicherlich nicht schlecht und von der Platform her wohl ähnlich mächtig, also spricht absolut nichts dagegen sich damit zu beschäftigen.
Eclipse hat bei Tooling und insbesondere Modeling zwar deutlich mehr zu bieten, aber ohne deinen Use-Case zu kennen, kann ich nicht beurteilen inwieweit dir das nützen würde.

Wenn es um ein Hobby Projekt geht:
Bleib ruhig bei Netbeans, oder schau dir einfach mal beides an
Wenn du Technologie für ein Projekt evaluierst:
Musst du dir sowieso beide anschauen und gegen den Anforderungskatalog abgleichen
Wenn es primär um den Lebenslauf geht:
Nimm Eclipse RCP


----------



## Kr0e (22. Mrz 2011)

Es handelt sich um ein Hobbyprojekt, das aber durchaus irgendwann einmal groesser werden koennte/sollte (OpenSource).

Werde deswegen auch NetBeans benutzen. Dort werde viele tolle Tools mitgeliefert, die wohl bei Eclipse meist kommerziell erhaeltlich sind. Ein Beispiel waere da aus meiner Sicht der Matisse GUI Editor. Ich habe mit dem recht viel Erfahrung und fuer ein OpenSource Projekt dann teure Software zu kaufen widerstrebt mir dann doch irgendwie.

Danke aber fuer den hinweis, dass Eclipse RCP im professionellen Bereich vorn ist, schau ich mir generell iwann dann mal an.


Gruss,

Chris

PS: Ich kann keine Umlaute schreiben mit meiner englischen Tastatur. Sorry, wenns beim Lesen stoert.


----------



## Gast2 (22. Mrz 2011)

Kr0e hat gesagt.:


> Werde deswegen auch NetBeans benutzen. Dort werde viele tolle Tools mitgeliefert, die wohl bei Eclipse meist kommerziell erhaeltlich sind. Ein Beispiel waere da aus meiner Sicht der Matisse GUI Editor. Ich habe mit dem recht viel Erfahrung und fuer ein OpenSource Projekt dann teure Software zu kaufen widerstrebt mir dann doch irgendwie.



Das halte ich für ein Gerücht, hab bis jetzt noch nie ein kommerzielles Eclipse Plugin benötigt.
GUI Editor gibt es auch jede Menge für SWT/JFaceGUI-Builder für Eclipse [Computerwoche Wiki]

Aber SWT/JFace haben so gute LayoutManager, dass man keinen GUI Editor benötigt.


----------



## Kr0e (22. Mrz 2011)

Hallo!

Danke erstmal fuer die Antwort. Der Link den du mir geschickt hast, verweist auf ein kommerzielles Projekt.
Weiter unten steht, dass fuer kommerzielle Produkte Geld verlangt wird. Gibt es denn auch einen wirklich rundum kostenlosen
GUI-Builder fuer Eclipse, er sich mit Matisse messen kann ? Versteh mich nicht falsch, ich bin meinungstechnisch noch offen fuer
beide Produkte, fange ja grad erst an... Allerdings finde ich die NB-Platform iwie einfacher fuer den Anfang und dennoch scheint ja kein Feature zu fehlen, weshalb wohl NB meine erste Wahl ist zur Zeit.

Bei dem OSGi ARgument bin ich noch stutzig: In vielen Foren steht "Eclipse RPC ist besser, weil OSGi genutzt wird" oder "de facto Standard". Dann hab ich mich gefragt, wo ist denn der Unterschied zu OSGi und hab erfahren, dass OSGi wohl ein genormter Standard ist und NB-Module system eben ein "selbstgemachtes" System ist. Aber viele Anhaenger der NB-Platform sagen auch, dass Eclipse RCP fuer OSGi eigene Containerklassen hat (oder so aehnlich) und deshalb Eclipse RCP Module auch nicht wirklich universal einsetzbar sind sondern nur in der Eclipse Umgebung, was ja eigentlich genau das selbe ist, wie das NB-Modulesystem.

Alles in allem wohl ein heikles Thema. Nichts fuer ungut, aber iwie klingt es wie eine Art Religionsfrage (NetBeans oder Eclipse), denn beide Plattformen scheinen wohl extremst viele Features zu besitzen und beide Plattformen gibt es ja auch schon ewig und sind daher auch beide schon recht ausgereift.

Vlt. ein kleines Manko, dass mit bei Eclipse nicht gefaellt: Das Update/Pluginsystem finde ich komplizierter als es sein muesste. Das hat Netbeans eleganter geloest. Aber dafuer gibts bestimmt Sachen wo Eclipse besser ist...

Natuerlich braucht man nicht umbedingt ein GUI Editor aber es ist schon eine gewaltige Zeitersparnis und Zeit ist ja Geld.

Gruss,

Chris


----------



## maki (22. Mrz 2011)

> Der Link den du mir geschickt hast, verweist auf ein kommerzielles Projekt.


Seltsam, wenn ich seinen Link klicke, sehe ich viele Projekte, einige kommerziell, einige Gratis, wie VE zB.
Ansonsten braucht man imho keinen GUI Editor mit SWT.

NetBeans hat viele Anhänger? ???:L
Höre ich zum ersten mal.. zumindest was RCP betrifft 



> Wer C++ kann, kann auch Java


Nope


----------



## Kr0e (22. Mrz 2011)

hmm,


ich habe nie behauptet das Eclipse RCP keine Anhaenger haette... Habe nur gesagt, dass die, die von NB ueberzeugt sind, gute Argumente liefern, dass Eclipse nicht allein ist ;-)

EDIT: Um die Sache hier mal zum Ende zu bringen (offensichtlich driften wir ja hier ab in einen endlosen Thread). Meine anfaenglichen Fragen sind geklaert, ob jetzt Eclipse oder NB ist Grunde also eher Geschmackssache sofern es um hobby/open source Projekte geht. Im Businessbereich ist Eclipse RCP wohl vorn.

Gruss,

Chris

@Maki:
Java hat einen abgespeckten C++ Syntax und von daher kann ein C++ Programmierer auch gleichzeitig Java (Interface und foreach ausgenommen). Damit war niemals eine Aussage ueber Bibliotheken oder sonst was gemeint ;-) Und zum Thema gehoert das ja wohl auch nicht ;-)


----------



## stefan! (22. Mrz 2011)

Einer der besten GUI Editoren für Eclipse ist sicher: Installing WindowBuilder Pro - Google Java Developer Tools - Google Code


----------



## maki (22. Mrz 2011)

Kr0e hat gesagt.:


> ich habe nie behauptet das Eclipse RCP keine Anhaenger haette... Habe nur gesagt, dass die, die von NB ueberzeugt sind, gute Argumente liefern, dass Eclipse nicht allein ist ;-)


Hatte auch nie behauptet dass du behauptet hättest Eclipse hätte keine Anhänger 

Ich behaupte NB RCP hat nicht viele Anhänger.
Das allein sollte aber keine Entscheidung rechtfertigen.
Tatsächlich ist es so, dass man Netbeans im Alltag nicht häufig antrifft, weder als IDE, noch seltener als RCP.

Religionskrieg ist das keiner, NetBeans wurde von Sun gefördert, Eclipse von IBM. Sun hatte sich bemüht NetBeans als die Java IDE zu vermarkten, merkt man zB. an der inital besseren Unterstützung für JEE 6 und Groovy. Generell war es so, dass sobald Sun eine neue APi/Technologie released hatte, NetBeans dafür Unterstützung bietete.
Also ganz normales Marketing, für einen Religionskrieg fehlen NB einfach die Anhänger.

Klar hat OSGi eine Lernkurve, das Wissen kann man aber auch ausserhalb Eclipse RCP anwenden (SpringDM, etc.). OSGi ist eben mächtiger, aber auch komplexer, aber dank dem Eclipse Tooling ist das kein Problem wenn man die Grundlagen draufhat.

Du kannst es dir vielleicht schon denken, Sun war nie positiv OSGi gegenüber, haben mit biegen und brechen ihr eigenes Plugin System durchgedrückt und OSGi ignoriert (gab sowas zB. auch mal mit Logging Frameworks, siehe log4j vs. java.util.logging).
Ähnlich ist es mit SWT, stammt von IBM (wie Eclipse eben auch) und wurde von Sun als "ungut" deklariert, schliesslich war SWT die Antwort auf Suns Swing.
Nebenbei bemerkt, vielleicht wird es jetzt klar warum Eclipse eben so heisst 

Wichtig für die Zukunft ist imho was Oracle mit NB vorhat, gegenwärtig ist Eclipse RCP wirklich der de-facto Standard für Java RCPs.

Offtopic:





> Java hat einen abgespeckten C++ Syntax und von daher kann ein C++ Programmierer auch gleichzeitig Java (Interface und foreach ausgenommen). Damit war niemals eine Aussage ueber Bibliotheken oder sonst was gemeint Und zum Thema gehoert das ja wohl auch nicht


Die Syntax mag an C/C++ angelehnt sein, das Laufzeitsystem hat vielmehr von Smalltalk, aber C++ Progger können nunmal kein Java nur weil sie C++ proggen


----------



## Gonzo17 (22. Mrz 2011)

maki hat gesagt.:


> Nebenbei bemerkt, vielleicht wird es jetzt klar warum Eclipse eben so heisst



Ist das tatsächlich so?  Ist ja hammer


----------



## Wildcard (22. Mrz 2011)

Gonzo17 hat gesagt.:


> Ist das tatsächlich so?  Ist ja hammer


Das wurde AFAIK nirgends offiziell erwähnt, aber der Name ist schon ziemlich offensichtlich...


----------



## Gast2 (23. Mrz 2011)

> Nebenbei bemerkt, vielleicht wird es jetzt klar warum Eclipse eben so heisst



haha darüber hab ich mir noch nie Gedanken gemacht ... aber jetzt wo du es sagst!!!



> Natuerlich braucht man nicht umbedingt ein GUI Editor aber es ist schon eine gewaltige Zeitersparnis und Zeit ist ja Geld.



Einen GUI Editor musst du auch erstmal "gut" berherrschen für einen Prototyp kannst du dir Zeit sparen, aber spätestend wenn der Kunde sonderbare Wünsche hat und du Anpassungen machen solltest, die eventuell mit einem GUI Editor nicht gehen, bist du wohl mit selber machen besser beraten.
und imho bist du mit 1-2 Tage Übung mit den LayoutManager genauso schnell wie ein GUI Editor.


----------

