2 Stimmen

Geschmacksrichtungen vs. Bibliotheken?

Ich habe gerade die Präsentation von Xavier Ducrohet über Gradle zu Ende geschaut und werde jetzt mit den Varianten anfangen. Ich möchte verstehen, welche großen Vorteile sie gegenüber Bibliotheken haben?

Ich weiß, dass eine Android-Bibliothek ihr eigenes Manifest / Ressourcen und natürlich Quellen haben kann, und das gilt auch für Varianten. Aber was gibt es noch? Warum sollte ich sie nutzen?

9voto

Bryan Herbst Punkte 65460

Geschmäcker und Bibliotheken sind nicht wirklich vergleichbar.

Eine Bibliothek ist in der Regel ein eigenständiges Funktionsstück, das Sie in mehreren Projekten wiederverwenden können. Sie könnte eine Funktion bereitstellen, die Sie häufig verwenden, oder eine benutzerdefinierte Ansicht bereitstellen, die Sie in vielen Anwendungen verwenden.

Produktgeschmäcker sind leicht unterschiedliche Versionen derselben Anwendung. Das häufigste Beispiel ist eine kostenpflichtige vs. kostenlose App- mit Produktgeschmäckern können Sie eine einzige Codebasis haben, die beide Versionen generiert. Ein weiteres vereinfachtes Beispiel wäre eine App, die in zwei Farben verfügbar ist- Sie könnten einen roten Produktgeschmack und einen blauen Produktgeschmack haben. In diesem Fall könnte der einzige Unterschied ein einzeiliger Farbstring in Ihren Ressourcen sein.

Wo ich denke, dass die Verwirrung herkommt, ist, dass Sie eine Bibliothek verwenden können, um die Ziele des Produktgeschmackssystems zu erreichen. Das heißt, Sie können Ihre gemeinsame Funktionalität nehmen und in einem Bibliotheksprojekt platzieren, das Sie in allen Versionen Ihrer Anwendung einschließen. Dies ist eine unordentliche Art und Weise, um das Ziel zu erreichen, zwei Apps mit nur geringfügigen Unterschieden zwischen ihnen zu haben, und wenn dies Ihr Ziel ist, sollten Sie stattdessen Produktgeschmäcker verwenden.

Aus der Gradle Plugin Benutzeranleitung:

Wenn die Antwort auf die Frage „Ist dies dieselbe Anwendung?“ Ja lautet, ist dies wahrscheinlich der richtige Weg gegenüber Bibliotheksprojekten.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X