/ / Rich GUI OS X Frameworks? - wpf, interfaccia utente, macos, framework

Richici OS X Frameworks? - wpf, interfaccia utente, macos, framework

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

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

risposte:

15 per risposta № 1

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 esiste un'alternativa ragionevole a Cocoa per lo sviluppo di OS X, a meno che tu non abbia esigenze specifiche come voler essere multipiattaforma.


4 per risposta № 2

A parte Interface Builder che è incluso comeparte degli strumenti Xcode, puoi anche usare QT, GTK +, AWT e SWING (per lo sfondo 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 averlo dimenticato. Per le app più native, tuttavia, Interface Builder è la soluzione migliore.


2 per risposta № 3

Il cacao è la struttura principale da utilizzare su Mac OS X. È ciò che usa Apple, è ciò che la maggior parte dei nuovi usi di sviluppo, ed è dove vengono aggiunte principalmente nuove funzionalità.

Se vieni da WPF, penso che potresti trovarealcuni concetti di Cocoa sono familiari. (Nonostante il fatto che Cocoa sia solo un po 'più vecchio.) È costruito interamente intorno a MVC, ci sono notifiche di modifica delle proprietà e legami, il supporto dell'animazione c'è, c'è una struttura di gestione del persorso e degli oggetti grafici, e così via .

(Inoltre, potresti voler aggiungere "mac" ai tag.)


2 per risposta № 4

Con il tuo background Java, non farti sviaredal ormai obsoleto 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 capacità 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 tu possa raccogliere Objective-C in un giorno o due.


1 per risposta № 5

Non sono sicuro di cosa sia WPF, ma della maggior parte dello sviluppoper la piattaforma OSX è fatto in Objective-C con Cocoa. 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 Guida di Apple con XCode come IDE.


0 per risposta № 6

Per dirla in modo diverso rispetto ai precedenti poster: se non stai progettando la tua interfaccia in InterfaceBuilder e manipolandola con Objective-C, allora ti ritroverai con un'applicazione che non ha l'aspetto, la sensazione, l'azione o il modo in cui deve funzionare un'applicazione Macintosh, e rimarrà fuori come un pollice dolente per gli utenti. 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 il tuol'applicazione usa già QT e vuoi portarlo velocemente, ma se stai scrivendo una nuova applicazione (o una GUI separata), allora scrivilo in Cocoa usando ObjC o ObjC ++.


0 per risposta № 7

Potresti 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 per risposta № 8

Con uno sfondo Smalltalk, consiglierei direttamente Cocoa e Objective-C. Tuttavia, se ti stai inclinando verso un linguaggio dinamico, RubyCocoa ti permetterà di usare Ruby, che penso che troverai più facile da prendere rispetto a Python.