Domanda

Stavo pensando, sarebbe possibile creare un'app Cocoa che è essenzialmente solo un'interfaccia con una vista web? O c'è qualche grave limitazione quando si fa qualcosa del genere?

Se è "fattibile", ciò significherebbe anche che potresti fare lo stesso per le applicazioni Windows?

È stato utile?

Soluzione

È certamente possibile creare un'applicazione che è solo una finestra Cocoa con una vista web al suo interno, certo. Se ciò può essere significativamente chiamato "app Cocoa" è discutibile. Ovviamente cose come il menu dell'app richiederebbero un po 'di codice colla Cocoa, quindi sì, ci sono limiti a quanto potresti fare in solo HTML e JS.

Dovresti anche pensare attentamente a come gestiresti la localizzazione (duplicare l'intero sorgente HTML e JS per ogni lingua non sarà desiderabile), e ci sono molti costrutti di interfaccia che sarebbero molto più difficili da creare di quanto non userebbero Cocoa e / o non si sentirebbero nativi di qualcuno abituato al look and feel di OS X. E rinuncerai ad alcune performance usando un linguaggio interpretato, che può o meno avere importanza per la tua applicazione.

Esistono applicazioni per OS X che sono costruite in questo modo e generalmente sembrano porte difettose; se il tuo obiettivo è creare qualcosa che sembri una vera applicazione per Mac, probabilmente non è un buon modo di procedere.

Altri suggerimenti

Il sistema operativo iPhone ha fantastiche strutture per far sì che le app Web agiscano come cittadini di prima classe sul dispositivo. Puoi aggiungere l'icona delle tue app Web al trampolino come un'app Cocoa, puoi archiviare i dati localmente e molte altre cose davvero ordinate ... Dai un'occhiata a questi esempi o documentazione ADC .

Certo. PandoraBoy è esattamente questo. È un involucro sottile attorno a un'app flash esistente con bridge Javascript. Ho lavorato su altre interfacce utente che sono controllate a livello di programmazione WebView utilizzando la manipolazione DOM diretta per ottenere effetti molto piacevoli (senza mai dare la sensazione di "un'app Web"). Puoi utilizzare il bridge ObjC / Javascript per consentire a Javascript di chiamare ObjC e WebKit semplifica l'esecuzione di Javascript da ObjC.

Correlati, ma nella direzione opposta, c'è Cappuccino , che è un framework simile al cacao in Javascript.

Non sono chiaro cosa intendi per " fai lo stesso per le applicazioni Windows. "

Titanium potrebbe aiutarti molto, è fondamentalmente una finestra Cocoa con WebView (la cosa che stai cercando) , ma (la parte buona) con i collegamenti JavaScript a cose native come l'accesso al filesystem, alla barra dei menu, all'icona Dock (es. badge), al suono, ecc. Inoltre funzionerà su Mac, Linux, Windows, iPhone e Android!

Sì, ci sono alcune app che lo fanno. Penso che di solito memorizzino i file html e utilizzino jquery per recuperare i dati aggiornati. Principalmente offre all'utente un'esperienza leggermente più veloce, poiché stai solo recuperando dati e non la maggior parte dell'HTML.

Le limitazioni sono dovute principalmente al fatto che non hai accesso a tutti i controlli e le librerie di iPhone. MapKit, Mail ecc.

Certo che è possibile. Ci sarebbero limiti piuttosto grandi. Una tale app non può fare nulla che una pagina Web non possa fare. Quindi, ad esempio, l'utilizzo del supporto standard per la gestione dei documenti a livello di sistema non sarebbe disponibile se non si scrivesse il supporto del codice Cocoa

Non proprio quello che stavi chiedendo, ma ...

mProjector è un wrapper di SO per Flash. È come una versione estesa di un proiettore Flash con un'API di sistema che ti consente di accedere alle funzionalità del sistema operativo Mac / Win.

Questo ti darà la capacità di usare le abilità web per creare un'app desktop multipiattaforma. È più economico e migliore dell'altra opzione principale, lo zinco.

Titanium si autodefinisce software open source, ma gli sviluppatori sono tenuti a registrare un account e a mantenere una connessione Internet a software server proprietario al fine di utilizzare la piattaforma.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top