Привет, хабраюзеры!
Не так давно мы анонсировали выпуск нового смартфона Nokia N9. Сегодня мы хотели бы поподробнее остановиться на мобильном браузере этого устройства. Уникальность его состоит в том, что это первый мобильный браузер, разработанный на движке WebKit2 и имеющий обширную поддержку HTML5.
Браузер в Nokia N9 – первый из мобильных браузеров, построенный на движке WebKit2. Мало кто знает, но Nokia была первой компанией, которая в 2007 году, практически сразу после официального анонса WebKit в качестве проекта с открытым исходным кодом, выпустила браузер для операционной системы Symbian (платформа S60) на базе WebKit. Сейчас этот браузер по-прежнему используется в телефонах Nokia, Samsung, LG.
Главное отличие WebKit2 от WebKit в использовании несколько процессов для обработки и рендеринга данных. Как пишут сами разработчики, это действительно похоже на то, как работает Google Chrome, с той лишь разницей, что подобная модель разбиения процессов теперь будет встроена во фреймворк. Что является плюсом для тех, кто будет использовать WebKit2 для рендеринга страниц в будущем. Технология, использующая для отображения различных элементов страниц (JavaScript, HTML, layout и др.) отдельные процессы, позволила улучшить стабильность и скорость работы веб-браузера Nokia N9.
283 – столько баллов набирает браузер Nokia N9 в тесте на совместимость со стандартом HTML5 (в последней тестовой версии ПО цифра выросла до 297 баллов). Для сравнения, Firefox 4, Opera 11.50 и ChromePlus последней версии набирают соответственно 272, 286 и 327 баллов. Согласитесь, для мобильного браузера результат, как минимум, неплохой. Тем более, если учесть, что один настольный браузер мы таки «победили».
В этом видео можно посмотреть результаты теста на примере Nokia Developer’s Kit (N950).
Возникает резонный вопрос: почему распространенной платформе Flash предпочли новый стандарт HTML5? Если ответить одним словом, то все дело в перспективе. Читая различные статьи на Хабре, нельзя составить однозначное мнение о том, насколько сильны позиции HTML5 сейчас. Но, складывается мнение, что большинство все же отдают пальму первенства в будущем за HTML5. Здесь есть несколько причин. В том числе и то, что Flash является проприетарной платформой, а HTML5 – стандарт W3C, что позволяет запускать HTML5 документы в любом современном браузере на любом совместимом устройстве. К тому же, разрабатывать web-сервисы на HTML5 проще, чем создавать native приложения. Ну и достаточно сказать, что уже в Adobe и Google озаботились возможностью конвертации SWF в HTML5.
Инструменты HTML5 позволяют создавать приложения практически любого уровня сложности. Возьмите, к примеру, Angry Birds (нет, на них свет клином не сошелся, но как пример для нас подойдет). Что-то подобное можно сделать и для мобильной платформы при помощи HTML5: мультимедийные книги и комиксы, RSS-ридеры, клиенты соц-сетей, планировщики задач и покупок, различные тайм-киллеры и прочее. При этом, web-приложение сможет определять, на каком устройстве оно запущено (при помощи user-agent браузера) и адаптировать свой интерфейс под необходимое разрешение банальной заменой CSS стиля.
Кстати, OS MeeGo на Nokia N9 позволяет добавлять иконку разработанного на HTML5 веб-приложения в меню устройства прямо из браузера. Из меню приложение или игру можно будет открыть локально на устройстве. Передача трафика при этом минимальна: если на сервере появились обновления, то приложение их скачает, если нет, то все ограничится лишь этим запросом. При этом на устройстве можно реализовать хранение кэша сессии до тех пор, пока последняя не будет закрыта. Это означает что приложение имеет возможность выполнятся на устройстве даже без активного соединения. Например запустив приложение и открыв сессию по wi-fi в зоне ожидания аэропорта можно весь полет продолжать работать автономно.
Ну а для тех, кто знаком с Qt, есть дополнительная возможность – гибридные приложения. Фреймворк Qt содержит модуль QtWebKit, классы которого позволяют встроить в ваше приложение полноценный WebKit-браузер, отображать web-сайты и локальные HTML документы. При помощи QtWebKit разработчик может использовать web-документ в качестве GUI приложения и даже реализовать логику на JavaScript. Более того, возможно обращение к объектам Qt из JS и наоборот, а также встраивание виджетов Qt в рендерящийся HTML документ. Таким образом, web-приложение может обращаться к системе и получает те же возможности, что и нативное. Такие гибридные приложения ничем не отличаются от обычных Qt программ и наравне с другими могут продвигаться и продаваться через Магазин Ovi. В Qt5 планируется использование WebKit2 и V8 (вместо JavaScriptCore), с полноценной поддержкой HTML5. Это позволит гибридным приложениям составить серьезную конкуренцию традиционным решениям.
Как подружить мобильный браузер и HTML5-сайты? В настоящее время не так много ресурсов работают на HTML5, еще меньше – оптимизируют интерфейс и контент под мобильный браузер. Мы общаемся со всеми крупнейшими ресурсами для того, чтобы поменять эту ситуацию. Суть в том, что мы будем давать user-agent, по которому сайты определят устройство и отдадут уже оптимизированную под это устройство страницу. Точно так же, как, например, touch.facebook.com. Для этого в большинстве случаев достаточно просто добавить UA в список уже поддерживаемых сайтом HTML5-совместимых мобильных браузеров.
Что мы хотели сказать всем этим. Во-первых, мы с оптимизмом смотрим в будущее. В будущее HTML5 и мобильных браузеров. Причем, речь идет не только о браузере Nokia N9. Частичная поддержка HTML5 уже есть в браузере OS Symbian Anna (в будущем будет полная поддержка). Также Nokia совместно с Microsoft работают над браузером OS Windows Phone Mango, чтобы улучшить его совместимость с HTML5. Во-вторых, HTML5 – это история не только и не столько про сайты, сколько и про веб-приложения, которые без особого труда можно портировать и устанавливать локально на мобильные устройства.
Мы хотим, чтобы все преимущества HTML5 уже сейчас были доступны нашим пользователям.
Не так давно мы анонсировали выпуск нового смартфона Nokia N9. Сегодня мы хотели бы поподробнее остановиться на мобильном браузере этого устройства. Уникальность его состоит в том, что это первый мобильный браузер, разработанный на движке WebKit2 и имеющий обширную поддержку HTML5.
WebKit2
Браузер в Nokia N9 – первый из мобильных браузеров, построенный на движке WebKit2. Мало кто знает, но Nokia была первой компанией, которая в 2007 году, практически сразу после официального анонса WebKit в качестве проекта с открытым исходным кодом, выпустила браузер для операционной системы Symbian (платформа S60) на базе WebKit. Сейчас этот браузер по-прежнему используется в телефонах Nokia, Samsung, LG.
Главное отличие WebKit2 от WebKit в использовании несколько процессов для обработки и рендеринга данных. Как пишут сами разработчики, это действительно похоже на то, как работает Google Chrome, с той лишь разницей, что подобная модель разбиения процессов теперь будет встроена во фреймворк. Что является плюсом для тех, кто будет использовать WebKit2 для рендеринга страниц в будущем. Технология, использующая для отображения различных элементов страниц (JavaScript, HTML, layout и др.) отдельные процессы, позволила улучшить стабильность и скорость работы веб-браузера Nokia N9.
HTML5
283 – столько баллов набирает браузер Nokia N9 в тесте на совместимость со стандартом HTML5 (в последней тестовой версии ПО цифра выросла до 297 баллов). Для сравнения, Firefox 4, Opera 11.50 и ChromePlus последней версии набирают соответственно 272, 286 и 327 баллов. Согласитесь, для мобильного браузера результат, как минимум, неплохой. Тем более, если учесть, что один настольный браузер мы таки «победили».
В этом видео можно посмотреть результаты теста на примере Nokia Developer’s Kit (N950).
Возникает резонный вопрос: почему распространенной платформе Flash предпочли новый стандарт HTML5? Если ответить одним словом, то все дело в перспективе. Читая различные статьи на Хабре, нельзя составить однозначное мнение о том, насколько сильны позиции HTML5 сейчас. Но, складывается мнение, что большинство все же отдают пальму первенства в будущем за HTML5. Здесь есть несколько причин. В том числе и то, что Flash является проприетарной платформой, а HTML5 – стандарт W3C, что позволяет запускать HTML5 документы в любом современном браузере на любом совместимом устройстве. К тому же, разрабатывать web-сервисы на HTML5 проще, чем создавать native приложения. Ну и достаточно сказать, что уже в Adobe и Google озаботились возможностью конвертации SWF в HTML5.
Приложения на HTML5
Инструменты HTML5 позволяют создавать приложения практически любого уровня сложности. Возьмите, к примеру, Angry Birds (нет, на них свет клином не сошелся, но как пример для нас подойдет). Что-то подобное можно сделать и для мобильной платформы при помощи HTML5: мультимедийные книги и комиксы, RSS-ридеры, клиенты соц-сетей, планировщики задач и покупок, различные тайм-киллеры и прочее. При этом, web-приложение сможет определять, на каком устройстве оно запущено (при помощи user-agent браузера) и адаптировать свой интерфейс под необходимое разрешение банальной заменой CSS стиля.
Кстати, OS MeeGo на Nokia N9 позволяет добавлять иконку разработанного на HTML5 веб-приложения в меню устройства прямо из браузера. Из меню приложение или игру можно будет открыть локально на устройстве. Передача трафика при этом минимальна: если на сервере появились обновления, то приложение их скачает, если нет, то все ограничится лишь этим запросом. При этом на устройстве можно реализовать хранение кэша сессии до тех пор, пока последняя не будет закрыта. Это означает что приложение имеет возможность выполнятся на устройстве даже без активного соединения. Например запустив приложение и открыв сессию по wi-fi в зоне ожидания аэропорта можно весь полет продолжать работать автономно.
Ну а для тех, кто знаком с Qt, есть дополнительная возможность – гибридные приложения. Фреймворк Qt содержит модуль QtWebKit, классы которого позволяют встроить в ваше приложение полноценный WebKit-браузер, отображать web-сайты и локальные HTML документы. При помощи QtWebKit разработчик может использовать web-документ в качестве GUI приложения и даже реализовать логику на JavaScript. Более того, возможно обращение к объектам Qt из JS и наоборот, а также встраивание виджетов Qt в рендерящийся HTML документ. Таким образом, web-приложение может обращаться к системе и получает те же возможности, что и нативное. Такие гибридные приложения ничем не отличаются от обычных Qt программ и наравне с другими могут продвигаться и продаваться через Магазин Ovi. В Qt5 планируется использование WebKit2 и V8 (вместо JavaScriptCore), с полноценной поддержкой HTML5. Это позволит гибридным приложениям составить серьезную конкуренцию традиционным решениям.
Настоящее и будущее
Как подружить мобильный браузер и HTML5-сайты? В настоящее время не так много ресурсов работают на HTML5, еще меньше – оптимизируют интерфейс и контент под мобильный браузер. Мы общаемся со всеми крупнейшими ресурсами для того, чтобы поменять эту ситуацию. Суть в том, что мы будем давать user-agent, по которому сайты определят устройство и отдадут уже оптимизированную под это устройство страницу. Точно так же, как, например, touch.facebook.com. Для этого в большинстве случаев достаточно просто добавить UA в список уже поддерживаемых сайтом HTML5-совместимых мобильных браузеров.
Что мы хотели сказать всем этим. Во-первых, мы с оптимизмом смотрим в будущее. В будущее HTML5 и мобильных браузеров. Причем, речь идет не только о браузере Nokia N9. Частичная поддержка HTML5 уже есть в браузере OS Symbian Anna (в будущем будет полная поддержка). Также Nokia совместно с Microsoft работают над браузером OS Windows Phone Mango, чтобы улучшить его совместимость с HTML5. Во-вторых, HTML5 – это история не только и не столько про сайты, сколько и про веб-приложения, которые без особого труда можно портировать и устанавливать локально на мобильные устройства.
Мы хотим, чтобы все преимущества HTML5 уже сейчас были доступны нашим пользователям.