Wenn wir über spezielle Läufer und Web -Build -Systeme hinausgehen möchten, denken wir wahrscheinlich an die ursprüngliche Marke. Make ist eine ziemlich einfache, aber leistungsstarke Anwendung, die einem klaren und prägnanten Design folgt.
In diesem Artikel werden wir uns mit anderen beliebten Bausystemen ansehen, die Ihren Anforderungen noch besser entsprechen als herkömmliche Lösungen. Die Liste ist von Natur aus weit davon entfernt, vollständig abgeschlossen zu sein, aber alles hier ist aufgrund ihrer Merkmale, Auswirkungen oder Einzigartigkeit.
Die anfängliche Version von Make wurde für das UNIX -Betriebssystem geschrieben, später wurden jedoch andere Implementierungen und Umschreibungen aufgetreten, einschließlich der GNU -Marke. Es ist erforderlich, um den Linux -Kernel zu bauen. Diese Implementierung bietet alles, was die Originalversion hatte, zusammen mit zusätzlichen Erweiterungen und Verbesserungen.
Das grundlegende Konzept besteht darin, eine spezielle Datei mit dem Namen „Makefile“ zu schreiben, in der die Regeln für die Erstellung einer Anwendung beschrieben werden. Jede Regel kann auf andere gegebene Regeln beruhen und eine Hierarchie bilden. Eine Regel besteht normalerweise in Form eines Build -Ziels oder einer Ausgabedatei. Die Idee ist, dass eine einzelne Regel definiert, wie eine Ausgabedatei aus einer oder mehreren erforderlichen Eingabedateien erstellt wird.
Das Konzept mag einfach klingen, aber speichert es, dass Entwickler ihre eigenen Systeme erstellen müssen, um zu bewerten, ob eine Ausgabedatei erstellt werden muss oder nicht. Make gibt uns eine Abstraktionsebene, die die erforderlichen Überprüfungen automatisch durchführt. Jede Abhängigkeit für eine Regel wird implizit überprüft, um festzustellen, ob sich die Eingabedatei seit der letzten Ausgabedateierstellung geändert hat. Dies beschleunigt die Software -Erstellungsprozesse, indem redundante Zusammenstellungen weggelassen werden.
Einer der frühesten Nachfolger war CMake, wobei C für plattformübergreifende „C“ stand. Es verfügt über eine echte plattformübergreifende Lösung zum Erstellen von Software. Daher sind es in Projekten, die auf verschiedenen Plattformen eingesetzt werden sollten, hauptsächlich beliebt. Die Konfigurationsdateien können mit einer Skriptsprache geschrieben werden, die eine große Liste von Befehlen enthält.
cmake allein kann keinen Build -Prozess ausführen. Es erstellt eine plattformspezifische Datei, die unter Linux ein Makefile wäre. Unter Windows würde eine visuell -Studio -kompatible Projektdatei erstellt, aber es gibt auch andere Optionen wie die Verwendung eines Makefile. CMake ist jedoch weit mehr als nur eine Schicht oben auf der ursprünglichen Marke. Es kann auch automatisch Abhängigkeiten in Sprachen wie C und Java erkennen. Dies macht den Build -Prozess zuverlässiger.
Eine weitere coole Funktion, die mit CMake geliefert wird, ist die Fähigkeit, Pakete in verschiedenen Formaten zu erstellen. Wenn wir an die Bereitstellung denken, klingt das Erstellen eines Pakets nach dem letzten und wahrscheinlich auch dem ärgerlichsten. Eine vordefinierte Lösung für den Prozess gibt uns viel Komfort.
Warum nicht ein Build -Tool speziell für eine Programmiersprache erstellen? Wir könnten Tools wie Msbuild oder andere benennen, die als solchen Versuch angesehen werden können. Aber was ist, wenn wir noch einen Schritt weiter gehen und diese Programmiersprache auch für die Konfigurationsdateien verwenden möchten? Betreten Sie die Welt des Rechens.
Rake war nicht das erste Build -Tool, das eine vorhandene Skriptsprache zum Einrichten des Build -Prozesses verwendete. Trotzdem sind seine Auswirkungen unbestreitbar. Es ist der de facto Standard für Ruby -Entwickler, und seit Ruby 1.9 ist Rake auch Teil der Standardbibliothek.
"Was ist der Hauptvorteil des Rechens?" Sie könnten fragen. Zunächst kann es standardmäßig Ruby -Quelldateien verarbeiten. Darüber hinaus können Ruby -Entwickler es sofort verwenden, da keine neue Sprache oder Framework erforderlich ist. Nur die API des Werkzeugs ist neu, aber der Rest ist vertraut und folgt den bekannten Mustern und Prinzipien. Schließlich verwendet Rake Rubys erweitertes Muster -Matching, um regelmäßige Ausdrücke in Filter für Regeln zu bilden. Weitere Informationen zum Rake finden Sie in diesem Artikel auf SitePoint.
Es gibt Dutzende anderer Build -Tools, die dem Ansatz des Rechens folgen, aber eine, die ich hervorheben möchte, ist falsch. Der Grund ist einfach: Es verwendet eine leistungsstarke funktionale Sprache, die Zugriff auf das gesamte .NET -Framework hat. Um die Idee hinter Fake vollständig zu verstehen, ist es wichtig zu wissen, dass eine Fälschung zu einer Zeit geschaffen wurde, in der domänenspezifische Sprachen (DSLs) die ultimative Waffe zu sein schienen.
Die Grundprinzipien der Fälschung sind Jake wahrscheinlich sehr ähnlich. Was Fälschungen von den Wettbewerbern unterscheidet, ist die Verwendung des F# Rohroperators. Dieser Bediener verleiht der gesamten Build -Konfiguration eine fließende Note. Die Integration mit (.NET) -Nit-Testing-Frameworks fügt Tests als entscheidender Bestandteil des (Post-) Build-Prozesses hinzu.
Ein Build -Tool, der in JavaScript für die node.js -Umgebung geschrieben ist, klingt nach einer guten Idee. Da Node.js auf verschiedenen Plattformen ausgeführt wird, wird das Build -Tool auch auf diesen Plattformen ausgeführt. Darüber hinaus erhalten wir die Vorteile einer schnellen Ausführung, gleichzeitigen Rückrufe und einem großartigen Debugging -Erlebnis.
Jake, das ich in meinem ersten Artikel über SitePoint besprochen habe, folgt dem gleichen Regel-Abhängigkeits-Konzept, das von Make verwendet wird, aber mit dem Muster-Matching wie in Rake gewürzt ist. Darüber hinaus verfügen wir über die Verpackungsfähigkeiten, die uns helfen können, Bündel für die Verteilung zu erstellen, und parallele Builds werden unterstützt.
Heutzutage haben wir eine Vielzahl von Möglichkeiten für unsere Anwendungsaufbauprozesssoftware. Obwohl Make nach wie vor das am häufigsten verwendete Programm zur Automatisierung von Build -Prozessen in einigen Kontexten ist, bieten andere Anwendungen interessante Funktionen, die unsere gewünschten Aufgaben erheblich vereinfachen können.
Ein weiterer wichtiger Faktor ist die Vertrautheit mit der verwendeten Programmiersprache. Zum Beispiel sollte ein Team, das aus JavaScript -Entwicklern besteht, mit Jake ziemlich vertraut sein. Es ist definitiv wichtig, dass jedes Teammitglied in der Lage ist, den Build -Prozess nach Bedarf zu lesen, zu verstehen und sogar zu ändern.
Es ist unsere Aufgabe, zu entscheiden, welches Instrument zu berücksichtigen ist, und dieser Artikel hätte Sie davon überzeugen sollen, dass es sich lohnt, mehrere Kandidaten zu betrachten, bevor Sie entscheiden, welches Tool Sie verwenden sollten, da sie alle etwas Einzigartiges zu bieten haben.
Was ist Ihr Lieblings -Build -System? Haben Sie weitere Empfehlungen?
Kann ich mehrere Build -Systeme in einem einzelnen Projekt verwenden? Mehrere Build -Systeme in einem einzigen Projekt. Dies kann jedoch Komplexität verleihen und es schwieriger zu verwalten. Es ist im Allgemeinen am besten, ein Build -System auszuwählen, das zu Ihren Anforderungen entspricht und daran festhält.
Wie lerne ich, ein neues Build -System zu verwenden? Verwenden Sie es in einem Projekt. Beginnen Sie mit einem einfachen Projekt und erhöhen Sie die Komplexität nach und nach, wenn Sie sich mit dem System wohler fühlen. Sie können auch viele Tutorials und Leitfäden online finden, die Ihnen helfen können, loszulegen. Die Mitte eines Projekts, aber es kann ein komplexer und zeitaufwändiger Prozess sein. Sie müssen Ihre Build -Skripte neu schreiben und möglicherweise Änderungen an Ihrem Code vornehmen. Es ist im Allgemeinen am besten, zu Beginn eines Projekts ein Build -System zu wählen und dabei zu bleiben.
Das obige ist der detaillierte Inhalt vonMachen, Fälschung, CMake, Rake oder Jake: So wählen Sie das richtige Build -System aus. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!