Давайте предположим, что следующие два предположения верны.
- Вся ваша база пользователей имеет широкополосный доступ везде
- Существует воображаемый браузер X, который последовательно реализует весь проект спецификации групп HTML5 и WHATWG, и все пользователи используют браузер X.
Каковы внутренние ограничения коммерческого общедоступного веб-приложения HTML5, для которого нам нужны коммерческие общедоступные настольные приложения?
Меня интересуют ограничения веб-приложений без плагинов, которые не используют мосты Flash / Java / SilverLight / etc для дополнительных функций и не используют плагины браузера для дополнительных функций.
Возможные ограничения, которые не применяются:
- Базы данных? У нас есть WebSQL и indexedDB.
- Файл IO? У нас есть HTML5 File API, который выполняет чтение и запись.
- Скорость? С недавней гонкой движка JavaScript браузер больше не работает медленно. Родной C ++ работает только в 3 раза быстрее, чем Chrome V8.
- Инструменты разработки? Сеть повзрослела, и существует целый ряд доступных инструментов, которых слишком много, чтобы перечислять.
- Закрытый источник? Да, весь код с открытым исходным кодом. Это обоюдоострый меч, и существует множество мнений об использовании закрытого или открытого исходного кода. Я лично считаю, что преимущества открытого исходного кода перевешивают недостатки.
- JavaScript / HTML5? Аргументы типа «я лично считаю HTML5 и EcmaScript ужасными платформами разработки» не учитываются.
Известные ограничения:
- Критический код в режиме реального времени / безопасности (совершенно секретно) не принадлежит ни Интернету, ни ему. Он должен быть написан на низкоуровневом, хорошо контролируемом языке, таком как C или C ++.
- Любому инструменту, который должен взаимодействовать с иностранным оборудованием, подключенным к вашему компьютеру, будет трудно общаться с вашим веб-приложением.
Существует также целый набор программ, которые не принадлежат сети. Операционные системы, драйверы, серверное программное обеспечение, API низкого уровня. Я знаю об этом, но я не классифицирую их как «коммерческие публичные» приложения, это тип программного обеспечения, которое может быть предварительно установлено на компьютеры.
Кроме того, я знаю, что эти два предположения ужасно нереалистичны, но мы могли бы достичь их через 5/10/20/30 лет. Меня интересуют типы приложений и функции приложений, которые делают их полностью несовместимыми с Интернетом.
Мотивация:
Точка:
Учитывая множество проблем, где настольное приложение является допустимым решением.
- Почему веб-приложение не является допустимым решением?
- Как определить, могу ли я использовать веб-приложение в качестве решения?
Я пытался устранить основные трудности с веб-приложениями (подключение к Интернету и поддержка браузера), утверждая, что они не существуют.
Кроме того, автономные приложения HTML5 и Modernizr находятся на пути к решению обеих этих проблем.
Каковы другие трудности с разработкой веб-приложений?