Open Web Device — смартфон на платформе HTML5



    Оператор сотовой связи Telefónica совместно с Mozilla разработали концепт смартфона нового поколения, который они назвали Open Web Device. Это устройство полностью совместимо с HTML5, а все приложения — телефонная книга, SMS, контакты, настройки телефона — сделаны на Javascript и работают через интерфейс и стек Boot2Gecko.

    Boot2Gecko — полностью открытая платформа на базе ядра Linux. Кто угодно может участвовать в разработке, изменять код системы и добавлять патчи. Поддержкой middleware (Boot2Gecko) будет заниматься организация Mozilla по той же схеме, как сейчас они отвечают за поддержку проекта Firefox.



    Но самое главное, что все разработчики HTML5 получат, наконец, мобильную платформу, где приложения HTML5 будут работать совершенно нативным способом.

    Кто знает, возможно, через 10-20 лет вообще не будет такого вида деятельности, как «разработка мобильных приложений», а останется только веб-разработка.

    Support the author
    Share post

    Similar posts

    AdBlock has stolen the banner, but banners are not teeth — they will be back

    More
    Ads

    Comments 75

      –14
      Часть элементов явно походит на одну известную мобильную ОС.
      Но круглые иконки приложений мне определенно нравятся))
        +2
        palm os?

        Давайте конкретику, а не иконки сеткой. Они везде стоят сеткой, даже в девяносто пятой винде в проводнике.
          –4
          Не будем разводить кто, что и откуда. Я не имел в виду иконки сеткой и тем более ничего плохого не сказал про эту ОС. Иконки мне все еще нравятся))
        +4
        Жду 8 ядерный смартфон!
          +1
          Черт, парсер удалил тег < sarcasm
            +4
            Парсер умный, он вас просто поправил, т.к. читал сегодняшнюю новость о новом смартфоне от LG с 4 ядерным процессором.
              0
              Да и у HTC тоже 4 ядра будет.
                0
                уже есть HTC One X
            +12
            Смартфон разработанный Mozilla?
            Тогда ещё минимум 4 ГБ ОЗУ :)
            • UFO just landed and posted this here
                +2
                А что какой-то из продуктов Mozilla по-вашему много жрет?
                у меня на компе firefox с 160+ вкладками и около 30 расширениями жрет в 2 раза меньше чем chromium с 80+ вкладками и 10 расширениями.
                  +2
                  А вот странно, кстати. У меня тоже ФФ ест меньше того же хрома, но при этом отклик интерфейса у него (открытие новой вкладки, переключение между уже существующими) происходит заметно медленней, чем у Хрома.
                    0
                    Может не в тему, но очень интересно. А вы реально работаете с 160 открытыми вкладками в браузере? Или специально для теста запустили?
                      0
                      Я реально работаю. Вот прямо сейчас 224 открытых вкладки и гигабайт занятой процессом памяти. Тормозов нет, хотя, ранее у Мозиллы с этим было не так безоблачно.
                        0
                        В Firefox — работаю)) а вот Chromium чуть за 100 уже всю оперативу у компа сжирает напрочь.
                          0
                          Просто нужно закладками пользоватся, когда-то у меня была такая проблема, открыл, а потом не хочешь закрывать, что бы потом воспользоватся информацией на той вкладке, но потом по пару месяце висит она.
                    +1
                    Радикально… Но звучит очень перспективно.
                      +5
                      сразу подумал о xss — страшно!
                        +1
                        XSS ладно, по идее среда этого браузера должна предоставлять через DOM API доступ к железу или хотя бы к «абстракциям» типа файловой системы или сокетов.
                        +1
                        Весьма неоднозначные ощущения от концепта. Интересно посмотреть, как реализованы интерфейсы к железу и API в целом.
                          +2
                          Да там, скорее всего, смотреть особо нечего… Вы, наверное, с Node.js не работали или для embedded на JS разрабатывали… Просто будут экспортировать специальные объекты, реализующие API. Сделал в своей программе
                          var device = new Device();
                          или
                          var device = require(«device»);
                          или типа того и все… Работай с имеющимся объектом в соответствии с документацией…
                            0
                            Признаю, не работал. Мой опыт в Javascript помимо веба сводится только к использованию некого Javascript-адаптера в Java на back-end веб-приложения. Это было лет 5 назад и помню, что это было реализовано несколько коряво.
                          +1
                          Вот бы ещё какая-нибудь игровая компания выпустила коммуникатор с игровой интерфейсом-платформой.
                            0
                            Вроде бы у PS Vita есть 3G с фронтальной камерой и микрофоном?
                              0
                              Простите, а можно делать звонки помимо скайпа с Виты?
                              0
                              если не PS Vita, то SE Xperia Play. андроид, зато с выдвижным геймпадом
                              0
                              Я понимаю, что пока концепт, но когда ждать в железе?
                              –1
                              Эх. Мой опыт программирования на JS (в связке с HTML и CSS) подсказывает, что лучше бы в Web тащили языки вроде C#, Java, чем наоборот.
                                –2
                                ASP, JSP
                                  –2
                                  Имеется в виду браузер. Я на Silverlight намекаю, например.
                                    +1
                                    были потуги. GWT например
                                      0
                                      GWT, насколько я понимаю — это трансляция в JavaScript. Я о том, что лучше бы вместо JavaScript в браузерах использовали Java- или CIL-машину. И с трансляцией, и с производительностью, и с языком было бы меньше проблем.
                                        0
                                        C производительностью, возможно, вы правы (хотя никто не запрещает компилировать JS в бинарник) а вот с языком-то какие проблемы?
                                          +2
                                          Промежуточный язык типа CIL как стандарт в браузере позволил бы каждому писать на любимом языке, а не ограничиваться одним JS, который страдает как минимум от WAT и отсутствия стандартной библиотеки.
                                            0
                                            Стандартной библиотеки для делания чего? В JavaScript есть встроенные в язык массивы, словари, определены операции над ними, определены классы и объекты для работы со строками, со временем, есть математические функции.

                                            Это то, что касается непосредственно языка. Всё остальное — варианты использования этого языка в различных средах. Классы и объекты, описывающие среду исполнения, могут различаться.

                                            Например, в node.js может, в отличие от браузера, не быть понятия Window, зато будет HttpServer — какой смысл всё это включать в одну, «стандартную» библиотеку?
                                              0
                                              Да даже список коллекций не ограничивается массивами и словарями. Это ещё не говоря о том, что стандартные словари в качестве ключей нормально работают только со строками и мб числами. Где множества, хэш-таблицы, деревья поиска, списки и т.п.?
                                                +1
                                                Согласен, что не ограничивается. Но, стандартная библиотека, содержащая много таких специализированных структур данных, будет большой по объему и медленно прогрессирующей. Какой в этом смысл для быстро развивающихся веб-приложений? Кто эту библиотеку будет поддерживать, ведь на это необходимы немалые ресурсы?

                                                Сейчас есть много маленьких открытых библиотек, каждая из которых предоставляет строго определенные функции и слабо зависима от других библиотек, как по коду, так и по сообществу разработчиков. За счет этого возникает конкуренция и развитие, появляются новые библиотеки, более эффективно реализующие уже известную функциональность.

                                                Один из примеров: Crossroads.js — одна из реализаций паттерна Route/Dispatch — паттерн довольно стандартный для веб-приложений, можно было бы включить в «стандартную» библиотеку. Но, раз появляется такое большое количество альтернативных реализаций, значит, какая-то одна из них многих не устраивает. А из альтернатив обычно можно выбрать наиболее подходящую для Вашего ПО, и не быть загнанным в рамки стандартной библиотеки.

                                                Другой пример: succint trie для эффективного хранения массивов слов вряд ли войдет в «стандартную» библиотеку — слишком специализировано (далеко не всем нужно хранить большие массивы слов). Но, тем не менее, для Вашего прикладного ПО такая функциональность может понадобиться, и вы ее подключите без проблем при необходимости.

                                                Обычно, если Вы находите замену для функций, реализованных в рамках стандартной библиотеки, то последняя становится больше грузом, от которого невозможно избавиться, чем полезным подспорьем. И, опять же, обычно, бывает так, что заменяются не все функции, поэтому полностью избавиться от нее полностью невозможно. Да, можно организовать «стандартную» библиотеку в виде модулей — но тогда они по сути ничем не будут отличаться от уже существующих и, зачастую, признанных сообществом, открытых библиотек.

                                                Никто не мешает крупным компаниям выпускать свои библиотеки и разрабатывать стандарты. Например, компания Zend вообще переписала движок PHP, а также разработала собственный фреймворк, который стал популярным в настоящее время, поэтому можно назвать его одним из стандартов в среде PHP. Google, в свою очередь, разработала Closure Library для JavaScript — чем не стандарт, который может принять разработчик при поиске средства реализации того или иного проекта.

                                                Еще одно следствие наличия одной «стандартной» библиотеки — невозможность в короткие сроки предложить что-то, возможно, лучшее, взамен: огромные усилия требуются создателям Mono при повторной реализации созданной Microsoft'ом «стандартной библиотеки», чтобы обеспечить совместимость прикладных программ.

                                                Подводя итоги: я за то, чтобы в базовой функциональности было только самое необходимое. Пусть разработчики движков хотя бы о реализации этого договорятся между собой. Остальное должно оставаться почвой для конкуренции.
                                              0
                                              P.S. Насколько я знаю, CIL — это объектно-ориентированный ассемблер, то есть для него определена только архитектура виртуальной машины и система команд. Классы и объекты, входящие в «стандартную библиотеку» (например, Microsoft .NET) — это уже более высокий уровень. Они предназначены для исполнения на этой виртуальной машине и будут предоставлять некий программный интерфейс в её терминах, а реализованы будут либо на CIL, либо, в угоду оптимизации, написаны или скомпилированы из CIL в процессоро-зависимые инструкции.
                                  +2
                                  Ой ли? Недайбог всё производители так сделают — и будет ситуация аналогичная различным браузерам и их версиям.
                                  Вроде такого:
                                  Ой, я у меня кнопка уползла. Наверное не прописали хак для $BROWSER_NAME.
                                    +4
                                    $BROWSER_NAME у всех будет один — Mozilla же разрабатывает. Зато раз в полтора месяца будет выходить новая версия ОС, правда половина приложений будет переставать работать в новой версии, но это можно будет пофиксить специальным хаком реестра :)

                                    Интересно, когда Opera сделает себе мобильную ОС…
                                      0
                                      Так у Оперы оно уже давно… Вот, например: www.opera.com/business/sdk/
                                      На практике выглядит как ядро Линукса (по сути ванильное + пропиетарный референсный модуль от производителя оборудования) у которого сразу после загрузки запускается Опера (или WebKit, или какой-нибудь ANT Galio на базе все того же FF) с дополнительными библиотеками поддержки оборудования, которые экспортируют для JS-приложений специальные объекты, реализующие API. Ну и все. :-)

                                      ps: Производители, кстати, довольны как слоны: им по GPL достаточно выложить тупо ядро Линукса, а все самое интересное, где «мякотка» — пропиетарное и раскрытию не подлежит. :-) Я после того, как всего этого насмотрелся — в GPL перестал верить…
                                        0
                                        Разъясните пожалуйста по поводу GPL. Как я понимаю, если исходный продукт выпущен под GPL, то и производный от него также должен релизиться под GPL с сорцами. Если в данном случае исходный продукт выпущен под другой лицензией — не обязывающей раскрывать свои исходники, то зачем тогда вообще что-то под GPL релизить?
                                        Извините, если нубство…
                                          0
                                          О каком конкретно продукте идет речь? Я же не о программе какой-то, а в целом о прошивках embedded-девайсов. Достаточно долгое с ними взаимодействие показывает полный fail GPL'а, т.к. производители выкладывают только то, что обязаны (обычно — ядро линкса и busybox), но сообществу от этого — толку никакого… А кто хочет — тот и вообще ничего не выкладывает, а потом начинаются эпические судебные процессы из-за все того же busybox'а… Собственно, я сам поэтому и против GPL (в пользу BSD), т.к. не вижу в ней на практике реального смысла. :-)
                                            0
                                            вы не правы. GPL тут не при чём. GPL — это не LGPL. разрабы обязаны выкладывать заодно и все исходники к дровам и т.п., что в конце концов приводит к обязанности выложить весть vendor-specific, кроме кастомных лоунчеров и прочего UI-треша. другое дело, что по ясным причинам, этого никто не делает. да, нарушение лицензии. а разруливанием ситуации заниматься некому. не Торвальдсу же по судам бегать.
                                              0
                                              Вы не правы. Самописные модули ядра не являются «derived work» в терминал GPL, поэтому, разумеется, не обязаны быть под ней. А в случае embedded именно в вендорских модулях вся радость-то и сокрыта… :-)
                                                0
                                                зависит от типа линковки с ядром. я в прошивках телефонов не разбираюсь, но раньше был уверен, что они компилят одно цельное ядро.
                                                  0
                                                  Вот у меня сейчас на столе девайс (правда тоже не телефон ;-) ) — на флеше блоки ядра и корневой записаны. Ядро — почти ванильное MIPS'овское — там ничего интересного нет. Весь функционал работы с оборудованием лежит в пропиетарном модуле на ФС, который ядро подгружает при загрузке. И все, кто не хочет/может идти на контакт — делают также и ничего тем самым не нарушают…
                                                  0
                                                  > Самописные модули ядра не являются «derived work» в терминал GPL
                                                  Вот про это я и спрашивал. Можете разжевать?
                                                  Для меня embedded device представляет программно-аппаратный комплекс (если хотите в «советской терминологии») и, опять же, мне кажется, что мой продукт, работающий на базе (из под) программной среды с GPL лицензией, можно назвать производным. Я наверняка неправильно трактую. Поэтому и спрашиваю.
                                                    +1
                                                    Ой, ну я на самом деле не настолько большой спец в GPL, чтобы мог в деталях разжевывать. :-) Чтобы работа не была признана производной — она должна быть независима от работы, лицензированной по GPL. Если программа просто реализует некоторый интерфейс (например — является модулем ядра, который ядро само подгружает и использует, а не наоборот), то производной от тех, с которыми она по этому интерфейсу общается, — не является.
                                                    На самом деле, тут действительно достаточно тонкая граница: если мы пишем программу и не линкуем ее статически с какой-то библиотекой, то по сути тоже можно говорить о реализации некоего интерфейса-API, однако же линковка производный продукт создает…
                                                    Насчет «программно-аппаратных комплексов» — это надо уже GPLv3 смотреть, но т.к. Линукс использует вторую версию — все вендоры довольны. :-)
                                                      0
                                                      Спасибо.
                                                        0
                                                        Наткнулся на курсы от free-electrons. На пятом слайде:
                                                        The whole Linux sources are Free Software released
                                                        under the GNU General Public License version 2 (GPL v2).
                                                        For the Linux kernel, this basically implies that:
                                                        When you receive or buy a device with Linux on it,
                                                        you should receive the Linux sources, with the right to
                                                        study, modify and redistribute them.
                                                        When you produce Linux based devices, you must
                                                        release the sources to the recipient, with the same rights,
                                                        with no restriction

                                                        Опять ничего не говорится как должны релизиться модули которые входят в ваш продукт, который как раз «Linux based» будет. Или тогда две отдельных фирмы должны работать совместно — одна релизит устройство с сорцам линукса, а другая софтовую проприетарщину. Так?
                                                          0
                                                          Нашел в тех же слайдах разъяснения по вопросу лицензирования. Модификации кода ядра линукс и модули, которые компилируются вместе с ядром должны релизиться под GPL. Драйвера к железу, такие как, например, драйвера для видеокарт от NVidia/ATI расположились в «серой зоне», т.е. формально могут быть проприетарными, хоть это и не одобряется каммьюнити. А вот драйвера и другой софт в «User Space» уже свободны.
                                            0
                                            последние 4 версии FF количество репортов о несовместимости дополнений можно сосчитать на пальцах.
                                              0
                                              Наверное, в этом и проблема — после каждого апдейта количество репортов о несовместимости дополнений можно сосчитать на пальцах :)
                                              В Google Chrome я установил дополнения год или даже два назад и они до сих пор работают, а Firefox после каждого апдейта показывает мне список несовместимых дополнений.
                                                0
                                                я имел в виду количество _вообще_. на весь мир. за все 4 версии. эта цифра настолько мала, что разрабы FF ЕМНИП решили со следующей версии отключить эту процедуру после обновления браузера.

                                                я не представляю, какие там у вас несовместимые дополнения вдруг появились. у меня ни разу ничего не было.
                                          +2
                                          Может, не совсем по существу, но все же не стоит вводить читателей в заблуждение такими фразами:
                                          не имеет операционной системы в традиционном понимании этого слова

                                          и, в то же время,
                                          Boot2Gecko — полностью открытая платформа на базе ядра Linux.


                                          Операционная система, в традиционном понимании этого слова, — это прослойка между аппаратурой и прикладными программами. Её не может не быть на устройстве.
                                            +2
                                            Браузер будет прослойкой между прикладными программами и аппаратурой.

                                            Сейчас: ядро (драйвера) — операционная система умеющая запускать разные программы и имеющая доступ к железу — браузер — вебприложения.
                                            Будет: ядро (драйвера) — браузер с доступом к железу — вебприложения.

                                              +2
                                              Все-таки, доступ к железу будет обеспечивать ядро Linux. А браузер будет обращаться к драйверам, к файловой системе (это уже далеко не железо) — точно так же происходит и в нынешних ОС.

                                              Единственное отличие — графический интерфейс реализован с помощью веб-движка. Все равно существует прикладная программа «Браузер» (пусть, написанная с использованием веб-технологий), которая использует графический интерфейс (читайте, встроенный веб-движок + фреймворк Gaia) для отображения элементов управления и веб-страниц.
                                                0
                                                Сейчас: ядро (драйвера, фс, сеть) — шелл (включая иксы и DE) — браузер — вебприложения. Браузер обращается как к API ядра (драйвера, фс, сеть), так и к API шелла (графика, UI).

                                                Будет (если я правильно понял): ядро (драйвера, фс, сеть) — браузер — вебприложения. Браузер будет обращаться к ядру как сейчас (драйвера, фс, сеть), так и рисовать сам (графика, UI). А может иксы или что-то вроде этого оставят (было бы разумно, если от парадигмы окон и т. п. не уходят) и браузер заменит собой только DE. Грубо говоря вместо гнома, в котором запускается файерфокс, будет сразу грузиться файрфокс, с расширенным апи, предоставляющий страницам доступ к драйверам, фс, сети.
                                              0
                                              А как же Open WebOS и Envy? :-(
                                                +1
                                                С поддержкой Телефоники у него есть все шансы стать реальным
                                                  0
                                                  Mer, не, не слышали?
                                                    0
                                                    In October 2011 the Mer project was announced, centered around a ultra-portable Linux + HTML5/QML/JS Core for building products with, derived from the MeeGo codebase.

                                                    Вроде пытаются что-то подобное из тушки сотворить
                                                    +2
                                                    Ух! Скорей бы!
                                                      0
                                                      Идея интересная. Концептуально это что-то вроде Google Chrome OS для смартфонов, только интеграция веб-приложений и железа происходит на более глубоком уровне. На лэптопах такая схема, вроде как, пошла не очень, посмотрим как это пойдет.
                                                        +4
                                                        <вопль> Уберите, уберите пожалуйста 'плавные' выезжания и слайдирования. </вопль>
                                                        Вы заметили, с какой скоростью работает сей девайс? Даже панелька с набором номера выезжает с заметным лагом.

                                                        Где же развитие той самой части, что является телефоном — звонилка, адресная книга. В android например до сих пор не ввели качественного поиска контактов при использовании клавиатуры набора номера (имею в виду учет t9 в процессе набора для поиску одновременно по имени, телефону, и вообще всем полям контакта), да вендоры сами что пилят (к примеру у HTC есть своя).

                                                        Интересно, доступ к радиомодулю сделан достаточно абстрагировано? А интерфейс звонилки? А настройка прав доступа? Можно ли будет дать доступ к адресной книге вебсайту или 'приложение необходимо установить'?
                                                          +1
                                                          когда появлялись утечки q3 (не говоря уже о doom3 ) все тоже писали вполь — на каком железе это будет работать.

                                                          Сейчас q3 можно пускать на мобильных платформах.

                                                            0
                                                            до сих пор не ввели качественного поиска контактов
                                                            Так ведь код будет открытым а зная Фонд Мозиллы, можно подозревать, что ещё и с расширениями.

                                                            Поэтому, кто захочет заапгрейдить поиск контактов и сделать его существенно более качественным, тот просто возьмёт в руки клавиатуру да JavaScript, сочинит крутонавороченный поиск и выложит на GitHub — забирáйте, люди дóбрые, пóльзуйтеся, фóркайте, жду ваших пулреквéстов!
                                                              0
                                                              Я не помню когда последний раз пользовался таким архаизмом как поиск в контактах по T9(кстати у меня на моторола дефай он работает).
                                                              Гораздо ведь удобнее поиск c qwerty клавиатуры. или если база контактов небольшая — выбрать напрямую.
                                                              Да и вообще избранные контакты рулят. А у Моторолы еще и сами создаются временные ярлыки в избранном на те контакты с которыми ты более менее часто говорил за последний день.
                                                              0
                                                              А на видео видно то как тормозит)
                                                                0
                                                                Слабо верится в будущее такого девайса не текущем этапе развития техники. Обработка HTML и яваскрипта очень сложна с точки зрения нагрузки на процессор. Нативные приложения как раз для того и создаются, чтобы упростить задачу процессору. HTML имеет слишком давнюю историю и был предназначен не для этих целей. Думаю, что это не тот путь, по которому стоит идти.
                                                                  +1
                                                                  Хочу
                                                                    0
                                                                    Ёлы палы, дак это же WebOS от HP :-)

                                                                    Only users with full accounts can post comments. Log in, please.