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