Disclaimer: lavoro per un'azienda, Particle Code, che crea un framework multipiattaforma. Ci sono un sacco di aziende in questo spazio. Di nuovi sembrano spuntare ogni settimana. Buone notizie per te: hai molte scelte.
Questi framework adottano approcci diversi e molti di essi sono fondamentalmente progettati per risolvere problemi diversi. Alcuni si concentrano sui giochi, altri sulle app. Vorrei porre le seguenti domande:
Cosa vuoi scrivere? Applicazione aziendale, applicazione per la produttività personale, gioco di puzzle, sparatutto in prima persona?
Che tipo di ambiente di sviluppo preferisci? IDE o semplice editor di testo?
Hai forti sensazioni sui linguaggi di programmazione? Tra i framework che conosco, puoi scegliere tra ActionScript, C ++, C #, Java, Lua e Ruby.
La mia azienda è più nel campo dei giochi, quindi non ho giocato tanto con i framework JavaScript + CSS come Titanium, PhoneGap e Sencha. Ma posso parlarvi un po 'di alcuni dei framework orientati ai giochi. I giochi e le applicazioni Internet avanzate sono un'area in cui i framework multipiattaforma possono brillare, perché queste applicazioni tendono a dare più importanza all'unicità visiva e meno alla fusione con le interfacce utente native. Ecco alcuni framework da cercare:
Unity www.unity3d.com è un motore di giochi 3D. È davvero diverso da qualsiasi altro ambiente di sviluppo in cui ho lavorato. Costruisci scene con modelli 3D e definisci il comportamento allegando script agli oggetti. Puoi creare script in JavaScript, C # o Boo. Se vuoi scrivere un gioco basato sulla fisica 3D che verrà eseguito su iOS, Android, Windows, OS X o console, questo è probabilmente lo strumento che fa per te. Puoi anche scrivere giochi 2D utilizzando risorse 3D: un ottimo esempio di questo è il gioco indie Max and the Magic Marker, uno scroller laterale basato sulla fisica 2D scritto in Unity. Se non lo sai, ti consiglio di controllarlo (soprattutto se ci sono bambini nella tua famiglia). Max è disponibile per PC, Wii, iOS e Windows Phone 7 (anche se quest'ultima versione è una porta, poiché Unity non supporta WinPhone). Unity viene fornito con alcuni giochi di esempio completi di risorse e trame 3D, il che aiuta davvero ad essere al passo con quello che può essere un ambiente piuttosto complicato.
Corona www.anscamobile.com/corona è un motore di giochi 2D che utilizza il linguaggio di scripting Lua e supporta iOS e Android. Il punto di forza di Corona è la capacità di scrivere giochi basati sulla fisica molto rapidamente in poche righe di codice, e il gran numero di giochi basati su Corona nell'app store iOS è una testimonianza del suo successo. L'ambiente è molto snello, il che piacerà ad alcune persone. Viene fornito con un simulatore e un debugger. Aggiungi il tuo editor di testo preferito e hai un ambiente di sviluppo. L'SDK di base non include componenti dell'interfaccia utente, come pulsanti o caselle di riepilogo, ma per gli abbonati è disponibile un componente aggiuntivo CoronaUI.
Particle SDK www.particlecode.com è una soluzione multipiattaforma leggermente più generale con un background nei giochi. È possibile scrivere in Java o in ActionScript, utilizzando un modello di applicazione MVC. Include un IDE basato su Eclipse con un editor dell'interfaccia utente WYSIWYG. Attualmente supportiamo la creazione di dispositivi Android, iOS, webOS e Windows Phone 7. Puoi anche generare Flash o HTML5 per il Web. Il framework è stato originariamente sviluppato per giochi sociali multiplayer online, come poker e backgammon, e si adatta a giochi e app 2D con logica complessa. Il framework supporta la grafica 2D e include un motore fisico 2D.
NB:
Oggi abbiamo annunciato che Particle Code è stato acquisito da Appcelerator, i creatori del framework multipiattaforma Titanium.
...
A partire dal 1 ° gennaio 2012, [ Particle Code ] non supporterà più ufficialmente la piattaforma [ Particle SDK ].
fonte
- Airplay SDK www.madewithmarmalade.com è un framework C ++ che ti consente di sviluppare in Visual Studio o Xcode. Supporta sia la grafica 2D che quella 3D. Airplay si rivolge a iOS, Android, Bada, Symbian, webOS e Windows Mobile 6. Hanno anche un componente aggiuntivo per creare app AirPlay per PSP. Il mio C ++ è molto arrugginito, non ci ho giocato molto, ma sembra bello.
In termini di curva di apprendimento, direi che Unity ha avuto la curva di apprendimento più ripida (per me), Corona è stata la più semplice e Particle e Airplay sono una via di mezzo.
Un altro punto interessante è il modo in cui i framework gestiscono diversi fattori di forma. Corona supporta il ridimensionamento dinamico, che sarà familiare agli sviluppatori Flash. Questo è molto facile da usare ma significa che finisci per sprecare spazio sullo schermo quando passi da uno schermo 4: 3 come l'iPhone a uno 16: 9 come i nuovi dispositivi Android qHD. L'editor dell'interfaccia utente di Particle SDK consente di progettare layout flessibili che si adattano in scala, ma consente anche di regolare i layout per le dimensioni dello schermo individuali. Questo richiede un po 'più di tempo, ma ti consente di rendere l'app personalizzata per ogni schermata.
Ovviamente, ciò che funziona per te dipende dal tuo gusto personale e dallo stile di lavoro, nonché dai tuoi obiettivi, quindi ti consiglio di scaricare un paio di questi strumenti e provarli. Tutti questi strumenti possono essere provati gratuitamente.
Inoltre, se solo potessi inserire un annuncio di servizio pubblico, la maggior parte di questi strumenti sono in fase di sviluppo molto attivo. Se trovi un framework che ti piace, invia un feedback e fagli sapere cosa ti piace, cosa non ti piace e le caratteristiche che vorresti vedere. Hai una reale opportunità di influenzare ciò che accade nelle prossime versioni di questi strumenti.
Spero che questo ti aiuti.