Sono uno sviluppatore Java, sviluppo di applicazioni Web per l'e-commerce e l'editoria e ho utilizzato esclusivamente un Mac per molti anni.
Essendo basato su Unix (una forma di Free BSD, per essere precisi), MacOS ha tutto ciò che avresti già familiarità con lo sviluppo Java su altre piattaforme tipo Unix.
Ha bash e tutti gli strumenti Unix a linea di comando. Ha il supporto per subversion integrato, e Apache è installato di default. Apple crea e distribuisce uno stack completo JRE e JDK specifico per MacOS. Puoi scaricare e installare qualsiasi altra cosa di cui hai bisogno.
Personalmente utilizzo Eclipse, JBoss e Tomcat, ANT e Maven e MySQL - con vari plugin e librerie di terze parti, e non ho avuto problemi.
I maggiori vantaggi, tuttavia, nell'usare un Mac per lo sviluppo sono
-
puoi eseguire i "due grandi": Microsoft Office e Adobe Photoshop. Non sono sicuro di quali siano i tuoi sentimenti in proposito, ma a volte è importante utilizzare le app effettive piuttosto che comportarsi allo stesso modo in modo da ottenere piena fedeltà e compatibilità con ciò che tutti gli altri membri della tua organizzazione potrebbero utilizzare.
-
ci sono così tante app e utility Mac-native ben progettate e ben pensate che contribuiscono ad aumentare la tua produttività. (dopo tutto, la programmazione è solo una parte del mio giorno professionale)
L'unica cosa negativa che posso pensare è che molti prodotti "enterprise" che fanno parte dello stack di uno sviluppatore di applicazioni Java, spesso hanno un componente nativo anche se la maggior parte del prodotto è Java. Spesso, il componente nativo funziona solo su Linux e Windows. Tuttavia, il modo per aggirare questo è quello di eseguire macchine virtuali. Spesso eseguo componenti core non nativi Mac in una macchina virtuale Linux utilizzando VMWare Fusion.
Inoltre, Java non è un cittadino di prima classe su Mac. Quando Apple è uscita per la prima volta con Xcode e Cocoa, ha iniziato a supportare Objective-C e Java come linguaggi di pari livello, ma nel tempo ha rimosso o ridotto il supporto per Java. Per me, questo è un po 'deludente, ma in realtà non è diverso da Windows o Linux (non è possibile scrivere applicazioni native di prima classe su entrambi utilizzando il linguaggio Java). È solo che sono troppo vecchio e troppo impegnato per essere in grado di raggiungere Objective-C!