Как стать автором
Обновить

Комментарии 8

Прекрасно. Предположим, сейчас я пишу приложение, которое использует камеру, которое проводит некую обработку, полученного с камеры изображения и вновь выводит его на экран. Даже java код иногда тормозит при этом и приходится тратить много усилий для его оптимизации. Сейчас я вообще прихожу к тому, что бы вынести этот код в NDK. Как дела обстоят с этим в JavaScript API? Этот вопрос абсолютно актуален для большинства приложений дополненной реальности и игр. Или же использование JavaScript сразу ограничивает сферу применения приложений?
Совершенно согласен, что js api не позволят ( да и не должны по-сути ) сделать подобное. Но, согласитесь, было бы неплохо написать сам интерфейс программы на html/css/js, предоставив ядру (java) делать преобразования видео.
Хотя относительно работы с медиа в браузерах тоже есть прогресс. Кто знает, может быть далее разработают и для медиа-потоков фильтры, подобные уже реализованным фильтрам для изображений:

Но уже сейчас видны предпосылки для использования css/html/js в мобильных интерфейсах:

Игры уже пришли в веб (сначала на flash, потом на html5/css3/svg), хотя совсем недавно такие возможности казались весьма призрачными.
Но, повторяюсь, безусловно, это нисколько не уменьшает преимуществ нативных приложений в отношении скорости. Интерфейс на css/html/js — да, удобно, тяжелые вычисления — безусловно нативное ядро или java.
Хотя многие клиенты сервисов (facebook, twitter,… ) наверняка могут быть полностью реализованы в качестве приложений на css/html/js.
Я, возможно, ошибаюсь, но развитие в этой сфере вижу так: Действительно HTML/css идеально подходит для описания интерфейса. Поэтому было бы неплохо, если бы в будущем появилась технология, которая забрала бы самое лучшее из мультиплатформенности HTML/JavaScript и скорости нативного кода, так как браузер, на мой взгляд не дает полной гибкости работы, я не говорю уже про производительность (речь пока только про мобильный сегмент).
К JavaScript'у легко приделывается Java bridge с вызовами желанной библиотеки на c/c++. Конечно, для реал-тайм процессинга audio/video не подходит, а вот для других задач может быть в самый раз.
В черновиках статья — «Почему именно сейчас стоит начать заниматься frontend-разработкой».

В последнее время все чаще статьи на Хабре подробно описывают некоторые из пунктов этой статьи. Теперь вот думаю что делать :)

По существу: я считаю, что html+css+javascript в ближайшие два-три года очень плотно придут на мобильные платформы. WebGL, canvas, Javascript Mobile API, Firefox OS. Это очень радует )
Javascript+HTML5 и PhoneGAP давно уже не новость, как и всевозможные упаковщики сайтов в мобильные приложения. Но технология большого распространения все равно пока еще не получила.
У facebook было изначально приложение на html5, которое Цукерберг закрыл и назвал наибольшей ошибкой.
www.businessinsider.com/mark-zuckerberg-html5-mobile-2012-9
Сейчас конечно спорят с его словами
www.theregister.co.uk/2012/09/14/facebook_html_5_vs_native_apps/
но суть остается в том, что не все так просто.

Например, phonegap не дает никакого графического интерфейса (все нужно делать на html5 и css3), с одной стороны это как бы преимущество с другой стороны имеем проблемы.

1. Пользователь хочет и ожидает увидtть стандартный интерфейс ios или android (а они отличаются и довольно сильно), а получает, что-то другое и это что-то зачастую ему не нравится (да просто потому что другое).
2. Пытаемся имитировать стандартный интерфейс. Теряем в «кроссплатформености» интерфейса (у нас на адроиде будет айфоновсrий интерфейс или наоборот). Зачастую получаем тормозное приложение, которое все называют жалким подобием нативного.
3. Быстрее таки делать интерфейс стандартными контролами, да и проектировать его тоже.

Еще забыли про Sencha Touch 2 упомянуть. Хотя может не совсем в тему, т.к. этот фреймворк не дает api к девайсу, но дает стандартные контролы (как в ext js) для разработки мобильных приложений на javascript и кстати все это очень неплохо работает. Зачастую скрешивают Sencha Touch c phonegap
Да, действительно, не все так просто. Но соблазн писать интерфейсы приложений на единых технологиях под всеми платформами достаточно велик.
Относительно ожидания пользователем стандартного интерфейса — тут как раз не должно быть проблем. Можно достаточно несложно определить какая OS работает на стороне клиента и подгрузить соответствующий layout с ui-компонентами, выполненными в стиле этой платформы, благо bootstrap-ов под все стили GUI уже сейчас хватает (вот, на «вскидку»: iOS, Metro#1, Metro#2, Metro#3, facebook, google и, собственно сам twitter ).

Здесь надо отметить, что пользователь не всегда ждет «нативных» gui-элементов. Например, в случае приложения под какой-то сетевой сервис (например facebook) пользователь ждет ui от фейсбука, а не андройда или iOS.
Кроме bootstrap возможно использовать web-ui-компоненты, которые поддерживают сами разработчики сервисов ( facebook, google, yahoo ).

Хотя соглашусь, что для всех этих сервисов ( почти для всех ) есть SDK под популярные OS. Насколько полные и удобные эти SDK, входит ли в них полный комплект необходимых UI-элементов судить не вправе, т.к. не считаю себя специалистом в этой области.

Однако с уверенностью могу сказать, что уже сейчас в html/css/js существуют гибкие и эффективные механизмы (например Media Queries (w3c), flexbox (w3c),… ), которыми можно и нужно пользоваться для создания адаптивных интерфейсов под разные типы устройств.

Насколько станет популярным использование веб-технологий в разработке интерфейсов именно мобильных приложений — покажет время. Но такой тренд есть и есть все условия для его продвижения.
Большое влияние на него будет оказывать W3C (со своей «неповоротливостью» во внедрении новых версий стандартов), разработчики браузеров (насколько точно они будут следовать рекомендациям W3C), действия основных игроков на рынке веб-сервисов (facebook, google, twitter,… ) — будут ли они расширять свои html/css/js-SDK.

Тут надо отметить, что позиция twitter по этому поводу предельно ясна — его bootstrap в течении этого года произвел впечатление на многих разработчиков, и bootstrap-way уже по-праву может считаться отдним из самых популярных IT-трендов ушедшего года.
По прошествии 1.5 лет могу сказать, что PhoneGap по прежнему не впечатляет. Но..Titanium оказался вполне годным для коммерческой разработки.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории