Rich OSI Framework X GUI?


6

Cosa consiglieresti per lo sviluppo OS X di un'applicazione grafica come quelle possibili in WPF?

Il mio background specifico è in Smalltalk & Java, ma attualmente lavoro principalmente in DHTML/.NET (ASP.NET/C#).

15

Cacao. Considerato da molti il ​​miglior framework applicativo di sempre. Il linguaggio è Objective-C, un linguaggio simile a SmallTalk che ha ispirato i creatori di Java.

In realtà, non v'è alcuna alternativa ragionevole al cacao per lo sviluppo di OS X, a meno che non si hanno esigenze specifiche come voler essere cross-platform.


1

io non sono sicuro di quello che WPF è, ma la maggior parte di sviluppo per la piattaforma OSX è fatto in Objective-C con cacao. Puoi usare le deprecate API di Carbon con altri linguaggi come Java, ma le nuove applicazioni per OSX dovrebbero essere sviluppate in Objective-C. Puoi iniziare con Apple's guide con XCode come IDE.


2

cacao è il quadro principale per utilizzare su Mac OS X. E 'quello che usa Apple, è quello che utilizza più nuovo sviluppo, ed è dove sono principalmente aggiunto nuove funzionalità.

Se arrivate da WPF, penso che si potrebbe trovare un bel po 'dei concetti in Cocoa familiare. (Nonostante il fatto che Cocoa sia solo un po 'più vecchio.) È costruito interamente intorno a MVC, ci sono notifiche di modifica delle proprietà e associazioni, c'è il supporto dell'animazione, c'è una struttura di gestione del persorso e degli oggetti grafici, e così via.

(Inoltre, si potrebbe desiderare di aggiungere "mac" ai tag.)


4

parte Interface Builder, che è incluso come parte degli strumenti Xcode, è anche possibile utilizzare QT, GTK +, AWT & SWING (per il tuo background Java), Tk, Squeak (per lo sfondo di Smalltalk), Scarpe (molto interessante piccolo toolkit Ruby GUI), FXRuby (più Ruby), wxWidgets, XULRunner e altri sono sicuro di aver dimenticato. Per le app più native, tuttavia, Interface Builder è la soluzione migliore.


2

Con il tuo background Java, non farti sviare dal già criptato ponte Cocoa-Java. All'inizio della storia di OS X, Apple forniva un'interfaccia Java (laboriosamente gestita manualmente) per le librerie Cocoa. A causa delle differenze semantiche tra Java e Objective-C, molte delle più potenti funzionalità di Cocoa, tra cui il valore Key-binding (su cui sono costruite molte altre caratteristiche) è molto difficile, portando alla divergenza delle funzionalità di Objetive-C e Java e l'eventuale deprecazione del ponte. Tutto lo sviluppo di Cocoa è fatto meglio con Objective-C o uno dei tanti ponti (generati automaticamente) in linguaggi dinamici come Python o Ruby.

Con il tuo background in smalltalk, mi aspetto che potresti raccogliere Objective-C in un giorno o due.


0

Per dirla in modo diverso rispetto ai poster precedenti: se non stai progettando la tua interfaccia in InterfaceBuilder e manipolandola con Objective-C, allora ti ritroverai con un'applicazione che non guarda, sente, recita, o funziona come un'applicazione Macintosh, e si attaccherà agli utenti come un pollice dolente. Sarà un'esperienza spiacevole per l'utente rispetto ad altre app, e probabilmente vorranno un'applicazione diversa a causa di esso.

toolkit come QT sono accettabili se l'applicazione utilizza già QT e si desidera la porta in fretta, ma se si sta scrivendo una nuova applicazione (o di una GUI separato) poi scrivere in Cocoa usando objC o objC++.


0

Si potrebbe dare un'occhiata a PyObjc che è un ponte tra il linguaggio di programmazione Python e Objective-C, compresi i collegamenti per i componenti di Mac OS X, incluso Cocoa.


0

Con uno sfondo Smalltalk, io consiglierei di cacao dritto e Objective-C. Tuttavia, se sei inclinato verso un linguaggio dinamico, lo RubyCocoa ti consente di utilizzare Ruby, che ritengo sia più facile da reperire rispetto a Python.