Сегодня Flash – достаточно перспективная и широко распространенная технология. Flash-разработчики стали неотъемлимой частью практически всех IT компаний, некоторые из которых посвящают себя целиком только Flash решениям.
Ты помнишь, как все начиналось…
Наверняка уже никто не помнит, какой эффект в далеком 1989-м году произвел на пользователей интернета первый анимированный GIF, появившийся на web-странице, но именно это, удивительное по меркам того времени, явление стало первой ласточкой в развитии анимационного и интерактивного контента, привычного большинству современных посетителей глобальной сети. У пользователей старших поколени й еще свежи в памяти хаотично дергающиеся стрелочки, прыгающие восклицательные знаки, пиксельное двухкадровое пламя и вращающийся земной шар, которые встречались на каждом втором сайте. Однако, если в то время анимация производила на пользователя эффект, уже описанный Ильфом и Петровым с участием Эллочки и ситечка, то сегодня никого из нас не удивить демонстрацией видеороликов и онлайн-конференций, виртуальными мирами интернет-игр, прослушиванием в сети любимой музыки, созданием самостоятельных красочных открыток, просмотром и редактированием фотографий, яркими интерактивными баннерами и другими модулями, наполняющими динамикой и жизнью обычные сайты. На просторы интернета переносится все — от персональных художественных выставок и видеоконцертов до аналогов таких известных программных продуктов, как Microsoft Word и Adobe Photoshop, а темпы этого переноса таковы, что через несколько лет привычный нами набор программ может существенно уменьшиться, уступив место его онлайн-версии. И что особенно приятно сознавать, за большинством всех этих интерактивных модулей стоит технология Flash.
Боязнь использования
Несмотря на то, что Flash прочно занял нишу мультимедиа, фотогалерей, анимационных баннеров и онлайн-презентаций, не все заказчики решаются разместить flash модуль на своей странице. Отчасти это происходит из-за недостатка знаний о такой технологии, отчасти — от сомнительной боязни потерять процент пользователей у которых не установлен проигрыватель flash роликов на web-странице. Иногда причиной может являться наличие негативных впечатлений от работы с громоздкими, притормаживающими и использующими все ресурсы компьютера flash модулями в прошлом и отсюда — недоверие к технологии в настоящее время. Все эти факторы указывают на то, что разработка любых приложений на Flash достаточно ответственный процесс, поскольку споры о пользе и вреде использования этой технологии не утихают уже много лет и зачастую случается так, что удачи или промахи одного человека могут стать определяющими в формировании мнения о технологии в целом. Если в некачественном html-кодировании сайта винят html-верстальщика, в отталкивающем дизайне сайта винят дизайнера, а в большом количестве пропущенных багов винят тестировщика, то в тормозящей или неудобной Flash части неискушенные пользователи винят саму технологию, зарекаясь от ее использования в дальнейшем. Развитию такой ситуации в свое время способствовало множество сайтов и компонентов, сделанных любителями, где качество исполнения, удобство и уместность использования Flash оставляло желать лучшего и, как правило, только отталкивало посетителей.
А может рискнем?
Тем не менее, Flash стабильно набирает обороты уже много лет и продолжает удивлять пользователей оригинальностью областей применения и качеством продукции. Этому способствует опыт, накопленный за время развития технологии, появление хороших наработок, создание банков готовых типовых фрагментов кода, классов, компонентов, а самое главное — энтузиазм разработчиков, благодаря которому находятся все новые области применения этой технологии. По утверждению Adobe, сегодня Flash player установлен у 98% пользователей интернета (http://www.adobe.com/products/player_census/flashplayer/), помимо этого существует достаточно приемов автоматической установки плеера, в случае его отсустствия, что практически снимает ограничение на использование Flash, если это необходимо. Flash изначально поддерживает кроссбраузерность и хорошую поддержку в различных операционных системах, максимально расширяя аудиторию потенциальных клиентов. Эта технология позволяет получать компоненты рекордно маленьких размеров при максимальной функциональности, используя при этом как растровую, так и векторную графику, анимацию и любые интерактивные элементы для взаимодействия с пользователем. На Flash создаются игры, казино, мультфильмы, реклама, музыкальные видеоклипы. В связке с Win32 приложениями (новая технология Adobe Air позволяет уже обходиться без этих связок) на флеше создаются анимированные презентации, программы автозапуска для дисков и даже графические редакторы. Добавим к этому официальное использование Flash на сайтах Adobe, Nvidia, Yahoo, Yandex и сотнях других и получим весьма перпективный продукт, способный перевернуть мнение пользователя интернета об удобстве пользования web-ресурсами.
Flash-разработчик
Думаю, после такого описания всех возможностей Flash вы считаете, что я в лучшем случае тайный PR-менеджер данного продукта, получающий с продаж проценты, а в худшем — представитель секты «flash-разработчики седьмого дня». Оба этих мнения ошибочны 🙂 Flash, при всех его возможностях является всего лишь замечательным инструментом, однако без музыканта его возможности ничего не стоят. Именно таким музыкантом и является flash-разработчик. Возможно это звучит немного напыщенно и высокопарно, но я не зря упомянул о связи с музыкой, поскольку придерживаюсь мнения о том, что создание хороших flash приложений задача достаточно нетривиальная и далеко не каждый хороший программист способен стать хорошим flash-разработчиком. Создание действительно качественных flash модулей всегда содержит в себе некоторый элемент искусства, поскольку подобные приложения создаются, чтобы удивлять посетителей сайтов своей неординарностью, простотой, удобством, да и просто красотой исполнения. В отличие от обычных программистов, flash-разработчик всегда готов быть инициатором нововведений, эффектов и графических экспериментов для придания своему продукту творческой индивидуальности и неповторимости.
Хороший flash-разработчик как правило всегда имеет достаточные навыки в создании архитектуры приложений и графическом дизайне для создания не только функциональных, но и удобных для пользования flash модулей. Не менее важным навыком является умение объективно определять необходимость использования Flash в каждом конкретном случае — умение отказаться от flash разработки там, где ее использование может навредить удобству пользования приложением не менее ценно, чем создание качественного продукта.
Сегодня flash-разработчикам приходится развенчивать множество мифов о своей работе и своих продуктах. Самыми популярными из них явлются:
- flash сайты не могут хранить никаких данных о пользователе
- неудобство flash сайтов состоит в том, что в них не работает навигация
- при работе с flash сайтами в адресной строке ничего не отображается
- flash модули громоздки и очень ресурсоемки
- содержимое flash модулей невозможно менять без специфичных навыков
- flash тормозит страницу и раздражает пользователей
- flash на 99% неприемлем (персональный привет от flash-разработчиков Якобу Нильсену)
На самом деле все эти проблемы решаемы — скорее вы еще не встретили того, кто умеет это делать. Настоящий flash-разработчик очень редко говорит: «Это невозможно». Просто некоторые элементы функциональности столь редки и удивительны, что не вписываются в финансовые возможности потенциального заказчика 🙂
Flash в EPAM Systems
Спецификой flash разработки в составе крупных проектов, созданием которых занимается компания EPAM Systems, является достаточно редкое создание flash-анимации. Баннеры, анимированные заставки или online-игры не всегда уместны на серьезных бизнес-порталах крупных компаний — засмотревшись и заигравшись можно забыть, зачем ты на этот портал пришел. Именно по этой причине основное развитие Flash технологии ведется в сторону flash программирования для создания небольших по размеру, но богатых по функциональности модулей. Как правило, это разработка интерактивных карт, различных типов графиков доходности, мультимедиа плееров и компонентов, виджетов, информеров, динамических бизнес-презентаций и прочих модулей визуализации данных. Одним из требований, предъявляемых со стороны заказчика, является минимизация компонентов для увеличения скорости их загрузки и экономии пользовательского траффика, что заставляет отказываться от использования стандартных компонентов и постоянно находить все новые способы оптимизации кода для решения подобных задач. В результате, на претензии заказчика о том, что компонент графиков, который он хочет купить на стороннем ресурсе для интеграции со своим порталом, не вписывается в его требования по дизайну и занимает 500Кб, что совершенно непозволительно для его размещения на web-странице, наши разработчики всегда могут предложить свой компонент в нужном дизайне, занимающий 10Кб (5 из которых уйдут на логотип компании в левом верхнем углу). Различные flash решения разработчиков Epam Systems нашли свое место не только на втрутренних ресурсах компании, но также на сайтах таких заказчиков, как S7 Airlines, Renaissance Capital, Coca-Cola, Takeda Inc, Datalex, AeroMexico и список этот простоянно растет. Все большее количество клиентов доверяет подержку или изменение уже существующих flash решений компании Epam Systems, а это доказывает, что flash-разработчик в современной IT компании не менее необходимая профессия, чем программист, тестировщик или бизнес-аналитик.
Жизнь замечательных людей
Flash-разработчик в компании EPAM Systems имеет несколько существенных отличий от других специальностей. Одним из главных отличий специалиста в обласит Flash является его более широкая специализация. Flash-разработчик должен помимо хорошего знания своего предмета свободно владеть HTML/DHTML/XML а также графическими пакетами Adobe Photoshop и Adobe Illustrator, что делает возможным использование данного разработчика от момента проектирования модуля и создания графического дизайна до непосредственной разработки и интеграции на портал заказчика. Следующим отличием можно выделить тот факт, что flash-разработчик как правило работает над свои модулем один, а не в команде из трех десятков программистов, разрабатывающих каждый свою часть. В этом есть как плюсы, заключающиеся в том, что цельное приложение находится полностью в одних руках, так и минусы — искать виноватого гораздо проще, чем среди нескольких десятков «непричастных» мужиков 🙂
Карьерный рост Flash специалиста не отличается от карьерного роста обычного программиста и проходит по следующей системе: Junior Software Engineer > Software Engineer > Senior Software Engineer > Lead Software Engineer > Chief Software Engineer или Software Engineering Team Leader. Никаких особенных отличий в скорости карьерного роста нет, поэтому позиция flash-разработчика ничуть не хуже других, а скорее даже лучше, поскольку одним из главных плюсов в подобной профессии я считаю достаточно разноплановые задачи и проекты, сменяющиеся с такой частотой, чтобы работа не успевала становиться скучной и однообразной. А работой, приносящей тебе что-то новое и необычное, даже в IT мире может похвастаться далеко не каждый специалист.
Как стать flash-разработчиком
Действительно, как? Ведь flash разработка не преподается в наших учебных заведениях, ей нигде конкретно не учат, а большинство курсов с призывными названиями «дизайн за 21 день» или «flash за 15 занятий» обучают самое большее анимации красивой ромашки на лугу (если курсы хорошие, то над ромашкой будет кружить пчелка), что несколько не соответствует требованиям, предъявляемым к flash-разработчикам при приеме на работу в компанию Epam Systems. Большинство разработчиков учатся абсолютно самостоятельно, используя для самообучения книги и интернет-ресурсы. Прежде всего вы можете определиться в двух направлениях развития — flash-дизайн и flash-разработка. Несмотря на то, что в идеале разработчик свободно владеет и тем и тем, я встречал немало людей, занимающихся либо исключительно дизайном (баннеры, презентации, заставки), либо исключительно разработкой (интерактивные модули, мультимедиа модули, игры) на основе готового дизайна. Оба этих направления имеют свои области применения, своих клиентов и свою специфику, поэтому выбирать следует то, к чему у вас больше лежит душа.
В случае, если вашим выбором станет flash-программирование, одной из лучших книг, собравшей в себе множество секретов данной технологии является… втроенная справочная система. А дополнительную информацию, новости, уроки и полезные статьи каждый начинающий flash-разработчик может найти на следующих интернет-ресурсах:
http://www.adobe.com/ — официальный сайт с довольно полной базой знаний и ответами на большинство часто задаваемых вопросов по флешу.
www.flasher.ru/forum — форум с наиболее полной подборкой вопросов и ответов по Flash на русском языке
http://www.flash-ripper.com/ — настоящий старожил среди flash сайтов с большим количеством новостей и секретов по технологиям flash и flex
http://www.flash-mx.ru/ — еще один полезный русскоязычный ресурс с неплохими уроками и полезным форумом
http://www.flashblog.ru/ — совершенно уникальная подборка вопросов и ответов на самые разные темы, связанные с программированием во Flash
http://flashdocs.net/ — собрание статей и уроков на все случаи жизни
http://community.livejournal.com/ru_flash/ — конференция ru_flash на популярном сайте livejournal.
Вместо эпилога
Сегодня Flash — достаточно перспективная и широко распространенная технология. Flash-разработчики стали неотъемлимой частью практически всех IT компаний, некоторые из которых посвящают себя целиком только Flash решениям. Обостряется конкуренция, поскольку Microsoft выставляет свою собственную технологию Microsoft Silverlight, призванную убрать монополию flash-приложений на просторах сети, а значит нас ждут новые интересные решения от обоих гигантов. Но даже сейчас, когда меня спрашивают, что во Flash производит на меня наиболее сильное впечатление и почему я выбрал именно эту технологию, я вспоминаю 200-2й год и красный круг, превращающийся на моих изумленных глазах в синий квадрат.
Об авторе:
Павел Либер
2006 — окончил БНТ У. Факультет информационных технологий и робототехники.
2002 — обозреватель «Компьютерной газеты».
июнь 2004 — EPAM Systems, разработчик.
январь 2006 — EPAM Systems, старший разработчик.
июль 2007 — EPAM Systems, ведущий разработчик.
хобби — сочинение стихотворений, прозы и нестандартных решений к сложным задачам.
04.08.08, "Мой Компьютер", (c) EPAM Systems
http://www.epam.by/pdf/EPAM_049.pdf