Просмотр полной версии : ActionScript 3.0 : Библия для начинающих или На пальцах
Что такое Flex и что такое ActionScript 3.0. Расставим точки над i:
Не думал, что придется писать этот пост. Не хотел. Пришлось.
Последнее время я встречаю десятки людей, заблуждающихся и несправедливо связывающих AS3 и Flex. Спору нет, AS3 пока можно попробовать лишь при помощи Flex Builder 2, который, в полной версии, будет его поддерживать. Но! ActionScript 3.0 -- будущее всей Flash Platform в целом и для меня, человека, использующего Flex лишь в каждом десятом проекте, AS3 -- это будущее Flash. Не надо связывать его только с Flex.
Продолжаем. Есть индивидуумы, порой даже модераторы одного крупного ресурса о Flash в Рунете, которые вообще не знают, что такое Flex.
Итак, Flex -- это родственная Flash технология, основанная на описании интерфейса приложения с помощью диалекта XML -- MXML. Flex приложение может компилироваться на сервере, а может -- из IDE, как во Flash, результатом является swf файл [однако версия 1.5, т.е. последняя коммерческая на момент написания поста, требует установленного License Manager на сайте, где будет располагаться ролик. Т.е. все далеко не бесплатно.]. Достоинства Флекса тесно связаны с его недоcтатками. Без загрузки внешних роликов мы не можем создать экстраординарного интерфейса, точнее, это сложно. Но в случае со строгими интерфейсами бизнес-приложений скорость разработки просто потрясающая. Также Флекс славен своими графиками, компоненты для построения которыхсделаны не только удобными для использования, но и в 99% случаев выглядят приемлимо для использования as is. Пример -- графики Google Analytics.
Грустно, что люди, зарабатывающие Flash разработками в России, в большинстве своем не знают таких азов...
--
14 ноября 2005, novemberain.com (http://www.novemberain.com/blog/?p=24#comments)
Буду выкладывать ссылки по мере публикации / нахождения.
@ novemberain.com (http://www.novemberain.com/) :
Урок #0 (http://www.novemberain.com/blog/?p=26) : Первые шаги, загрузка картинок (Майкл Клишин)
Урок #1 (http://www.novemberain.com/blog/?p=55) : Цветовая палитра (Николай Рыжий)
Урок #2 (http://www.novemberain.com/blog/?p=73) : Подгружаемые библиотеки (Николай Рыжий)
Урок #3 (http://www.novemberain.com/blog/?p=126) : Универсальный загрузчик (Николай Рыжий)
@ silin.fatal.ru (категория "уже освоился") :
MultiLoader (http://silin.fatal.ru/AS3/MultiLoader.as) : Загрузка нескольких изображений.
DivBitmap (http://silin.fatal.ru/AS3/divbitmap/DivBmp.as) : Деление изображения на части.
DistortBitmap (http://silin.fatal.ru/AS3/distort/DistortBitmap.as) : Искажение изображения.
TexturedCube (http://silin.fatal.ru/AS3/texuredCube/texturedCube.as) : Текстурирование куба.
Hint (http://silin.fatal.ru/AS3/Hint.as) : Всплывающая подсказка своими руками.
FPS (http://silin.fatal.ru/AS3/distort/Fps.as) : Отображение FPS
Чем Action Script 3.0 отличается от Action Script 2.0
Если коротко : на первый взгляд -- не столь многим, если посмотреть подольше -- почти всем.
Action Script 2.0 представляет собой "гибрид крота и скаковой лошади" (с) Nox Noctis (http://www.noregret.org/). Action Script 3.0 -- язык, стоящий на одной ступени с такими монстрами, как Java. Не верите -- посмотрите на примеры (http://labs.macromedia.com/wiki/index.php/Showcase)
Перечислять список нововведений очень долго и далеко не все они нужны большинству просто потому, что знания у большинства не те. Перечислю по верхам:
728 (семьсот двадцать восемь) классов только в альфа-версии языка.
Новые подходы и техники из-за появившихся возможностей, например, побайтово загружать и докачивать файлы.
Добавлена видимость в пределах пакета и новые спецификаторы: protected (наконец-то...) и internal.
Измененная модель событий, поддерживающая всплывание событий (event bubbling), контроль отработки события (event flow control) и т.д.
Сильно измененный подход к работе с визуальными объектами. Теперь мувиклипы не надо аттачить или дублировать, зато можно скопировать из одного визуального объекта в другой.
AS3 исполняется новым интерпретатором -- AVM2
Новая, гораздо более продуманная и совершенно не похожая на то, что было, система работы с XML -- E4X
Добавилась система отражений (reflections)
Появился человеческий контроль ошибок -- runtime exceptions
Изучая AS3 вы столкнетесь с необходимостью изучать Flex и все его тонкости и мощности. Поверьте, это -- удивительный мир, но там очень много нового для пришедшего из Flash программиста. Учтите это.
Поэтому если Вы стоите перед выбором -- нужен ли вам AS3? -- переформулируйте вопрос как "а достаточно ли сложные приложения я пишу" ? Если ответ утвердительный и вы не ограничиваетесь одними двухуровневыми меню, вы быстро полюбите AS3 даже в его сегодняшнем, сыром альфа-виде. Если же вы дизайнер -- скорее всего, вам не нужен даже AS2.
И напоследок, помните -- не поняв ООП какое оно есть в AS2, вы ничего не поймете в AS3. AS3 -- для программистов. Точка.
Про ресурсы по AS3 ранее уже писал Давид "Nirth" Векслер:
Ресурсы по ActionScript 3.0
На русском
Novemberain.com (http://novemberain.com), блог Майкла Клишина (ru (http://novemberain.com)| eng) (http://www.novemberain.com/english/)
Блог Майкла "Antares" Клишина последнее время он явно подсел на AS 3.0, и как неугомонный штампует новости, статьи и переводы по новому языку.
blog.onorange (http://blog.onorange.com), Мой (Давида, а не автора обновленного поста! -- прим. автора) блог, присутствуют новости об AS3 и переодически перевожу интересные части документации.
На английском:
Adobe Labs (labs.macromedia.com)
Сайт посвященый новому AS 3.0 и Flex Builder 2 от макромедии.
Showcase @ Macromedia (http://labs.macromedia.com/wiki/index.php/Showcase)
Галерея с примерами AS 3.0 приложений, и статьями на макромедии
ActionScript 3.0 forum @ Macromedia (http://www.macromedia.com/cfusion/webforums/forum/categories.cfm?forumid=72&catid=587)
Форум по ActionScript 3.0 на той же макромедии.
Flex Builder 2:
Почти всю информацию вы можете почерпнуть в AS3 Wiki @ Adobe Labs (http://labs.macromedia.com/wiki/index.php/Flex_Builder).
Flex Builder 2 -- новая среда разработки от Adobe, поддерживающая Flex Framework и первая среда, поддерживающая ActionScript 3.0. В основе FB2 лежит Eclipse IDE (http://www.eclipse.org) -- без преувеличения гениальная среда разработки для множества языков (изначально для Java), поддерживающая мощную систему плагинов (и позволяющая с удивительной легкостью их создавать). Те, кто видел Эклипс, поймут, что программисты получают от этого шага экс-Макромедии.
FB2 Alpha1 доступен в видел плагина к Эклипсу (http://www.macromedia.com/cfusion/entitlement/index.cfm?event=custom&sku=RC00168&e=labs) (вам понадобится версия 3.0 или выше, плагин весит 39 MB), либо как stand-alone приложение (http://www.macromedia.com/cfusion/entitlement/index.cfm?event=custom&sku=RC00167&e=labs) (124 MB), тем не менее, имеющее в своем сердце Eclipse IDE.
Что это значит? Не просто то, что мы получим великолепную IDE. А еще и то, что мы получим возможность разрабатывать плагины к этой IDE (по словам Евгения Потапенко (http://www.potapenko.com/), на данный момент найдено 2 точки, к которым уже разрешена прикрутка плагинов) -- со всеми вытекающими для разработчика. Это уже не просто продажа компонентов, которая была в MX 2004.
Charting Components
Вы видели Google Analytics? Знаете, с помощью чего сделаны все эти замечательные графики? Правильно, Flex Charting Components.
Версия под новую FB2 Alpha1 (http://www.macromedia.com/cfusion/entitlement/index.cfm?event=custom&sku=RC00169&e=labs) доступна уже сейчас.
Известные нюансы о Flex Builder 2, которые нужно учитывать, изучая AS3:
1. Flash Player 8.5 и ролики предыдущих версий - альфа-релиз Flash Player 8.5 и не рассчитан на постоянное использование (хотя я именно с ним и живу, не разу не пожалев о его установке -- М.К.). Вопрос о полной совместимости с предыдущими версиями контента во Flash Player 8.5 остается открытым.
2. Время компиляции –- Альфа версия компилятора очень сыра и совершенно не оптимизирована. В Alpha 1 время компиляции можно ускорить, не используя несколько приложений в одном Flex Builder 2 проекте.
3. Размер итогового SWF -- SWF файлы в альфа гораздо тяжелее, чем будет в конечной версии. Запланированная Макромедией еще в Октябре 2005го оптимизация должна сильно каснуться размера результата.
4. Режим дизайнера (Flex Builder’s Design View) – этой альфа версии его можно назвать весьма нестабильным ("flaky"). Если Вы испытываете проблемы при публикации приложений во Flex Builder 2, попробуйте нажать кнопку Refresh над областью расположений элементов в режиме дизайнера. В полной версии, конечно, все будет исправлено.
5. Проекты-библиотеки - многие разработчики просили добавления проектов-библиотек во Flex, пока этой фичи нет, но ММ помнит о ней. Пока сделать проект-бибилиотеку можно только используя инструментарий командной строки (см. документацию).
6. Фреймворк состояний (view states framework) и Flex Builder User Interface -- последняя добавленная в альфа-релиз фича, возможно, является одновременно самой полезной для RIA разработчиков. Все комментарии относительно удобства и стабильности работы Adobe просит оставлять на форумах Adobe Labs (http://www.macromedia.com/cfusion/webforums/forum/index.cfm?NoCookies=Yes).
7. Flex Enterprise Services -- корпоративные сервисы, такие, как AMF, система передачи сообщений (messanging), дата-сервисы, компиляция по запросу браузера и т.п., будут доступны в бете Flex Enterprise Services через несколько месяцев.
Хотелось бы добавить, что AS3 еще очень сырой и многие, многие вещи разработчику просто недоступны.
Также, большим минусом является почти полное отсутствие качественной документации. Очень и очень многие разделы хелпа просто пусты, Livedocs же порой не возволяют детально разобраться в происходящем. Здесь на помощь приходит коллективный разум и IM ;)
Примеры сетевых приложений на AS3
Самые популярные пока направления экспериментов с AS3 -- сетевые приложения. Почтовики, мессенджеры (клиенты популярных IM . IRC и свои), приложения для ньюс-конференций и т.п. -- с ними могут конкурировать только конвертеры изображений и новые идеи навигации.
Вот список примеров сетевых приложений на АС3:
Email (POP3)
http://spbarber.com/blog/pop3-socket-example-using-flex-2/
IRC
http://blog.je2050.de/?p=35
NNTP
http://luar.com.hk/blog/?p=647
VNC
http://www.darronschall.com/weblog/archives/000190.cfm
AIM
http://lab.zeusdesign.net/?p=13
MSN
http://blog.xsive.co.nz/archives/68
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.