2009-02-28 6 views
5

Da ich von einer Microsoft-Entwicklungs-Backgroup komme, bin ich etwas verwirrt darüber, welche Entwicklungssprachen/Umgebungen auf einem Mac verfügbar sind. Gibt es C# ähnliche Sprachen auf dem Mac außer Java, die ich ebenfalls berücksichtigen sollte? Was bevorzugen MS zu OSX-Konvertieren und warum? Ich bin nach einer Business-Level-Programmierstrategie und nicht Gaming oder Grafik, so dass die Anwendungsleistung nicht der Gesamttreiber für meine Wahl der Plattform ist.Developing on Apple (neue Plattform)

Antwort

3

Werfen Sie einen Blick auf die Mono Projekt

Zitat von wikipedia

Mono ist ein Projekt von Novell (vormals von Ximian) führte ein Ecma-Standard kompatibel, .NET-kompatiblen Satz von Tools zu erstellen unter anderem einen C# -Compiler und eine Common Language Runtime. Mono kann unter Linux-, BSD-, UNIX-, Mac OS X-, Solaris- und Windows-Betriebssystemen ausgeführt werden.

Aber ich empfehle wirklich den Cocoa Weg gehen und Aaron Hillegass Buch "Cocoa Programming für Mac OS X"

12

Objective-C mit der Cocoa-API erhält, ist der Weg zu gehen. Sobald Sie diese nicht mehr haben, gibt es auch Verbindungen zwischen Ruby und Python zur Cocoa API. Ich würde sehr empfehlen, zunächst die Cocoa-API mit Objective-C zu lernen.

0

über einen entsprechenden Hinweis,

Silverlight ist eine web-basierte "flash-like" Technologie auf Windows und Mac unterstützt und Sie können in den meisten .net Sprachen kodieren.

2

Objective-C, C, C++, Java, Ruby, Python, Php, ... Es gibt eine große Auswahl an Sprachen/Entwicklungsumgebungen, einschließlich C# über Mono, wie @epatel sagt. Ich würde sagen, dass die Wahl der Sprache mehr davon abhängt, was Sie entwickeln, als auf welcher Plattform Sie herkommen.

0

C# ist für OS X verfügbar, solange Sie Mono verwenden. Für nicht-UI und Web-Sachen sollte es gut funktionieren.

Für Desktop-App-Entwicklung, verwende ich REALbasic. Die Syntax und das Objektmodell sind Visual Basic sehr ähnlich.

Für Business-Level-Programmierung, ich bin nicht sicher, ob Cocoa/Objective-C die produktivste Sache sein wird, mit zu beginnen; es ist ziemlich anders als .NET und/oder Java.

5

Ich habe auch gerade einen Mac gekauft und komme aus einem .NET-Entwicklungshintergrund. Ich habe viele verschiedene Sprachen und Umgebungen ausprobiert. Wenn Sie OS X Desktop-Software schreiben, müssen Sie Cocoa und Interface Builder verwenden. IB hat kein Windows-Gegenstück, weil es so stark in Cocoa eingebunden ist. Das bedeutet, dass Sie Cocoa gleichzeitig lernen müssen, und es ist nicht einfach, Code zu betrachten.

Objective-C ist die Muttersprache des Mac und ist nicht so raffiniert wie C#. Es dauert eine Weile, bis Sie es flüssig lesen können, da das Aufrufen von Funktionen anders aussieht. Die Verwendung von Python oder Ruby anstelle von Objective-C fügt nur eine Ebene der Komplexität hinzu, bis Sie Cocoa lernen, aber danach scheint es ziemlich praktikabel. C# über Mono funktioniert gut, aber ich denke nicht, dass die gesamte Cocoa # -Brücke implementiert ist. Die C# -Tools sind deutlich schlechter als Visual Studio, und MonoDevelop ist auf dem Mac extrem hässlich. Ich entschied, dass wenn ich diesen Weg gehen möchte, ich Objective-C lernen muss, aber eine andere Richtung eingeschlagen habe.

Wenn Sie eine Website schreiben, haben Sie viel mehr Flexibilität.Die gesamte Python-und Ruby-Kulturen sind verfügbar, obwohl es einige Schluckauf mit der Installation einiger Python-Bibliotheken gibt. Dies ist die Route, die ich genommen habe, weil ich einige grundlegende Python-Erfahrung hatte und die Fähigkeiten fast 100% kompatibel mit Linux sind. iTerm ist ein besserer Kunde als Terminal. Ich mochte die meisten der Code-Editoren, die ich ausprobierte, nicht und begann mit Smultron, der nicht viel mehr als ein sehr kompetenter Texteditor mit Syntax-Hervorhebung ist. Es gibt definitiv Tonnen von Optionen.

Egal, wie Sie es angehen, Sie werden viel Zeit mit dem Lernen verbringen. Ich bin ständig über Python-Syntax gestolpert, aber ich bin endlich gut darin. Die SQLAlchemy (Python ORM) -Dokumente haben fast immer ein offenes Browserfenster. Ich habe auch in die Kugel gebissen und begann Vim (speziell MacVim) zu benutzen, was eigentlich eine lustige Sache ist zu lernen, weil es immer einen anderen Befehl zu geben scheint, der genau das tut, was Sie wollen. (Zum Beispiel habe ich müde von einer Linie gehen, $ Schlagen bis zum Ende gehen, ein Schlagen anzuhängen, dann geben Sie schlugen eine neue Zeile zu beginnen, damit ich gegoogelt und fand heraus, ich kann schlagen o gerade.)

1

Objective-C und Cocoa ist der richtige Weg. Ziemlich oft werden Entwickler das Missverständnis machen, dass Objective-c nicht "so detailliert" oder "wie fein abgestimmt" ist. Aber ich kann Ihnen versichern, es ist das Power-Haus hinter einigen der besten Apps in der Branche. Es gibt eine merkliche Lernkurve.

0

Ich würde Mono vergessen, es funktioniert nicht sehr gut. Slow, Buggy und system.drawing/forms funktionieren nicht ordnungsgemäß beim Verteilen.

Mit C# würde ich mit Monomac gehen. Sie greifen auf alle Mac-Apis aber in C# zu. Es ist wie ein halbes Haus. Statt Forms verwenden Sie NSWindow und anstelle von Steuerelementen verwenden Sie NSView. Anstatt zu zeichnen, verwenden Sie Grafikkontext. Der Nachteil ist die Dokumentation ist ein bisschen dünn und es kostet.