Supponiamo che i seguenti due presupposti siano veri.
- L'intera base di utenti ha accesso a banda larga ovunque
- Esiste un browser immaginario X che implementa l'intera bozza delle specifiche dei gruppi HTML5 e WHATWG, in modo coerente e tutti gli utenti utilizzano il browser X.
Quali sono i limiti intrinseci di un'applicazione Web HTML5 pubblica commerciale per la quale abbiamo bisogno di applicazioni desktop pubbliche commerciali?
Sono interessato ai limiti delle applicazioni Web senza plug-in che non si basano su bridge Flash / Java / SilverLight / etc per funzionalità extra né si affidano ai plug-in del browser per funzionalità extra.
Possibili limitazioni che non si applicano:
- Banche dati? Abbiamo WebSQL e indexedDB.
- File IO? Abbiamo l'API di file HTML5 che esegue sia la lettura che la scrittura.
- Velocità? Con la recente gara del motore JavaScript, il browser non è più lento. Il C ++ nativo è solo 3 volte più veloce del motore V8 di Chrome.
- Strumenti di sviluppo? Il web è maturato e c'è un'intera gamma di strumenti disponibili che sono troppo numerosi per essere elencati.
- Fonte chiusa? Sì, tutto il codice è open source. Questa è un'arma a doppio taglio e ci sono numerose opinioni sull'uso del codice chiuso o open source. Personalmente credo che i vantaggi del codice open source siano superiori agli svantaggi.
- JavaScript / HTML5? Argomenti del calibro di "Personalmente penso che HTML5 ed EcmaScript siano orribili piattaforme di sviluppo" non contano.
Limitazioni note:
- Il codice critico in tempo reale / di sicurezza (top secret) non appartiene al web né può farlo. Deve essere scritto in un linguaggio di basso livello, altamente controllabile come C o C ++.
- Qualsiasi strumento che deve interagire con un hardware esterno di terze parti collegato al tuo computer avrà difficoltà a parlare con la tua applicazione web.
C'è anche un'intera suite di programmi che non appartengono al web. Sistemi operativi, driver, software server, API di basso livello. Ne sono consapevole ma non li classifico come applicazioni "commerciali pubbliche", questi sono i tipi di software che possono essere preinstallati sui computer.
A parte questo, so che le due ipotesi sono orribilmente irrealistiche, ma potremmo realizzarle in 5/10/20/30 anni. Sono interessato al tipo di applicazioni e alle funzionalità delle applicazioni che le rendono completamente incompatibili con il web.
Motivazione:
Il punto:
Dato l'insieme di problemi in cui un'applicazione desktop è una soluzione valida.
- Perché un'applicazione Web non è una soluzione valida?
- Come faccio a identificare se posso usare un'applicazione web come soluzione.
Ho provato a rimuovere le principali difficoltà con le applicazioni web (connessione internet e supporto browser) affermando che non esistono.
Inoltre, le applicazioni offline HTML5 e Modernizr sono sulla buona strada per risolvere entrambi questi problemi.
Quali sono le altre difficoltà con lo sviluppo di applicazioni web?