Sviluppa per uso desktop e mobile? [chiuso]

3

Sono proprio all'inizio dello sviluppo di un programma per app / desktop. Voglio che sia multipiattaforma e possibilmente anche in versione tablet (preferibilmente sandwich Android Icecream). Nota che ho bisogno di eseguirlo offline.

Ho pensato ai seguenti approcci:

  • ADOBE Air, dal momento che non ho bisogno di molte prestazioni. Inoltre ho fatto alcune programmazioni web in passato che potrebbero essere di qualche utilità. Afaik funzionerebbe su OS X e Windows e dovrebbe funzionare anche su sistemi operativi mobili.

  • Qt. Ho trovato qualche desktop basato su Qt recentemente e lo leggo funziona anche su Android. Inoltre, mi piace l'SDK.

  • HTML5 / JS. Ancora una volta il mio background web dovrebbe aiutarmi qui. Non ho bisogno di script secondari, quindi dovrebbe funzionare senza installare altro che un browser. Quanto è facile convertirlo in un'app per Android?

Potrebbero esserci una miriade di altri (migliori) modi per farlo, ma non ho ancora pensato a loro. Puoi dare una mano? Come creeresti una simile applicazione. Sarebbe meglio fare un client desktop puro e quindi creare versioni tablet?

Preferiresti iniziare a creare un sito web e preoccuparti in seguito su come diventare un'app?

    
posta hans0l0 09.06.2012 - 18:02
fonte

3 risposte

4
  > HTML5 / JS ... How easy could this be converted into an Android app?

Puoi implementare con html5 / js e avvolgere questa app in un'app mobile nativa utilizzando PhoneGap

    
risposta data 09.06.2012 - 18:08
fonte
2

I desktop / touch centric mobile / tablet hanno diversi paradigmi dell'interfaccia utente. Se vuoi un'applicazione utilizzabile su più piattaforme, devi scrivere un'interfaccia utente che abbia un bell'aspetto su ciascuna piattaforma.

I problemi che incontrerai con le app desktop sarebbero cose come scorciatoie da tastiera, combinazioni di colori, convenzioni ui / widget. Potresti usare librerie multipiattaforma, ma ci saranno sempre qualche stranezza qua e là. Sicuramente non vuoi che la tua app appaia o si senta straniera. Avrai bisogno di vedere come eseguire l'installazione tra i molti desktop. Se stai utilizzando cose che richiedono privilegi di amministratore all'interno della tua app, le cose possono diventare più complicate.

Una volta entrati in dispositivi mobili, i paradigmi dell'interfaccia utente e le migliori pratiche sono diversi. Quindi potresti finire steso. Concentrati su una piattaforma. Fallo funzionare bene con una mente sulla portabilità. Separare l'interfaccia utente dalla logica. Una volta che è buono e funziona su una piattaforma, quindi diffondersi su un'altra piattaforma.

    
risposta data 11.06.2012 - 10:33
fonte
1

Nella mia esperienza, anche i framework che sono "compatibili" sia con il desktop sia con i cellulari in genere soffrono della mancata corrispondenza di impedenza di scatto / tocco. Descritto brevemente, questo significa che la tua interfaccia utente sarà più facile da usare con un mouse o con uno schermo tattile, ma non entrambi. Non ho mai visto un framework generalmente utile che possa rendere automaticamente un'interfaccia utente eccellente sia con le interfacce di selezione che di tocco.

La mia raccomandazione sarebbe quella di utilizzare un linguaggio di programmazione che funzioni su tutte le piattaforme desiderate; codificare qualsiasi logica aziendale (le parti "modello" e "controller" del pattern MVC) in modo che funzioni in modo identico su tutte le piattaforme; e quindi creare due "Visualizzazioni" separate (GUI) ottimizzate per l'esperienza del dispositivo di destinazione.

Puoi farlo con Qt; puoi farlo anche con Java desktop o HTML5 / JS.

Seguendo la via del Qt, direi di scrivere una normale interfaccia QtGui per il desktop, ma per Android probabilmente vorrai guardare in Qt Quick per un'esperienza più abilitata al tocco. Non è sicuro di come sia stabile / pronto alla produzione.

Seguendo il percorso Java, è possibile utilizzare ampi swath dell'API J2SE per la propria logica aziendale, ma non per tutti. Direi che sviluppa la tua logica di business indirizzando il più limitato VM di Dalvik in modo che qualsiasi problema si risolva immediatamente (usa Eclipse ADT e rendilo target API Android). Scrivi l'interfaccia utente utilizzando la libreria nativa della GUI di Android. Quindi estrai le classi di business logic, inseriscile in un nuovo progetto J2SE desktop e scrivi una GUI SWT o Swing per il desktop.

Seguendo il percorso HTML5, POTRESTI essere in grado di scrivere un'app che funzioni egregiamente per i browser desktop e per i browser mobili, ma dipende in gran parte dalla dinamica in cui si desidera la tua app e dalla risoluzione che scegli come target. Se vuoi dimenticare i telefoni (che hanno una risoluzione molto inferiore rispetto a tablet o desktop), questa potrebbe essere la soluzione migliore. La mia esperienza con un telefono Android sulla maggior parte dei siti Web HTML5 è che richiede un sacco di zoom e scorrimento perché sono desiderati per uno schermo più grande. Non mi piace davvero, quindi alla fine cerco la "m". sottodominio, che è praticamente il modo standard in cui le aziende presentano il loro sito mobile per gli utenti di piccoli schermi. Non è una cattiva idea seguire questa strada se ti interessa degli utenti di smartphone.

Ecco un video di YouTube di qualcuno con un Mac che utilizza Eclipse per creare un'app HTML5 / CSS per Android. link

    
risposta data 09.06.2012 - 18:15
fonte

Leggi altre domande sui tag