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
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"
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.
In una nota correlata,
Silverlight è una tecnologia web-based "flash-like" supportato su Windows e Mac e si può codificare in lingue più .net.
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.
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.
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.)
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.
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.
- 1. MonoTouch è una piattaforma valida per lo sviluppo di iPhone?
- 2. OpenCV su piattaforma integrata
- 3. Preferenze IDE per lo sviluppo Apple/iPhone?
- 4. Python è una piattaforma stabile per lo sviluppo di facebook?
- 5. Valutazione di Sharepoint vs ASP.NET come piattaforma di sviluppo
- 6. Qual è la piattaforma di sviluppo per Windows Phone 7
- 7. Buoni libri su Augmented Reality su piattaforma Android?
- 8. Come posso simulare Apple Watch per scopi di sviluppo?
- 9. Come connettere Apple TV con Mac per lo sviluppo?
- 10. Quali sono tutte le restrizioni di sviluppo Apple per iPhone
- 11. Sviluppo ARM su Linux
- 12. Sviluppo di app iOS su un hackintosh - posso rilasciarlo nell'app store di Apple?
- 13. . Programmazione Net su un computer Apple
- 14. Qualcuno ha usato CrossKylix per lo sviluppo di una vera piattaforma?
- 15. Come ottenere il carattere di nuova riga della piattaforma in JavaScript?
- 16. Vuoi imparare il porting di Linux su una piattaforma ARM
- 17. Come aggiungere un plugin su una sola piattaforma Ionic?
- 18. Node.JS Sviluppo su iOS?
- 19. sviluppo iPhone su PC
- 20. Apre automaticamente gli strumenti di sviluppo di Chrome quando viene aperta una nuova scheda/nuova finestra
- 21. sviluppo wordpress su linux e distribuzione su server windows
- 22. Come compilare un pacchetto di Golang su piattaforma Windows?
- 23. QWebView GeoLocation HTML5 su piattaforma Android
- 24. Sviluppo di applicazioni Windows su Linux?
- 25. Impossibile modificare il profilo di provisioning nella nuova interfaccia web Apple
- 26. Sviluppo per la nuova azione "Ascolta" in Android
- 27. QGraphicsItem rendering su Apple Retina Display
- 28. "apple-mobile-web-app-title" su Android
- 29. Come mostrare avviso su Apple Watch
- 30. sviluppatore di "Motore Taptic" su Apple Osservare