Flash на Android — как это на самом деле

Вы же знаете, как я люблю темы про Flash — еще бы, такой суперстандарт, открытый, распространенный, высокопроизводительный, безопасный, вовремя обновляемый (not). Вот и сегодня я не удержался от того, чтобы не перевести еще одну статью с восторгами о том, как замечательно работает Flash на устройствах с системой Android.
————–
Большие экраны, емкие батареи, мощные процессоры — все это дает основания полагать, что планшеты хорошо подходят для насыщенных мультимедиа приложений, которые не очень совмещались с обычными смартфонами. Но Apple, как известно, не пускает Adobe Flash на свои устройства с iOS, в том числе и на iPad. Это создает отличную возможность для конкурирующих производителей планшетов заполнить эту нишу.
На сегодня основным конкурентом iPad является Motorola Xoom, которую можно приобрести в США у Verizon с февраля. Xoom — это первое устройство, которое поставляется с новой операционной системой Google Android 3.0 под кодовым названием Honeycomb, у которой присутствует новый интерфейс, “разработанный с нуля для планшетов”.
Когда InfoWorld сравнил Xoom с первым iPad, мы обнаружили, что планшет от Motorola оказался достойным, хотя и более слабым конкурентом, и разрыв стал еще больше, когда мы сравнили его с новым iPad 2. Но оба обзора проводились, когда ни одна из платформ не поддерживала Flash. С тех пор Adobe выпустила бета-версию Flash Player 10.2 для Android, что сделало Honeycomb первой планшетной платформой с поддержкой Flash.

