Was ist die aktuelle Best Practice für die Einrichtung einer Entwicklungsumgebung unter OS X?
Ich habe vor kurzem einen neuen Mac mit OS X 10.10, Yosemite, bekommen.
Ich bin vertraut mit Homebrew und aus meiner Linux-Erfahrung auch mit VirtualBox und der Verwendung von (headless) VMs. Allerdings weiß ich praktisch (Wortspiel beabsichtigt) nichts über Docker.
Ich bin Entwickler und habe vor kurzem begonnen, Node.js und Meteor zu lernen. Ich habe in der Vergangenheit hauptsächlich mit Python auf Linux-Rechnern gearbeitet. Seit 2013 habe ich jedoch eine selbst auferlegte Pause von der täglichen Entwicklung, während ich zurück in die Schule gehe, um einen neuen Abschluss zu machen.
Seit ich 2013 aus der Vollzeit-Entwicklungsarbeit ausgestiegen bin, hat sich viel verändert (ich hätte besser den Überblick behalten sollen). Jetzt gibt es Docker, ich höre zum ersten Mal von Ansible, Homebrew gibt es immer noch, niemand scheint mehr MacPorts zu verwenden, und ich fühle mich völlig verloren, wenn es darum geht, herauszufinden, wie ich meine neue Maschine optimal für Node einrichten kann. Python- und C/C++-Entwicklung.
Abgesehen davon, dass ich frei mit Node, Python und C/C++ spielen und Apps entwickeln kann, ist mein Hauptanliegen, dass meine Entwicklungsumgebung mein Betriebssystem und das tägliche Computerleben überhaupt nicht beeinträchtigen darf . Als ich zum Beispiel 2009 meinen ersten Mac bekam, habe ich Homebrew verwendet, um Python und mehrere Pakete zu installieren, und irgendwann war mein System mit all dem Mist, den ich darauf gemacht habe, etwas durcheinander.
Das möchte ich unbedingt vermeiden. Wenn das bedeutet, eine VM oder einen Container zu verwenden (ich bin mir übrigens nicht sicher, was der Unterschied ist), um meine gesamte Entwicklung durchzuführen, dann sei es so, egal wie unpraktisch es ist. Ich würde lieber mein OS X-System sauber halten.
Auf der anderen Seite, wenn es eine Möglichkeit gäbe, direkt auf meinem OS X-Rechner zu entwickeln, ihn sauber zu halten und ohne zuzulassen, dass Software, die ich installiere, meine "normalen" täglichen Apps und meine Nutzung stört, wäre das schön .
Kann jemand irgendwelche Vorschläge/Ratschläge geben? Ich habe mehrere Variationen der Abfrage „OS X-Entwicklungsumgebung [Sprache]“ gegoogelt und Suchwerkzeuge verwendet, um alle außer den neuesten Einträgen herauszufiltern, aber ich habe noch keinen Artikel zu diesem Thema gefunden, auf den ich mich verlassen kann.
Es wird keine richtige Antwort auf Ihre Frage geben. Vieles hängt von Ihren Vorlieben und Entwicklungsanforderungen ab.
Von Entwicklern, die an Mac- oder iOS-Software arbeiten, wird von Apple erwartet, dass sie dies tun, ohne eine virtuelle Maschine zu verwenden.
Wenn Sie auf Linux oder einer Nicht-Mac-Plattform bereitstellen, wird wahrscheinlich eine virtuelle Maschine empfohlen.
Um Ihre Software auf anderen Versionen von OS X zu testen, kann eine virtuelle Maschine hilfreich sein.
Um mit C, C++, Objective-C und Swift zu entwickeln, verwenden Sie Xcode . Xcode ist Apples eigenes Entwicklungstool und wird Ihrer Installation von OS X keinen Schaden zufügen.
Um mit Python oder einer anderen Skriptsprache zu entwickeln, sollten Sie ein Tool verwenden, das die Installation mehrerer Versionen Ihrer Sprache ermöglicht.
Ziel ist es, eine Version Ihrer Sprache zu installieren und zu verwenden, die von den von OS X bereitgestellten Binärdateien isoliert ist. Updates können die von OS X bereitgestellte Edition ändern, aber Ihre Umgebung bleibt unverändert.
Sie sollten in der Lage sein, sowohl Homebrew als auch MacPorts ohne Risiko für Ihre Installation von OS X zu verwenden. Beide Paketmanager versuchen, ihre Installationen zu isolieren, und beide vereinfachen das Entfernen unerwünschter oder problematischer Software.
Wenn Sie auf Probleme stoßen, melden Sie Fehler bitte bei den Entwicklern.
Ab 2015 werden beide Paketmanager aktiv weiterentwickelt:
Eine weitere Option, die jetzt im App Store verfügbar ist, ist Veertu. Ich benutze es und es funktioniert perfekt. Die kostenlose Version ermöglicht es mir, mehrere isolierte Linux- und Windows-VMs sowie Docker auszuführen.
Verwenden Sie VirtualBox und Vagrant mit einer kurzen Nachinstallation und Sie haben eine großartige isolierte Entwicklungsumgebung.
Normalerweise verwende ich die Red Hat-Linux-Familie, aber damit Concourse CI funktioniert, muss ich Ubuntu verwenden.
Anforderungen:
Schritte:
fd0