Come sviluppatore (principalmente applicazioni web basate su JVM), ho bisogno di utilizzare molti strumenti e servizi diversi, come Redis, RabbitMQ, MySQL, git, mercurial, ecc. Avendo lavorato in un ambiente Linux in cui tali strumenti sono solo un apt-get
di distanza, e un mondo Windows in cui ho appena eseguito quello che mi serve in una macchina virtuale VMWare Workstation (anche solo un apt-get
di distanza + overhead vm), sono un po 'perso ora che sono sperando di passare da Windows e nell'ecosistema Mac per la mia vita informatica.
Ho letto di MacPorts contro Fink vs. Homebrew e ho trovato tutto confuso su quale si adatta meglio alle mie esigenze, anche se penso che MacPorts sia l'opzione più flessibile delle tre.
Dato che sono abituato a gestire ciò di cui ho bisogno in una VM, tuttavia, c'è qualcosa contro il farlo quando si utilizza OS X? Quali sono i compromessi tra andare con MacPorts per installare le cose direttamente contro l'utilizzo di una macchina virtuale Ubuntu (tramite VMWare Fusion) per ospitare gli strumenti / servizi di cui ho bisogno?
In particolare, mi preoccupo dell'uso del disco, della manutenibilità e della facilità d'uso più di quanto mi interessi con le prestazioni. In altre parole, questo è ciò a cui tengo (in ordine di preferenza):
- Facilità d'uso - Quanto è facile svilupparsi su Mac e utilizzare gli strumenti / i servizi
- Utilizzo del disco - Quanto spazio su disco è occupato. I macbook più recenti utilizzano SSD e lo spazio è prezioso.
- Manutenibilità : quale lavoro è necessario per mantenere aggiornati i pacchetti, aggiungere nuovi pacchetti e rimuovere quelli vecchi
- Correntezza - Quanto aggiornati sono gli strumenti / servizi disponibili
- Prestazioni : velocità di esecuzione, servizi in particolare
Il mio istinto dice che l'installazione degli strumenti di sviluppo reali, come Mercurial, git, ecc. direttamente tramite il metodo consigliato dai progetti, e poi l'installazione dei componenti lato server come MySQL, Redis, RabbitMQ, ecc. in una VM è percorso migliore, ma quali sono i pro-contro nel fare questo contro qualcosa come MacPorts?
Nota: mi rendo conto che questa è una domanda piuttosto incentrata sulla programmazione, ma il problema centrale è che OS X è diverso da Windows e * nix quando si tratta di creare un ambiente di sviluppo e non sono sicuro come navigare in queste acque specifiche per OS X.