2016-10-21 5 views
-2

Das Projekt, an dem ich arbeite, verwendet Maven als Build-Tool. Ich kenne die grundlegenden Konzepte wie Profile, Pom Vererbung, Module, Plugins, Ziele, Phasen und so auf der Oberfläche, aber mir fehlt immer noch die wahre Handwerkskunst, um komplizierte Builds aus einer Stärke für verschiedene Umgebungen zu implementieren.Sollte ich Maven Master oder lernen, Gradle zu lernen

Soll ich nun Maven-Experte werden oder anfangen, Gradle zu lernen, anstatt alle technischen Nuancen von Maven zu enthüllen?

Ich sehe nicht, welchen Wert Gradle auf den Tisch bringt. Es ist programmgesteuert konfiguriert, aber könnte das tatsächlich böse sein? Ich habe in der Javascript Welt gearbeitet und Werkzeuge wie Gulp und Webpack benutzt. Die programmatische Konfiguration in diesen Tools war nur ein schreckliches Chaos und fehlte Konsistenz. Es war nicht möglich, sich ein klares Bild von der Konfiguration zu machen, da es dynamischer Code und kein statisches Dokument war. Wenn Sie eine Änderung vornehmen mussten, war es nicht so offensichtlich, wo diese Codezeile zu finden ist, die diese Funktionalität verarbeitet. Ein gut definiertes XML-Dokument ist selbstbeschreibend, organisiert und leicht zu bearbeiten.

Außerdem gibt es bei der programmgesteuerten Konfiguration eine höhere Änderung, um einen Fehler im Build selbst einzuführen. Wird es eine Zeit geben, in der Builds so komplex werden, dass es notwendig ist, die Build-Konfiguration des Projekts zu erstellen?

In Anbetracht dieser Aspekte, gibt es einen pragmatischen Grund, Gradle zu verwenden (anders als dem Trend folgend)?

+0

Von meinem Verständnis können Sie Maven und Gradle zusammen verwenden. Also fang vielleicht an, beides zu beherrschen. – n247s

Antwort

0

Ich sehe nicht, welchen Wert Gradle auf den Tisch bringt. Es ist programmgesteuert konfiguriert, aber könnte das tatsächlich böse sein? Ich habe in der Javascript Welt gearbeitet und Werkzeuge wie Gulp und Webpack benutzt. Die programmatische Konfiguration in diesen Tools war nur ein schreckliches Chaos und fehlte Konsistenz.

Der Unterschied ist: Javascript, Gulp und Webpack sind ment Anwendungen mit viel Funktionalität und hoher Komplexität zu bauen (OK, sie sind verwendet, das zu tun ...)

Gradle ist nur zu Steuern Sie den Build-Prozess, eine Skript-Umgebung wie Bash oder PowerShell, aber spezialisiert auf sein Feld.

So IMHO sollten Sie beginnen gradle lernen, aber Ihr Wissen über Maven halten ...

1

Wir Gradle vs. Maven für unser Unternehmen ausgewertet. Unsere Erfahrung:

Maven zwingt Sie, einen standardisierten Ansatz für einen Build zu verwenden. Der Vorteil ist, dass die Build-Skripte in Ihrem Unternehmen kohärenter sind und eher "überall sonst in der Branche". Der Hauptnachteil ist, dass es schwierig ist, benutzerdefinierte Anforderungen zu konfigurieren, die häufig aus älteren Ansätzen stammen, die Sie noch unterstützen müssen.

Aber es gibt auch wichtige Usability-Aspekte, da die IDE-Unterstützung für die beiden Build-Tools ziemlich unterschiedlich ist.