Оглавление:
- Что такое приложение HTML5?
- Реальность приложений HTML5
- Так я хочу видеть больше приложений HTML5 или нет?
Ты слышал? Приложения HTML5 собираются изменить все, вероятно, в следующем году. По крайней мере, об этом одна из сторон дискуссии о HTML5 и нативных приложениях. Это сообщение, которое время от времени попадает в центр внимания, и так будет всегда. Или, по крайней мере, пока это не произойдет, и все лучшие приложения - это приложения HTML5. Нет ничего необычного в том, что разработчики имеют подобные дебаты и сторонники, объясняющие, как их версия является лучшей версией, но когда дела выходят за рамки обсуждения с разработчиками и превращаются в мейнстрим, где мы с вами их слышим, они могут ошеломить нас. Должны ли мы действительно заботиться о том, что мы слышим?
В этом случае да. Хотя утопия, в которой каждое приложение написано на HTML5, и у каждого пользователя есть такой же опыт, все еще остается хорошим выходом, если это когда-либо произойдет, HTML5 в гибридной форме уже представляет собой довольно большую проблему. Мы должны знать и понимать все, что довольно важно.
Что такое приложение HTML5?
Впервые большинство людей услышало упоминание HTML5, когда Стив Джобс сказал нам всем, что это будет будущее Интернета, а Flash - нет. Его заявление было сделано частично потому, что Apple заблокировала доступ к любому Flash-плееру на iOS, но не потребовалось какого-либо видения, чтобы понять, что это произойдет, потому что у HTML5 гораздо больше возможностей, чем у Flash. И так уж вышло, что будущее Интернета также является довольно хорошим способом кодирования приложений.
HTML расшифровывается как HyperText Markup Language, и мы находимся на 5-й редакции стандарта. Но когда вы слышите термин приложение HTML5, означает ли это веб-приложение или приложение, которое вы можете установить на свой телефон, вы действительно имеете дело с тремя типами кода.
- HTML предоставляет среду, в которую разработчики могут поместить свой код, а приложение может превратить его в то, что мы можем видеть и взаимодействовать.
- CSS предоставляет способ компоновки того, как будут выглядеть отдельные фрагменты кода после их рендеринга и отображения на нашем экране.
- JavaScript - это то, что делает все это интерактивным и позволяет «делать» все, что угодно.
Отличительной особенностью HTML5 является то, что все понимает одно приложение, которое разработчик приложения не должен поддерживать, и все это работает на любом устройстве с экраном, на котором есть собственная версия этого приложения. Мы говорим о веб-браузере, но не о самом приложении веб-браузера. Компонент веб-браузера, который может взять весь этот код и преобразовать его во что-то, что мы можем использовать на лету, довольно переносим и является частью множества приложений, которые вы уже используете в качестве веб-представления.
Инженер Mozilla однажды сказал: «Один раз запустить код не значит убежать. Оптимизация - это ключ». Умные ребята, эти инженеры Mozilla.
Это означает, что разработчик может написать свой код и настроить его, а затем развернуть его везде. Это сильно отличается от написания отдельного кода для Android, iOS, macOS, Windows и HTML для webOS и BlackBerry 10. Разработчик может писать код, используя любую среду разработки, которую он выберет, будь то Блокнот или что-то сложное, например Visual Studio или Adobe Dreamweaver., отладьте и настройте его в любом браузере, который он выберет, и он все еще работает везде.
Это касается и вашего телефона. Мы все видели, как приложения HTML5 используются в качестве веб-страницы. Такие места, как Twitter или мобильная версия Gmail, являются отличными примерами работы HTML5. Но поскольку HTML5 может отображаться компонентом веб-представления, просто и быстро перетащить окно в базовую рамку приложения, чтобы создать приложение, которое вы фактически устанавливаете на свой телефон. Есть даже сторонние инструменты, которые делают всю работу за вас, например, Apache Cordova. Это помогает новым разработчикам донести свои идеи до каждого, а также опытных разработчиков, у которых теперь есть время придумывать вещи, которых мы раньше не видели. HTML5, встроенный в собственное приложение, может запускать код и использовать ресурсы, которые он получает из Интернета, но разработчик также может установить их локально и указать код для честных офлайн автономных приложений.
Но не все так хорошо в HTML5.
Реальность приложений HTML5
Здесь все может запутаться. Когда мы думаем о веб-странице, мы часто забываем, что веб-страница посылает свой код только движку браузера, и именно наше устройство выполняет эту работу. Это означает, что такие вещи, как геолокация, аудио и видео чат в реальном времени, 3D-ускоренная графика и многое другое, не только возможны, но и просты для реализации разработчиком с использованием HTML5. Это связано с тем, что орган по стандартизации сказал: «Привет, ребята, мы все должны сделать это определенным образом, и разработчик может попросить нас сделать это так».
В любом случае это цель. Реальность может быть немного другой, и нам нужно только посмотреть на воспроизведение видео, чтобы получить отличный пример того, почему. Каждый браузер, который вы хотите использовать, поддерживает HTML5: Chrome, Opera, Internet Explorer, Edge, Firefox и Safari являются браузерами HTML5 и поддерживают воспроизведение видео, когда разработчик набирает всего несколько слов, указывающих на видео. Любой тип переносимого компонента веб-просмотра, который имеют эти приложения, будет делать то же самое, потому что они используют один и тот же механизм рендеринга.
Когда вы не применяете правила, они становятся предложениями; те, которым никто не хочет следовать.
Но они не все поддерживают один и тот же тип видео, потому что HTML5 является кроссплатформенным, открытым и не проприетарным, поэтому никто не заставляет их поддерживать все форматы. Ogg Theora - это популярный видеоформат, который поддерживается каждым браузером, кроме Internet Explorer, который является браузером по умолчанию на многих компьютерах. H.264 еще более популярен, но он не является открытым или бесплатным, поэтому Firefox его не поддерживает. VP8 и WebM бесплатны для использования и открытия, и каждый механизм браузера поддерживает их, но Internet Explorer и Safari требуют, чтобы пользователь получил и установил поддержку. Технически, HTML5 поддерживает воспроизведение HD-видео и очень прост для разработчика. В реальном мире поддерживается только правильный тип видео.
YouTube воспроизводит все видео с HTML5, потому что у Google есть деньги, чтобы конвертировать загруженные вами видео.
HTML5 также зависит от используемого оборудования и от того, насколько опытен разработчик в написании кода. Выбор неправильной библиотеки JavaScript может все же привести к тому же результату, но это также может привести к утечкам памяти и обработке DOM Manipulation (Document Object Model - создается при загрузке страницы или приложения и включает каждый элемент на странице или в приложении как отдельный «документ») плохо может сделать приложение HTML5 удручающе медленным даже на самом лучшем оборудовании. На телефонах, которые не так способны, это быстро приводит к тому, что пользователи удаляют ваше приложение.
Это не единственная проблема. Когда вы создаете приложение HTML5, которое извлекает все из Интернета, вам приходится иметь дело со временем загрузки. Это добавляет скорость соединения пользователя в список вещей, которые могут заставить ваше приложение работать медленно, наряду с физическими возможностями оборудования (многие телефоны используют процессоры, которые не совсем быстры) и оптимизацией кода. Если для отображения кода на пользовательском устройстве требуется одна секунда, а для извлечения его из Интернета - 10 секунд, у вас будет много несчастных пользователей.
Приложение Facebook является примером того, что не так с HTML5, а Instagram - примером того, что правильно.
Это отличный пример, и почти все мы были недовольны тем, какой телефон мы используем: приложение Facebook. Приложение Facebook в основном представляет собой веб-представление, встроенное в рамку, которая содержит кнопки и помогает управлять учетными данными вашей учетной записи или отправлять сообщения так, как это одобряет операционная система. Все, что происходит внутри приложения, выполняется с помощью HTML5, и это слишком сложно для него, если вы решите извлечь все его данные из Интернета. Разработчики продолжают добавлять все больше и больше в Facebook, пользователи публикуют большие файлы, размещенные на места за пределами Facebook, и миллионы и миллионы людей одновременно заходят на серверы Facebook, 24/7. Это делает приложения медленными в обновлении, очень энергоемкими и вызывает множество жалоб.
Мобильный веб-сайт Facebook также написан на HTML5, но он разработан так, чтобы быть доступным на ресурсах, потому что он предназначен для мобильного использования. Это ускоряет загрузку контента, который вы хотите увидеть, даже если весь этот контент отображается не так хорошо, как при полном просмотре. Именно поэтому мобильный сайт и «облегченные» приложения Facebook, которые ссылаются на него, работают намного лучше, чем официальное приложение Facebook. И это не просто проблема Facebook - существует множество приложений, в которых все их функции поддерживаются с использованием HTML5, но они настолько же сложны (хорошее слово для раздутого, потому что они были давно и постоянно меняются), как Facebook и будет действовать так же.
Так я хочу видеть больше приложений HTML5 или нет?
Да! Но не все приложения.
HTML5 действительно хорош во многих вещах и является отличным способом для разработчика использовать свое время для размышлений над творческими идеями вместо того, чтобы копаться в справочном руководстве Objective-C или C ++. Но иногда жесткая структура языков разработки, которая заставляет разработчика действовать определенным образом, заставляет конечный результат работать лучше на наших телефонах.
Приложения HTML5 могут быть кошмаром, как мы видим из приложения Facebook, или они могут быть довольно удивительными, как мы видим с мобильного сайта Gmail. Или убер. Или Instagram. Или любое из сотен приложений HTML5, которые мы используем каждый день. Это не та вещь, о которой нам следует беспокоиться, но разработчики должны бесконечно спорить. И теперь, когда они спорят и пытаются убедить вас, что лучше, вы немного знаете о том, почему они говорят то, что говорят.
Мы можем заработать комиссию за покупки, используя наши ссылки. Учить больше.