Ho bisogno di creare un'applicazione abbastanza semplice, ma deve funzionare sia su PC che su Mac.Building Cross Platform app - raccomandazione
Inoltre, deve essere ridistribuibile su un disco o un'unità USB come applicazione desktop autonoma.
Inizialmente pensavo che AIR sarebbe stato perfetto per questo (soddisfa tutti i requisiti dell'API), ma la difficoltà è renderlo distribuibile, poiché l'applicazione richiederebbe l'installazione del runtime AIR per l'esecuzione.
Mi sono imbattuto in Shu Player come opzione in quanto sembra essere in grado di impacchettare il runtime AIR con l'app e fare un'installazione (silenziosa?).
Tuttavia, questo sembra interrompere il T & C da Adobe (as outlined here) quindi non sono sicuro della legalità.
Un'altra opzione potrebbe essere lo zinco, ma non l'ho provato, quindi non sono sicuro di quanto si adatti al conto.
Cosa consiglieresti o suggerire di verificare?
Ogni suggerimento molto apprezzato
EDIT: Ci sono un paio di discussioni sul loro utilizzo mono (anche se non vera e propria conclusione): Here e Here
EDIT2: Titanium potrebbe anche andare bene la Bill forse, lo verificherà.
Altri commenti da parte di qualcuno?
Edit3 (un anno dopo): In realtà è passato quasi un anno da quando ho postato questa domanda, ma sembra alcune persone ancora venire attraverso di esso di tanto in tanto, e anche contribuire una risposta, anche un anno più tardi.
Ho pensato di aggiornare la domanda un po '. Non sono andato in giro a provare l'opzione tcl/tk alla fine, il vincolo temporale e l'incertezza della compatibilità con le diverse versioni os mi hanno portato a scartarlo come opzione.
Ho provato Titanium per un po ', ma anche se le prime impressioni erano ok, stanno davvero spingendo la piattaforma mobile più di ogni altra cosa, e imho, l'implementazione desktop soffre un po' di quella mancanza di attenzione. Ci sono anche alcune segnalazioni di problemi con alcuni runtime di Visual Studio su alcuni sistemi operativi (non ricordo i dettagli ora però) .. Così scartato anche questo.
Ho finito per andare con XULRunner. I due principali ricorsi sono stati:
- Firefox sembra funzionare fuori dalla scatola sulla maggior parte della versione del sistema operativo, quindi ho preso in buona fede che un'app XULRunner sarebbe probabilmente compatibile con la maggior parte del sistema. Mi ha salvato un sacco di test e si è scoperto che ha funzionato correttamente su tutte le piattaforme, non c'è stato un solo report di non essere in grado di avviare l'app
- È Javascript baby! La curva di apprendimento della lingua era minima. La cosa principale da capire è quali sono le interfacce xpcom aggiuntive e come interrogarle.
Sul lato negativo:
- ho pensato errori di risoluzione dei problemi è stato un compito difficile, a volte, il debugger Venkman è un pò goffo, finito per usare la console più di ogni altra.
- L'interfaccia sqlite è una grande risorsa per un'app desktop ma ho spesso faticato a trovare informazioni sugli errori rilevanti quando qualcosa non funzionava, forse lo stavo facendo male.
- Ci è voluto un po 'di tempo per capire come confezionare l'app come app standalone per PC e Mac. L'approccio finale consisteva nell'avere un'app mac "shell" e un'app shell pc e un paio di script "compili" che copierebbero le shell e aggiungessero il codice sorgente personalizzato su di esso nella posizione corretta.
- Un ultimo potenziale problema per alcuni, a causa della natura delle app xulrunner, il codice sorgente verrà distribuito con l'app, è possibile utilizzare l'offuscamento se si desidera, ma è qualcosa da tenere a mente se si desidera proteggere la proprietà intellettuale
Tutto sommato, ottima piattaforma per un'app multipiattaforma. Lo consiglio vivamente.
dove è finita quella risposta sull'uso di Mono? Non riesco a vederlo più ... – Ben
un downvote? veramente? dopo tanto tempo? – Ben
Grazie Ben per un post così dettagliato. Come funziona XULRunner per te fino ad oggi? È ancora applicabile? – yatg