Załóżmy, że następujące dwa założenia są prawdziwe.
- Twoja cała baza użytkowników ma dostęp szerokopasmowy wszędzie
- Istnieje wyimaginowana przeglądarka X, która implementuje całą roboczą specyfikację grup HTML5 i WHATWG, konsekwentnie i wszyscy użytkownicy używają przeglądarki X.
Jakie są nieodłączne ograniczenia komercyjnej publicznej aplikacji internetowej HTML5, do której potrzebujemy komercyjnych publicznych aplikacji komputerowych?
Interesują mnie ograniczenia aplikacji internetowych bez wtyczek, które nie polegają na mostkach Flash / Java / SilverLight / itp. W celu uzyskania dodatkowych funkcji ani na wtyczkach przeglądarki w celu uzyskania dodatkowych funkcji.
Możliwe ograniczenia, które nie mają zastosowania:
- Bazy danych? Mamy WebSQL i indexedDB.
- Plik IO? Mamy interfejs API plików HTML5, który zarówno odczytuje, jak i pisze.
- Prędkość? W ostatnim wyścigu silnika JavaScript przeglądarka nie jest już wolna. Natywny C ++ jest tylko 3 razy szybszy niż silnik V8 chrome.
- Narzędzia programistyczne? Sieć dojrzała i dostępna jest cała gama narzędzi, których nie można wymienić.
- Zamknięte źródło? Tak, cały kod jest open source. Jest to obosieczny miecz i istnieje wiele opinii na temat używania zamkniętego lub otwartego kodu źródłowego. Osobiście uważam, że zalety otwartego kodu przeważają nad wadami.
- JavaScript / HTML5? Argumenty takie jak „Osobiście uważam HTML5 i EcmaScript za okropne platformy programistyczne” nie liczą się.
Znane ograniczenia:
- Krytyczny kod czasu rzeczywistego / bezpieczeństwa (ściśle tajny) nie należy do sieci ani nie może. Musi być napisany w niskim, kontrolowanym języku, takim jak C lub C ++.
- Każde narzędzie, które musi wchodzić w interakcję z obcym sprzętem innej firmy podłączonym do komputera, będzie miało trudności z rozmową z aplikacją internetową.
Istnieje również cały zestaw programów, które nie należą do sieci. Systemy operacyjne, sterowniki, oprogramowanie serwera, niskopoziomowe interfejsy API. Zdaję sobie z tego sprawę, ale nie klasyfikuję ich jako „komercyjnych” aplikacji, są to rodzaje oprogramowania, które można wstępnie zainstalować na komputerach.
Nawiasem mówiąc, wiem, że te dwa założenia są okropnie nierealne, ale możemy je zrealizować za 5/10/20/30 lat. Interesuje mnie rodzaj aplikacji i funkcje aplikacji, które czynią je całkowicie niekompatybilnymi z Internetem.
Motywacja:
Punkt:
Biorąc pod uwagę zestaw problemów, w których aplikacja komputerowa jest prawidłowym rozwiązaniem.
- Dlaczego aplikacja internetowa nie jest prawidłowym rozwiązaniem?
- Jak rozpoznać, czy mogę używać aplikacji internetowej jako rozwiązania.
Próbowałem usunąć główne trudności z aplikacjami internetowymi (połączenie internetowe i obsługa przeglądarki), twierdząc, że nie istnieją.
Poza tym aplikacje offline HTML5 i Modernizr są na dobrej drodze do rozwiązania obu tych problemów.
Jakie są inne trudności z tworzeniem aplikacji internetowych?