Programmazione di "tutto" usando HTML5?

7

Le applicazioni HTML 5 nel browser sembrano davvero decollare. Sto usando src: kit all'interno di Google Chrome per alcune settimane e lo adoro. Sono uno sviluppatore di ASP.Net (C # / MVC 3) per mestiere, e in passato ho fatto diversi pezzi di programmazione WebForms.

Con lo sviluppo di app di Windows 8 che entra nello scambio di app HTML5 locali, e i principali browser per smartphone che supportano l'installazione di HTML5, così come molte piattaforme che supportano (PhoneGap e Titanium, ad esempio), siamo già / saremo presto al punto che potrei creare un'app completamente "installabile" da eseguire come piattaforma autonoma su ogni ?

Mi rendo conto che sarebbe necessario anche un database (o instert-your-data-store-qui), quindi sarebbe necessario aggiungere un'altra lingua per il middleware. C # su Mac / Linux con Mono è possibile, ma Mono generalmente crea solo un'applicazione GTK +, quindi probabilmente dovrei creare un altro wrapper per ospitare l'applicazione ... Penso.

Qualche suggerimento di un linguaggio migliore da usare come middleware? Cioè per facilità di trasporto - Ho molta più esperienza con C # di qualsiasi altra cosa, quindi vorrei qualcosa da quella famiglia se avrò bisogno di fare qualcosa di diverso.

In sostanza, quanto siamo lontani da questo? Cosa deve ancora cambiare? Soprattutto, se è possibile (che credo, teoricamente lo sia), qual è il grande salto tra dove siamo ora e quando saremo lì?

Questo alla fine si trasformerà in un programma, quindi è un problema completamente pratico a cui sto lavorando (inizierò lo sviluppo dopo Natale).

EDIT: Per chiarire, con 'ogni' piattaforma, includo almeno quanto segue: Windows XP + / Mac OS X / Linux: qualsiasi distribuzione negli ultimi 2 anni / iOS / Android / Blackberry 5 + / Windows Phone 7 +

    
posta David Archer 07.12.2011 - 17:57
fonte

4 risposte

1

Direi di sì - il livello dell'interfaccia utente dovrebbe essere comunque disaccoppiato dal resto dell'applicazione (in un mondo perfetto, ovviamente ...) in modo da esporre la logica del software di back-end a un front-end basato su HTML ( notare che considero il server web come parte del livello di presentazione) ha perfettamente senso.

La difficoltà con questo è che ci sono alcune cose che non sono supportate o semplicemente difficili da implementare con HTML. Questo sta cambiando rapidamente, quindi non sono sicuro (ma non convinto al 100%) che questo non sia più un problema.

Ad esempio, è possibile ottenere 'push' sul client usando polling-via-AJAX, ma oggi abbiamo websocket. Si può ottenere una grafica stravagante usando un plugin come Flash, ma oggi abbiamo WebGL. Una volta avevi reti lente, ma oggi abbiamo delle versioni molto veloci e a bassa latenza.

Penso che aspetti come la validazione e responsive-ui senza dover caricare una tonnellata di dati richiedano ancora molto pensiero progettuale, ma questi sono problemi risolvibili.

Quindi ci proverei. Nota che ora ci sono alcuni framework interessanti - specialmente Wt che cambia i comandi di disegno di Qt da 'pixel grezzi' a componenti html quindi il tuo codice Qt 'desktop' verrà eseguito sul Web senza alcuna modifica. Penso che sia dannatamente bello.

    
risposta data 15.02.2012 - 00:51
fonte
0

Penso che per i servizi back-end (db) ti serva solo un'implementazione di servizi web RESTful. Questo dovrebbe essere qualcosa che potresti implementare praticamente in qualsiasi lingua su qualsiasi piattaforma. Alcune piattaforme / framework ti porteranno più velocemente, ovviamente. Non sono uno sviluppatore C # quindi non so quanto sia difficile farlo in C #, ma penserei che ci siano i pezzi necessari.

Ci sono anche alcune tecnologie emergenti che si connetteranno in modo sicuro dall'applicazione browser (HTML5) al db, ma sembra un po 'rischioso. Forse altri possono commentare la disponibilità di quelle piattaforme e quanto sono sicure.

    
risposta data 07.12.2011 - 18:03
fonte
0

La mia teoria, nonostante non sia tanto un maestro di programmazione, è che se HTML5 potesse fare tutto ciò che non avremmo bisogno di altri linguaggi e molto probabilmente lo elimineremmo. Ci sono programmatori là fuori che sono specialisti in più lingue incluso HTML5, eppure scrivono software in Python, Java, C ++ ecc.

HTML5 ha enormi vantaggi, e in effetti tutto può essere fatto, ma la vera domanda qui dovrebbe essere se può ottenere qualcosa fatto correttamente e con precisione. Ad esempio, un gioco Java sarebbe probabilmente inferiore a una versione C ++ dello stesso gioco a causa delle sue dipendenze e fattori Java.

Ci sono più linguaggi di programmazione supremo là fuori, C ++ ha enormi capacità con poche dipendenze, e dopo tutto, questa stessa domanda che stai chiedendo potrebbe essere stata probabilmente posta 10-20 anni fa, ma con un altro linguaggio di programmazione, ma in nel frattempo, altri sono stati inventati.

Penso che la vera risposta qui sia che dovremo aspettare, forse tra un paio d'anni verrà creato un nuovo linguaggio di programmazione, uno superiore che sarà multipiattaforma e utilizzabile in qualsiasi dominio e per qualsiasi computer -relazionato.

    
risposta data 14.02.2012 - 18:34
fonte
0

Con HTML 5 puoi creare front-end per applicazioni web che girano sui browser di ultima generazione di desktop, laptop, tablet e cellulari. Se si desidera supportare operazioni native per l'hardware, in pratica per tablet e dispositivi mobili, è consigliabile creare un'applicazione nativa o un'applicazione ibrida (una con codice HTML più estensioni Web native come Windows 8 -WinRT).

Attenersi all'approccio HTML sul front-end e utilizzare sempre un approccio al livello di servizio per ridurre al minimo le dipendenze sul lato server. Se devi creare un'applicazione nativa, creerai solo il front-end nativo e non il servizio.

    
risposta data 24.02.2012 - 13:09
fonte

Leggi altre domande sui tag