Станет ли Flash тем фактором для Android, который наконец-то даст планшетам с Android четкое преимущество по сравнению с iPad? Я решил выяснить, поэтому я схватил наш тестовый Xoom и отправился в путешествие по сайтам с Flash. К сожалению, мои результаты не сильно меня порадовали.
Видео
Установить Flash Player 10.2 легко, его можно скачать бесплатно с Android Market. Владельцы планшетов с Honeycomb, которые хотят запустить Flash Player, должны обновиться до Android 3.0.1, который Motorola выпустила для владельцев Xoom в марте.
[ad#intext-inside]
Для Android нет самостоятельного приложения. Установщик просто добавляет поддержку Flash в веб-браузер Android, на подобие того, как модуль Flash делает это в настольном браузере.
Adobe также предлагает отдельное приложение Adobe Flash Showcase, которое не более чем набор ссылок к определенным сайтам с Flash. Я сомневался, что эти тщательно отобранные сайты дадут мне полную картину. Я хотел посмотреть, как Flash Player поведет себя в реальных сценариях, поэтому я пропустил демо Adobe и пошел искать свой собственный контент с Flash.
Видео — это наиболее популярное применение Flash на сегодня, поэтому я попробовал его в первую очередь. Забавно, но мне было непросто найти место для проверки. В Xoom встроен видеопроигрыватель, который автоматически запускается, когда вы просматриваете содержимое YouTube или DailyMotion, поэтому для этих сайтов не нужен Flash. С другой стороны, Hulu вообще не работает при установленном Flash, все, что он говорил, было “К сожалению, это видео недоступно для вашей платформы. Извините за неудобство”.
На сайтах, где я мог посмотреть видео во Flash — например, Comedy Central и MTV — результаты были разными. Качество воспроизведения было чаще всего нормальным, но местами дергалось, а аудио периодически выбивалось из синхронизации. Видео, которое выглядело замечательным в полноэкранном режиме, как-то деградировало в качестве при уменьшении размера. Хуже то, что в некоторых плеерах Flash инструменты управления было практически невозможно активировать — видимо, из-за сенсорного интерфейса планшета.
Сенсорное управление
По мере продолжения тестов, стало понятно, что эти первоначальные проблемы не ограничивались видео. В целом, Flash Player для Android 3.0 плохо справляется с изменением размера растровых изображений. Это стало особенно понятно при изменении размеров растрового текста, который становился “в пикселях” и сложночитаемым при небольших размерах.
Сложности с навигацией в интерфейсе Flash на сенсорном устройстве очень волнуют, и, к сожалению, они повсеместно распространены на платформе Flash. Разработчики Flash гораздо чаще, чем обычные веб-разработчики, заполняют интерфейс различными rollover (появление объекта при наведении курсора), модной анимацией, и симпатичными, но нестандартными элементами, которые толком не работают на устройстве с небольшим экраном и без мыши.
Прокручивание экрана — особенно вопиющий пример. Планшеты Android не используют привычных скролл-баров интерфейса, где есть мышь, пользователи прокручивают объекты жестами по экрану. Flash-приложения не понимают этой концепции. Когда видео с Flash загружается в окне браузера, эта часть окна больше не отвечает на жесты. Если вам надо прокрутить окно — скажем, чтобы Flash был посередине экрана — вам надо осторожно прикоснуться пальцем в той части окна, которая относится к HTML, так что браузер будет знать, что вы пытаетесь прокрутить окно.
Так происходит в большинстве случаев. Худшая часть — это непоследовательное поведение плеера. Это действительно раздражает, когда на странице смешано много HTML и Flash. Интерфейс превращается в перетягивание каната между браузером и Flash Player, где каждое прикосновение приводит к разным эффектам, кажется даже, что к случайным. В зависимости от того, где оказался ваш палец — или же от времени — одно прикосновение может быть распознано как команда для браузера, а следующее может активировать элементы управления в Flash-фильме, а еще следующее может не сделать ничего. Adobe просто не сделала достаточно для того, чтобы работать с сенсорными интерфейсами.
Приложения? Забудьте!
Не стоит и говорить, эти недостатки накапливаются, когда вы пытаетесь использовать Flash Player для настоящей работы. Для своего следующего задания я хотел увидеть, как Xoom будет работать со сложными приложениями на Flash. У меня был на примете замечательный тест-пытка: собственный сайт Adobe Acrobat.com, где присутствует набор офисных приложений, реализованных на Flash. К сожалению, на Xoom меня встретило следующее сообщение: “Извините, но Adobe Acrobat.com несовместим с вашим браузером на данный момент. Пожалуйста, установите поддерживаемый браузер”. Это должно было мне о чем-то намекнуть.
Когда я нашел демо-приложения Adobe Flex, которые бы загрузились в браузере Android, меня ждало горькое разочарование. Визуально они были достаточно приятны, но они не подстраивались под размеры экрана планшета, что означало, что мне надо было много прокручивать содержимое экрана (где это было возможно). Элементы интерфейса были нестандартными, и многие исходили из того, что у меня есть мышь.
Хуже всего — ввод текста в формы, основная часть любого бизнес-приложения. Когда загружалась форма на Flash, мне фактически приходилось тыкать пальцем в экран Xoom шесть или семь раз, прежде чем мое прикосновение засчитывалось за клик. Некоторые случайным образом выбранные поля форм подсвечивались независимо от того, куда попадал мой палец, и показывалась экранная клавиатура. И горе мне, если подсвечивалось неправильное поле, так как при нажатии Tab и Shift-Tab поле ввода переключалось между формами только вперед. Похоже, что способа переключаться назад нет, и я опасался выбирать другое поле с помощью прикосновения. По сути, формы на Flash вообще невозможно использовать на сенсорном экране планшета с Android. Забудьте о них.
А что с играми? Даже там мне не особо повезло. Одна простая игрушка, где надо было тыкать в надувные шары, показалась в окне браузера, затем необъяснимо переместилась вверх и влево, оставив белый квадрат, где должен был быть контент Flash. Я мог прокрутить окно, чтобы увидеть экран игры, но для управления игрой мне все равно надо было тыкать в белый квадрат. Это было безнадежно.
По моим наблюдениям, была лишь одна-единственная вещь, которую успешно выполнил Flash Player на Android 3.0. На базовом браузере Android контент Flash невидим, так что вы не замечаете всю рекламу на Flash. Когда вы устанавливаете Flash Player, все эти рекламы внезапно появляются там, где они раньше отсутствовали, с анимированной графикой, лезущей под пальцы, как тараканы на обеденном подносе — уже достижение.
Не тот дроид
Справедливости ради, надо сказать, что Flash Player 10.2 существует в виде релиза для смартфонов с Android 2.2 и 2.3, и в виде бета-версии для Android 3.0. Вполне возможно, что некоторые из проблем, с которыми я столкнулся, будут исправлены в финальной версии. Но при этом, когда я провел те же тесты на смартфоне с Android 2.2, единственная проблема, которая решилась — проблема с убегающим экраном игры, а приложения на Flex было также невозможно использовать, как и на Xoom. Поэтому неважно, смартфон у вас или планшет, вам не скрыться от того факта, что многие Flash-приложения просто не разработаны для работы с сенсорными экранами.
Так что на данный момент, поддержка Flash не может быть причиной для покупки Xoom вместо iPad. Если вы надеялись, что Flash Player откроет вам новый мир контента, вы будете разочарованы. Работа сайтов с Flash на устройствах с Android — как повезет. Если вы разрабатываете приложения на Flex для вашего бизнеса, чтобы можно было работать с ними с мобильных устройств, мой вам совет — переходите на HTML/
[ad#intext-inside]
Есть еще один момент, который стоит отметить: Adobe AIR, среда для работы Flash-контента в виде самостоятельных приложений, также доступна в виде отдельной загрузки для Android 3.0. Вам не надо устанавливать Flash Player или включать контент в браузере для использования приложений AIR, и насколько я могу сказать, приложения AIR, доступные в Android Market на данный момент, более-менее работают. Основная разница в том, что эти приложения были разработаны специально для смартфонов и планшетов Android — и если вы выбираете этот путь, почему бы не использовать Android SDK вместо Flash?
И о хорошем — похоже, что заявления о том, что Flash Player убивает батарею, похоже, не очень обоснованные. Я не сказал бы, что он съедает больше батареи, чем обычная игра. Но вы знаете, что использует еще меньше энергии, чем Flash Player для Android? Если вы его вообще не установите.
Оригинал