Supponiamo che le seguenti due ipotesi siano vere.
- L'intera base utente ha accesso a banda larga ovunque
- Esiste un browser X immaginario 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 le limitazioni intrinseche di un'applicazione web pubblica HTML5 commerciale per cui sono necessarie 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é sui plug-in del browser per funzionalità extra.
Possibili limitazioni che non si applicano:
- Banche dati? Abbiamo WebSQL e indexedDB.
- File IO? Abbiamo l'API del file HTML5 che fa sia la lettura che la scrittura.
- Velocità? Con la recente corsa al motore JavaScript, il browser non è più lento. Native C ++ è solo 3 volte più veloce del motore V8 di Chrome.
- Strumenti di sviluppo? Il web è maturato e c'è una vasta 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 di codice sorgente chiuso o open source. Personalmente ritengo che i vantaggi del codice open source superino gli svantaggi.
- JavaScript / HTML5? Argomenti del calibro di "Io personalmente penso che HTML5 ed EcmaScript siano piattaforme di sviluppo orribili" non contano.
Limitazioni note:
- Il codice critico in tempo reale / sicurezza (top secret) non appartiene al Web né può farlo. Deve essere scritto in un linguaggio di basso livello e altamente controllabile come C o C ++.
- Qualsiasi strumento che debba interagire con un componente 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", questi sono il tipo di software che può essere preinstallato sui computer.
Per inciso, 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 li 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 capire se posso usare o meno 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à nello sviluppo di applicazioni Web?