Почему эта статья вредна
Пользователь, впервые увидевший flash-сайт, наверняка будет поражен открывшимся видом. Обычный, статичный интернет, состоящий из текстов и картинок, вдруг оживает, становится ярким, дружелюбным, удобным! Раньше «анимацией» называли любую подергивающуюся картинку, но flash превращает веб-страницу в красивую программу, полную подсказок и графических эффектов.
Так что же, забудем скучный HTML и дружно перейдем на технологию нового поколения? Такой соблазн возникал у многих дизайнеров. И этот соблазн опасен. Конечно, flash не вреден (заголовок слегка преувеличивает) — но он может быть вреден.
Первый недостаток flash-сайтов бросается в глаза — они намного больше по объему, чем обычные. Особенно если в проект подключено много картинок или если разработчик решит позабавить ни в чем не повинного пользователя звуком... Это плохо не только для владельцев модемов: на каждого обладателя выделенной линии найдется сайт, где каждое движение сопровождается видеороликом. А картинки-то отключить нельзя! Конечно, по мере развития сетей скорости растут, и вскоре большие размеры окажутся не такими уж важными. Но это не главный недостаток.
Flash-сайт — не часть интернета на сто процентов. Конечно, мы заходим на подобные сайты через интернет, но сеть остается сама по себе, а сайты отдельно от нее и друг от друга. Дело в том, что мы не можем сослаться на отдельную страницу подобного сайта, поисковые системы не могут добраться до информации, да и пользователю трудно пробиться к искомому тексту. Flash-сайт эффектнее и красивее, чем HTML-сайт, но в то же время он и неполноценен как сайт в плане работы с информацией.
Впрочем, бороться с Flash-сайтами я тоже не призываю. Просто нам необходимо разделение: если у вас есть богатое информационное наполнение сайта и посредством него вы хотите сообщить нечто важное, то flash будет мешать. Если же ценнее именно способ представления информации и внешний вид, то flash — то, что нужно.
Прежде всего
Для чего?
Интернет разделен на две неравные части. Эти части не только не похожи друг на друга, они порой соперничают и противоречат друг другу. Первая из них — обычный язык разметки гипертекста HTML, вторая же — Flash. Первый удобен для представления информации в больших объемах, второй же позволяет строить красивые, интерактивные и яркие страницы. Представлять эти технологии не нужно, ведь известны они всем, остается лишь ответить на вопрос: что же можно сделать с помощью Flash?
Простейшие вариант — баннер. Эта интернет-реклама встречается едва ли не на каждом сайте, и flash-вариант выглядит намного эффектнее обычной картинки. Особенность баннеров в том, что создать их просто, но без вкуса и художественной жилки не обойтись.
Второе, уже более серьезное применение — это сайты, создаваемые по технологии Flash. Обычно они содержат сравнительно мало данных, зато массу анимационных и графических элементов. Тут фантазия дизайнера почти ничем не ограничена, поэтому может получиться как изящная реклама, так и очевидное уродство. Flash-сайты получаются, безусловно, красивыми, но занимают много места и вызывают критику многих специалистов.
Ну и третье применение — простенькие игры. Их мы в этой статье затрагивать не будем, тем более что их наверняка видел каждый из вас: в частности, с недавних пор коллекция таких игр регулярно публикуется на нашем диске.
Что нужно, чтобы начать?
Для начала работы вам понадобится студия Flash от компании Adobe, к которой перешли после работы с Macromedia. На сайте www.adobe.com/products/flash нам предлагают скачать ознакомительную (на месяц) версию Adobe Flash версии CS3 (то бишь 9.0 в общепринятой форме) или купить полноценную версию. Правда, цена высока — около семисот долларов, поэтому для начала можно ограничиться ознакомительным вариантом.
Старая версия этой же программы также вполне подходит: даже версия 5.0 работает по тем же принципам, а отличия легко понять. В первую очередь устаревает встроенный язык программирования ActionScript, но в этой статье он будет упоминаться минимально.
Есть и другие программы, способные работать с Flash. Впрочем, бесплатные среди них практически не встречаются, а возможности ограничены по сравнению с программой от Adobe.
Приступая к работе
Знакомьтесь, программа
Как же создать новый баннер или ролик? Есть несколько способов, поэтому лучше всего будет начать с важнейших средств технологии Flash. Чтобы достичь наглядности, я постараюсь привязать знакомство к интерфейсу. Когда вы загрузите программу и начнете новый проект (выберите пункт Flash file), откроется окно с массой разных инструментов. Некоторые из них видны стразу, другие скрыты: чтобы добраться до них, понадобится меню Window.
Слева на главном экране — палитра инструментов. Ее общий вид — такой же, как у большинства графических редакторов, и в особенности Adobe Photoshop. Возможности палитры, однако, не позволяют создавать действительно сложные изображения.
Главное место на экране занимает центральное окно проекта: оно называется так же, как и ваш проект. Оно состоит из нескольких частей: шкалы времени (timeline), кнопок управления под ней и «холста» внизу. Именно на «холсте» вы будете размещать объекты, которые составят основу ролика, а шкала времени безусловно знакома всем, кто хоть немного упражнялся с монтажом видеороликов, — здесь ее функция аналогична.
Кроме того, на экране могут быть и другие окна: по умолчанию это панели свойств (внизу) и цветов, а также библиотеки (справа). Все они свободно перемещаемы, их легко закрыть (нередко — случайно) и открыть заново при помощи меню Window.
Символы
Работа над Flash-роликами построена на объектах. Простейший объект — векторный рисунок, состоящий из обычных графических примитивов: овала, прямоугольника, линии... Описывать их не имеет смысла: главное, иметь в виду, что все эти примитивы — векторные, то есть описываются геометрически и масштабируются в любых пределах без потери качества. Работа с ними весьма ограничена, для полноценного использования Flash нужны так называемые символы (symbols).
Символы — крайне важный объект при построении ролика. Именно с ним можно производить все те манипуляции, которые и сделали Flash удобным. Есть три типа символов: графические изображения, кнопки или клипы.
Изображение — простейший вариант символа. Его можно нарисовать с помощью встроенных средств (удобства те же, что и в Paint, то есть никаких) или импортировать извне. Очевидно, что чаще всего при работе пользуются вторым способом.
Импорт изображений несложен: сначала вызываем меню File — Import — Import to library и выбираем файлы. Теперь они появились в панели «библиотека» (Library): достаточно перенести их на холст.
Сразу после переноса мы получаем не «символ», а графический объект: его функции несколько ограничены. Чтобы преобразовать его в полноценный символ, достаточно вызвать контекстное меню картинки и выбрать пункт Convert to symbol, причем указатель в timeline должен стоять на ключевом кадре.
Сейчас вы можете проверить, запускается ли ваш проект: для этого можно выбрать меню Control — Test Movie или просто нажать комбинацию клавиш Control + Enter.
Конечно, у нас пока нет ни интерактивности, ни анимации, но именно этим мы сейчас и займемся.
Настройка ролика
Перед созданием ролика необходимо указать его важнейшие параметры: размер и число кадров в секунду. Сделать это легко при помощи меню Modify — Document: в появившемся окне можно указать высоту окна, его ширину и значение Frame Rate, измеряемое в кадрах в секунду. Чем больше частота кадров, тем быстрее происходит анимация и тем более плавной она выглядит. Там же указываются и дополнительные параметры: единицы измерения, цвет фона.
Слои и сцены
Механизм слоев (Layer) вам наверняка знаком по другим программам: кадр состоит не из единого изображения, а из набора виртуальных слоев, «наложенных» друг на друга. Слои вы найдете в окне временной шкалы (timeline). Слабо связанные объекты лучше располагать на разных слоях, чтобы они не влияли друг на друга бесконтрольно.
Кнопки управления слоями расположены прямо под шкалой времени: их назначение очевидно.
Сцена (Scene) — понятие также несложное: это всего лишь отделенная совокупность кадров. Если упростить, flash-ролик состоит из нескольких последовательных сцен, проигрывающихся одна за другой. Сцены не зависят друг от друга и обычно значительно отличаются. Каждая сцена обладает собственным набором слоев.
Увидеть название текущей сцены можно на свободном поле под шкалой времени. Сменить же сцену можно при помощи выпадающего списка справа от названия сцены.
Добавить в ролик новую сцену можно двумя путями. Первый из них проще: достаточно вызвать пункт меню Insert — Scene. Второй механизм позволяет устанавливать порядок сцен, удалять их и создавать копии: все это возможно при помощи панели сцен (пункт меню Window — Other panels — Scene, комбинация клавиш Shift +F2).
Движение
За анимацию в программе отвечает панель времени (timeline), расположенная прямо над холстом. Каждая бело-серая ячейка соответствует кадру будущего ролика.
Конечно, было бы неэффективно рисовать каждый кадр отдельно, поэтому они делятся на ключевые (keyframe) и промежуточные. Параметры в ключевых кадрах указаны пользователем, а остальные рассчитываются автоматически на основании предыдущего и следующего ключевых.
Вставить ключевой кадр можно, вызвав правой кнопкой мыши контекстное меню в timeline и выбрав пункт Insert keyframe. А можно и проще — нажать клавишу F6. Изначально новый кадр будет точной копией предыдущего ключевого. Теперь его можно изменить, и как только программа дойдет до этого кадра, вид ролика изменится.
Чтобы добавить пустой ключевой кадр, нужен пункт меню Insert blank keyframe (клавиша F7), а чтобы снова превратить его в промежуточный — пункт Clear keyframe (Shift+F6).
Это важно: ролик может существовать в состоянии проигрывания и паузы. Анимация происходит только в первом состоянии. Управлять состояниями можно с помощью функций play(), stop() и других. По умолчанию ролик запускается в динамическом состоянии.
Чтобы движение происходило постепенно, необходимо добавить автоматический расчет в промежуточных кадрах: для этого в контекстном меню одного из промежуточных кадров выберем пункт Create motion tween (между кадрами на шкале должна появиться стрелка). Теперь, если на ключевых кадрах параметры изображения разные — к примеру, некий объект уменьшен, смещен в сторону и развернут, — промежуточные кадры отобразят плавную смену этих состояний.
Геометрические размеры и положение — не единственное, что может меняться с ходом времени: в панели свойств (Properties) вы можете установить новые размеры, яркость (brightness), оттенок (tint) или прозрачность (alpha). Кроме того, вы можете менять цвет по сложной формуле (advanced).
На заметку: достаточно очевидно, что если в одном ключевом кадре прозрачность равна нулю, а в следующем — ста процентам, в динамике это будет выглядеть как «протаивание», плавное исчезновение объекта. А если в обратном порядке, изображение мягко всплывет «из ниоткуда». Этим приемом часто пользуются Flash-мультипликаторы.
Если выбрать весь начальный кадр, то та же панель Properties позволит настроить движение: например, картинка может крутиться вокруг своей оси. Кроме того, в той панели можно дать движению название, а параметр Ease позволяет создать движение с ускорением — например, если его значение положительно, движение вначале будет быстрым, а после постепенно замедлится. Это позволяет добиться более реалистичной динамики поведения объектов в кадре, чем позволило бы равномерное движение с резкой остановкой на ключевом кадре.
Также можно перемещать картинку по сложной траектории. Для этого необходимо выполнить несколько шагов: создать направляющий слой для слоя с картинкой (для этого в контекстном меню слоя вызвать Add motion guide), а в появившемся новом слое самыми обычными средствами нарисовать линию траектории. Затем осталось «привязать» картинку к траектории, переместив ее центр поближе к линии при выбранном дополнительном слое. Процедуру «привязывания» необходимо проводить для всех ключевых кадров, а чтобы она прошла успешно, в Properties для движения должен быть включен параметр Snap. Кроме того, можно автоматически поворачивать картинку при прохождении траектории: за это отвечает параметр Orient to path в тех же свойствах движения. Простой пример такого движения с разворотом — картинка автомобиля, едущего по трассе: очевидно, что машина не скользит вдоль дороги, а поворачивает на всех поворотах траектории. Для того чтобы не прорисовывать это вручную, и нужна эта функция.
Баннер
Итак, ваших знаний уже вполне достаточно для создания несложного баннера. Конечно, есть и ряд тонкостей, но для удачной работы они не главное: важнее вкус, чувство гармонии, фантазия и неожиданные идеи...
Первый совет на этом пути — пусть ваш баннер не будет хаотическим сочетанием разнородных объектов, пусть все его части будут связаны (шрифтом, гаммой, идеей, стилем изображения).
Работа с изображениями
Графические объекты
Простейшая работа с изображениями во Flash принципиально не отличается от других графических редакторов, поэтому особых комментариев тут не нужно. Что-либо художественное нарисовать в программе трудно, поэтому графику обычно готовят отдельно, а потом импортируют. Встроенные многоугольники подходят разве что для кнопок и портретов Масяни...
Главная особенность flash-изображений в том, что одна и та же картинка может быть разными сущностями: чистым изображением (bitmap, shape, drawing object) и графическим символом (graphic symbol). Символов мы уже касались раньше: это специально оформленные объекты, на основе которых удобнее создавать анимацию или писать программы. Символ выше по иерархии Flash, чем простые рисунки, но в то же время символы ограничивают графические преобразования. Преобразовать символы в изображения несложно при помощи контекстного меню: для чистых изображений есть команда Convert to symbol, а для символов — соответственно, команда Break apart. Кстати, в некоторых книгах символы называют образцами.
Что же можно и нужно делать с графическим объектами прямо в программе Flash? Во-первых, вы не избежите манипулирования картинками именно как объектами. Их можно выводить на первый план или прятать на задний, как и в большинстве векторных редакторов. Впрочем, эти действия имеют смысл в рамках одного слоя: среди разных слоев главным считается тот, который стоит в самом верху временной шкалы.
Кроме того, при помощи панели выравнивания Align вы легко упорядочите несколько картинок: например, установите общую верхнюю границу. Вызвать панель легко при помощи меню Window — Align или сочетания клавиш Ctrl+K. Разумеется, все команды имеют хоть какой-нибудь смысл, если выделено несколько объектов одновременно. В свою очередь, панель информации (меню Window — Info, клавиши Ctrl+I) позволяет точно установить размер и положение изображения. Все это нужно затем, чтобы не расставлять элементы «на глазок». Обычный человек (не дизайнер) скорее всего не увидит мизерного смещения объектов, но непременно почувствует какую-то едва уловимую неаккуратность.
Наклонить, повернуть или растянуть графический объект поможет инструмент Free transform tool, но его возможности слабы. Почти то же делает меню «огибания» Modify — Transform — Envelope: вы можете причудливо искривить картинку, но перед этим необходимо расколоть символ до уровня shape (Break apart в контекстном меню). Другой способ сделать то же самое — добавить и переместить «якоря» (anchor points): эта возможность доступна на стандартной панели инструментов слева, а чтобы добраться до нее, необходимо нажать и задержать левую кнопку мыши на кнопке Pen tool.
На заметку: часто бывает полезно группировать объекты (меню Modify — Group), составляющие единую композицию: это сбережет массу времени. Если вы не хотите случайно сдвинуть законченный фрагмент, заблокируйте его: меню Modify — Arrange — Lock (Ctrl + Alt + L). Разблокировать все объекты можно при помощи того же раздела меню.
Наконец, вы можете поместить измененное изображение в библиотеку, а затем забрать его копию, если она понадобится позже.
Трансформация
Трансформация — разновидность анимации, при которой меняется не положение объекта, а его форма. В отличие от движения, которое преимущественно производится над символами, для трансформации необходимы чистые графические объекты.
Реализуется трансформация точно так же, как и анимация движения: создается два ключевых кадра на одном слое, в первый добавляется графический объект, в другой — его измененный вариант. Отличаться может не только форма, но и положение, цвет, даже более того: один объект способен разделяться на несколько... В принципе, изображение может быть любым, но чем оно сложнее, тем менее естественно все выглядит.
Если понадобится уточнить трансформацию, помогут маркеры трансформации: точки, которые связывают части изображения на разных кадрах. Добавить маркеры можно при помощи меню Modify — Shape — Add Shape Hint, а всего их может быть не более 26 (по числу букв латинского алфавита). Каждое добавление сразу создает точки на начальном и конечном кадрах, остается лишь переместить их. Удалить маркеры, не оправдавшие возложенных на них надежд, поможет пункт меню Modify — Shape — Remove All Hints.
Вложенная анимация
Иногда необходимо совместить сразу несколько эффектов: например, чтобы квадрат при перемещении по сложной траектории одновременно крутился бы и менял цвет. Чтобы легко реализовать этот эффект, во Flash предусмотрена вложенная (многоуровневая) анимация. Объяснить ее легко: по заданной траектории движется не объект, а некая «анимация», в которой тоже что-то происходит.
Универсальный способ создания вложенной анимации таков: постройте анимацию по привычной схеме, затем выделите все ее кадры на шкале времени (timeline) и при помощи контекстного меню скопируйте их (Copy Frames). Далее создайте новый символ (пункт меню Insert — New Symbol) и вставьте в появившейся шкале времени кадры из буфера обмена (пункт контекстного меню Paste Frames). Дайте новому символу имя: теперь он появился в библиотеке, вы можете перенести его на холст и применять как обычный объект — например, создать анимацию.
Обратите внимание: когда происходит настройка внутренней анимации, вы «находитесь» не внутри ролика, а внутри символа, который сам содержит внутреннюю шкалу времени. Это видно из надписи под шкалой времени: обычно там указано лишь название сцены (scene), а теперь после названия сцены указывается и название символа.
Дважды щелкнув по созданному символу, вы переместитесь «внутрь» него и получите возможность изменить его вложенную анимацию.
Интерактивность
Кнопки
Если вы делаете сайт, желательно, чтобы он реагировал на действия пользователей. Для этого в технологии Flash предусмотрен специальный тип символов — кнопки (button). Создать их просто: достаточно нарисовать что-нибудь, превратить это что-нибудь в символ (Convert to Symbol) и в свойствах символа установить его тип — button.
Войдите «внутрь» кнопки двойным щелчком. Как и при вложенной анимации, кнопка изнутри состоит из кадров, но на сей раз лишь четырех именных: Up, Over, Down, Hit. Кадр Up содержит информацию о внешнем виде кнопки в нормальном состоянии, кадр Over — о кнопке при наведении указателя мыши, Down — о кнопке после нажатия. Таким образом, мы можем менять внешний вид кнопки при наведении мыши и нажатии. В кадре Hit важны лишь контуры: он определяет границы кнопки. Разумеется, чтобы кадры отличались друг от друга, необходимо сделать их ключевыми.
Простейший подход к кнопкам — изменить для кадров Over и Down цвет кнопки, а на кадре Over — добавить дополнительное описание смысла кнопки в виде подсказки.
На заметку: если контуры области в кадре hit не будут совпадать с изображением кнопки, возникнет неочевидный для пользователя эффект: при наведении мыши на что-либо одно в другом месте возникнет или изменится изображение. Временами так делают сознательно — к примеру, чтобы вывести всплывающую подсказку для графического элемента.
Конечно же, изменение цвета — не главное назначение кнопок. Их смысл — в обработке нажатий пользователя. Для полноценной обработке нажатий во Flash доступен многофункциональный язык. Конкретный набор команд зависит от версии Flash. Если у вас система Flash до версии 8 включительно (то есть язык ActionScript версии 1 или 2), достаточно в контекстном меню на кнопки выбрать пункт Actions и ввести туда код:
on (press) {
getURL("http://www.lki.ru","_blank");
}
Здесь on — ключевое слово, обозначающее «если случится», press — вариант события (в данном случае нажатие клавиши мыши, возможны и другие), содержимое фигурных скобок — обрабатывающий код. Команда getURL(«http://www.lki.ru»,»_blank»); заставляет веб-браузер открыть сайт www.lki.ru в новом (blank) окне. Вы можете указать несколько обработчиков для разных событий или много команд для одного события.
Это интересно: для выполнения действий необязательно нажимать на кнопку: те же функции можно установить на наведение мыши. В сети есть сайты, где принципиально не требуется нажимать на кнопки, а лишь двигать мышью... Впрочем, это оказалось не слишком удобно.
Как я уже заметил, это описание устаревшей формы обработки событий. Впрочем, даже в девятой версии программы, то есть в Flash CS3, вы можете создать файл с версией языка ActionScript 2.0.
Язык ActionScript 3.0 стал намного ближе к объектно-ориентированным языкам программирования — и одновременно намного сложнее. Обработчики теперь собраны в одном месте, их необходимо подсоединять к кнопкам. Сложность возникла из-за расширяющихся возможностей языка, поэтому начинающим пользователям и дизайнерам без опыта программирования легче работать со старой версией языка
Сайты
Как же построить сайт, по должности ждущий инициативы пользователя, на основе ролика? Все просто: необходимо либо остановить воспроизведение (команда stop()), либо зациклить его перемещением на несколько кадров назад (команда gotoAndPlay(номер кадра)). Учтите, в разных сценах нумерация кадров общая, если это не указано специально.
Чтобы выйти из «вечного цикла», необходима кнопка с обработчиком. Команд для перехода много, а об их смысле легко догадаться по названиям: gotoAndStop(номер кадра); gotoAndStop(«название сцены», номер кадра); gotoAndPlay(«название сцены», номер кадра); nextFrame(); nextScene(); play(); stop() и так далее. При нажатии разных кнопок сайт должен переходить в разные состояния, соответствующие разным кадрам (или сценам).
Как показать результат
Как превратить работу в файл результата? Это просто. Файл в формате swf
программа создает при каждом тестировании, а автоматически включить его в состав HTML можно при помощи File — Publish (не забудьте установить свойства опубликования). Готово!
На заметку: кстати, на нашем диске вы найдете дополнение для Firefox под названием Download Embedded, которое позволит сохранить загруженный Flash-ролик в виде файла. Ну и, соответственно, изучить чужую работу, почерпнув огромное количество приемов и идей.
Иные пути: Silverlight
Есть ли альтернатива у Flash? Еще год назад в ответ просто развели бы руки: немногие альтернативные попытки оставались почти неизвестными. Было ясно, что недостатков у flash хватает, и чем серьезнее проект, тем призрачнее возможность его реализации.
Первое популярное решение называлось AJAX (что расшифровывается как «асинхронный JavaScript и XML»): строго говоря, это было не отдельная технология, а общее название для нескольких решений. Впрочем, назвать AJAX полным аналогом Flash трудно — это скорее платформа для веб-программ. Сегодня уже очевидно: получилось не очень, и о широкой популярности говорить не приходится. Проблема осталась.
В 2007 году появилась серьезнейшая «заявка на трон»: за дело взялась Microsoft. В начале года появились сведения о технологии Silverlight, призванной перенести обычные принципы программирования в сеть. Действительно, HTML существенно ограничивает возможности по созданию интерфейса, а Flash — скорее технология для развлечений, чем серьезное рабочее средство. Фактически Silverlight — дополнение к веб-браузеру, которое позволит работать через сеть точно так же, как с обычными программами. Один из демонстрационных сайтов являет изумленным пользователям интерфейс Windows Vista, доступный через сеть! Конечно, функции урезаны почти до нуля, но сами полупрозрачные окна, меню и прочие украшения поначалу поражают воображение. Конечно, при этом необходимо достаточно мощное интернет-соединение, а владельцы модемов, как обычно, останутся не в восторге.
Но перспективы Silverlight выглядят заманчиво: видно, что подопечные Билла Гейтса вкладывают многое в новый «серебряный свет». Благоприятные детали таковы: разработаны версии не только для Internet Explorer, но и для Firefox, планируется дополнение к Opera (то бишь ко всем важнейшим браузерам). Более того, платформа доступна и пользователям MacOS, а в перспективе готовится и полноценная поддержка Linux! Именно для таких случаев в народе ходит фраза о погибшем в лесу неопознанном существе ...
Кроме того, клиентский дистрибутив занимает около 4 мегабайт: настоящий минимализм по нынешним временам! Все это заставляет верить в успех разработки: уже через год Silverlight предполагается сделать стандартом. Решение должно быть удачным не только благодаря широким возможностям. Главное, что оно не предлагает изучать новый язык, а поддерживает множество современных технологий. Для разработки потребуется давно известная и понятная Visual Studio.
Кстати, важная деталь: в одной из демонстраций показаны повороты объекта в трехмерном пространстве. Возможно, конечно, это реализация для простейшего случая, но зачем тогда вся эта официальная помпезность? Может быть, в Silverlight будет предусмотрена несложная работа с современными видеокартами? Выводы для игровой индустрии напрашиваются сами собой...
Иные пути: ближайшее будущее
Будет нечестно, рассказав о работе Microsoft, умолчать о параллельно развивающихся технологиях. JavaFX — проект, аналогичный Silverlight, но ориентирующийся на популярный язык Java. Видимо, его ждет успех среди «серьезных», офисных приложений, а развлечения будут проигнорированы.
Кроме того, компания Adobe пытается ответить на атаку: Flash получила развитие в технологиях Adobe AIR и Adobe Flex. По сути оба ответа — то ли расширения, то ли надстройки над Flash для программистов и дизайнеров. Правда, не стоит забывать: у Microsoft намного больше опыт в работе с программистами.
Сможет ли новое поколение во главе с Silverlight отправить в историю Flash? В абстрактном будущем — с большой вероятностью. Тем не менее это «будущее», похоже, будет далеким: Adobe Flash уже стала привычным инструментом дизайнеров. В то же время Microsoft Visual Studio удобна для программистов, а не художников, так что тут преимущество Silverlight неоспоримо. Наконец, новоявленное дизайнерское средство Microsoft Expression Studio еще только будет завоевывать популярность — и, возможно, не завоюет ее никогда, ведь после неудачного старта Windows Vista доверие к Microsoft заметно охладело.
В ближайшем будущем Flash останется популярным средством для создания сайтов-презентаций, мультфильмов и простейших игр. В то же время Silverlight позволит работать с привычными приложениями через интернет, создавать удобные интерфейсы для сайтов с данными, упростит бизнес через сеть. Фактически в Silverlight будет сложнее создавать простые вещи, но проще — сложные. Постепенно удачные решения «перетекут» в программы от Microsoft, но дизайнерские принципы, вероятно, останутся сегодняшними.
Возможен и другой вариант: Adobe переведет свои разработки в категорию бесплатных (как поступили в свое время создатели Opera). В этом случае «наследники» Flash (возможно, в интеграции с Java) станут стандартом для независимых дизайнеров и программистов, а корпорации вооружатся многочисленными «студиями» от Microsoft. В этом случае специалисты по Flash могут быть даже более востребованы, чем сейчас, а мир увидит новую «войну технологий».