Il modo migliore per isolare il mio ambiente di sviluppo su OS X?

5

Qual è la migliore pratica corrente per configurare un ambiente di sviluppo su OS X?

Recentemente ho un nuovo Mac con OS X 10.10, Yosemite.

Ho familiarità con homebrew e dalla mia esperienza Linux, anche con VirtualBox e usando macchine virtuali senza testa. Tuttavia, conosco praticamente (il gioco di parole) niente su Docker.

Sono uno sviluppatore e ho recentemente iniziato a imparare Node.js e Meteor. Ho lavorato in passato principalmente con Python su macchine Linux. Tuttavia, dal 2013 ho avuto una pausa autoimposta dallo sviluppo quotidiano mentre tornavo a scuola per ottenere un nuovo grado.

Molto è cambiato da quando ho lasciato il lavoro di sviluppo a tempo pieno nel 2013 (avrei dovuto fare un lavoro migliore per rimanere al top delle cose). Ora c'è Docker, ho sentito parlare di Ansible per la prima volta, Homebrew è ancora in circolazione, nessuno sembra più usare MacPorts, e mi sento completamente perso per quanto riguarda il modo migliore di configurare la mia nuova macchina per Node, Sviluppo di Python e C / C ++.

La mia preoccupazione principale, oltre a essere libera di giocare e sviluppare app in Node, Python e C / C ++, è che il mio ambiente di sviluppo non deve interferire con il mio sistema operativo e la vita di calcolo quotidiana a tutti. Ad esempio, quando ho ottenuto il mio primo Mac nel 2009, ho usato homebrew per installare Python e diversi pacchetti, e ad un certo punto il mio sistema si è in qualche modo incasinato con tutto il cruft che ho messo su di esso.

Voglio assolutamente evitarlo. Se questo significa usare una VM o un container (non sono sicuro di quale sia la differenza, btw) per fare tutto il mio sviluppo, così sia, non importa quanto sia scomodo. Preferisco mantenere pulito il mio sistema OS X.

D'altra parte, se c'è un modo per svilupparsi direttamente sulla mia macchina OS X, mentre la pulisco e senza permettere che nessun software che io installi interferisca con le mie "normali" app e usi quotidiani, sarebbe carino.

Qualcuno può offrire suggerimenti / consigli? Ho cercato su google diverse varianti della query "os x development environment [language]" e ho usato strumenti di ricerca per filtrare tutte le voci tranne recenti, ma non ho ancora trovato un articolo sull'argomento di cui sono fiducioso.

    
posta tommytwoeyes 03.08.2015 - 00:13
fonte

2 risposte

1

Non ci sarà una risposta corretta alla tua domanda. Molto dipende dalle tue preferenze e esigenze di sviluppo.

Gli sviluppatori che lavorano su software Mac o iOS sono tenuti, da Apple, a farlo senza utilizzare una macchina virtuale.

Se stai distribuendo su Linux o su una piattaforma non Mac, probabilmente è consigliata una macchina virtuale.

Per testare il tuo software su altre versioni di OS X, una macchina virtuale può essere utile.

Lingue compilate

Per sviluppare con C, C ++, Objective-C e Swift utilizzare Xcode . Xcode è lo strumento di sviluppo di Apple e non danneggerà l'installazione di OS X.

Script e lingue dinamiche

Per sviluppare con Python o un altro linguaggio di scripting, considera l'utilizzo di uno strumento che consente l'installazione di più versioni della tua lingua.

L'obiettivo è installare e utilizzare una versione della tua lingua isolata dai binari forniti da OS X. Gli aggiornamenti possono cambiare l'edizione fornita da OS X, ma il tuo ambiente rimarrà invariato.

Homebrew e MacPorts

Dovresti essere in grado di utilizzare entrambi homebrew e MacPorts senza rischi per l'installazione di OS X. Entrambi i gestori di pacchetti cercano di isolare le loro installazioni e semplificano la rimozione di software indesiderato o problematico.

Se riscontri problemi, registra i bug con gli sviluppatori.

A partire dal 2015, entrambi i gestori di pacchetti sono stati attivamente sviluppati:

risposta data 03.08.2015 - 11:18
fonte
0

Un'altra opzione che è ora disponibile su App Store è Veertu. Lo sto usando e funziona perfettamente. La versione gratuita mi consente di eseguire più linux e finestre isolate Vms e anche una finestra mobile.

    
risposta data 17.03.2016 - 08:11
fonte

Leggi altre domande sui tag