2009-02-28 24 views
5

Proveniente da un backgruppo di sviluppo Microsoft Sono un po 'confuso su quali linguaggi di sviluppo/ambienti sono disponibili su un Mac. Ci sono linguaggi simili a C# da sviluppare con Mac oltre a Java che dovrei considerare? Cosa preferiscono i convertitori da MS a OSX e perché? Sto seguendo una strategia di programmazione a livello aziendale e non di gioco o grafica, quindi le prestazioni delle applicazioni non sono il driver generale per la mia scelta di piattaforma.Sviluppo su Apple (nuova piattaforma)

risposta

3

Dai un'occhiata alla progetto Mono

Citazione di wikipedia

Mono è un progetto guidato da Novell (precedentemente da Ximian) per creare uno standard Ecma set compatibile, NET-compatibile di strumenti , tra cui, tra gli altri, un compilatore C# e un Common Language Runtime. Mono può essere eseguito su sistemi operativi Linux, BSD, UNIX, Mac OS X, Solaris e Windows.

Ma Consiglio vivamente andare il percorso di cacao e ottenere Aaron Hillegass libro "Cocoa Programming for Mac OS X"

12

Objective-C con l'API Cocoa è la strada da percorrere. Una volta eliminati, ci sono anche ponti tra Ruby e Python per l'API Cocoa. Consiglio vivamente di imparare inizialmente l'API Cocoa con Objective-C.

0

In una nota correlata,

Silverlight è una tecnologia web-based "flash-like" supportato su Windows e Mac e si può codificare in lingue più .net.

2

Objective-C, C, C++, Java, Ruby, Python, Php, ... Ci sono molte scelte di linguaggi/ambienti di sviluppo da usare, incluso C# via Mono come dice @epatel. Direi che la scelta della lingua dipende più da cosa si sta sviluppando che dalla piattaforma da cui vieni.

0

C# è disponibile per OS X, a condizione che si desideri utilizzare Mono. Per cose non UI e web dovrebbe funzionare bene.

Per lo sviluppo di app desktop, utilizzo REALbasic. La sintassi e il modello a oggetti sono molto simili a Visual Basic.

Per la programmazione aziendale, non sono sicuro che Cocoa/Objective-C sarà la cosa più produttiva da cui partire; è molto diverso da .NET e/o Java.

5

Ho appena acquistato un Mac e provengo da uno sfondo di sviluppo .NET. Ho provato un sacco di lingue e ambienti diversi. Se stai per scrivere software desktop OS X, avrai bisogno di usare Cocoa e Interface Builder. IB non ha una controparte Windows perché è così pesantemente legata a Cocoa. Ciò significa che dovrai imparare Cocoa contemporaneamente, e non è facile da fare guardando il codice.

Objective-C è la lingua nativa del Mac e non è così raffinata come C#. Ci vuole un po 'prima che tu possa leggerlo fluentemente perché chiamare le funzioni sembra diverso. L'uso di Python o Ruby invece di Objective-C aggiunge solo un livello di complessità fino a quando non si impara Cocoa, ma dopo questo sembra abbastanza utile. C# via Mono funziona bene, ma non penso che l'intero bridge Cocoa # sia implementato. Gli strumenti C# sono di qualità molto inferiore rispetto a Visual Studio e MonoDevelop è estremamente brutto su Mac. Ho deciso che se voglio seguire questa strada ho bisogno di imparare Objective-C, ma ho preso una direzione diversa.

Se stai scrivendo un sito web, hai molta più flessibilità.Sono disponibili le intere culture Python e Ruby, sebbene ci siano alcuni problemi nell'installare alcune librerie Python. Questa è la strada che ho intrapreso perché ho avuto alcune esperienze base su Python e le competenze sono quasi al 100% compatibili con Linux. iTerm è un client migliore di Terminal. Non mi piaceva la maggior parte degli editor di codice che ho provato e ho iniziato con Smultron che non è molto più di un editor di testo molto competente con l'evidenziazione della sintassi. Ci sono sicuramente tonnellate di opzioni.

Non importa come ci si avvicina, passerai molto tempo a imparare. Ho costantemente inciampato sulla sintassi di Python, ma alla fine sto migliorando. I documenti SQLAlchemy (Python ORM) hanno quasi sempre una finestra aperta del browser. Ho anche morso il proiettile e ho iniziato a usare Vim (MacVim in particolare), che è in realtà una cosa divertente da imparare perché sembra che ci sia sempre un altro comando che fa esattamente quello che vuoi. (Ad esempio, mi sono stancato di andare a una linea, colpendo $ per andare alla fine, colpendo a per aggiungere, quindi premi invio per iniziare una nuova riga quindi ho cercato su Google e ho scoperto che posso semplicemente o.)

1

Objective-C e Cocoa sono la strada da percorrere. Molto spesso gli sviluppatori faranno l'equivoco che Objective-c non è "come dettagliato", o "come messo a punto". Ma posso assicurarti che è la centrale elettrica dietro alcune delle migliori app del settore. C'è una curva di apprendimento evidente.

0

Vorrei dimenticare mono, non funziona molto bene. I file lenti, con errori e system.drawing/non funzionano correttamente quando si distribuiscono.

Con C# vorrei andare con monomac. Si accede a tutti i macapis ma in C#. È come una casa a metà strada. Invece di moduli si utilizza NSWindow e invece di controlli si utilizza NSView. Invece di disegnare usi il contesto grafico. Il rovescio della medaglia è che la documentazione è un po 'sottile e costa.

Problemi correlati