Модераторы: SoWa
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> AS3, interesting 
:(
    Опции темы
AlDev
Дата 7.10.2005, 04:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный идиотъ
***


Профиль
Группа: Участник Клуба
Сообщений: 1927
Регистрация: 17.4.2005
Где: Irk, rus

Репутация: 9
Всего: 50



Macromedia анонсировала AS3.

Цитата

    Flash Player, the backbone of the Flash Platform, will also be evolving to provide the foundation for the Flex 2 product line and next-generation RIAs. Over the years the player, which began primarily as a client for playing animation, incrementally extended its scripting language (ActionScript) by adding support for portions of the ECMAScript standard (the same standard that drives the development of JavaScript). By the release of Flash Player 7, ActionScript implemented the vast majority of the ECMA standard. With Flash Player 8.5 (scheduled to ship with the Flex 2 product line), we will be introducing ActionScript 3.0, a powerful object-oriented programming language designed for productivity and performance and based on the next generation of the ECMAScript standard.

http://www.macromedia.com/devnet/flex/arti...lex2_intro.html

Mike Chambers о новом as:
Цитата

    The syntax has not changed that much, although things can be much stricter.

    For example, you will need to add access modifiers (private, public,
    protected, internal) to your classes, and constructors (other functions
    as well if you dont want them to have the default modifier (internal)).

    Also, we have dramatically cleaned up and rationalized the API and
    package structure. So some functions that were in the global space, are
    not in packages (which means you just have to import the packages).

    Also, if you compiling in strict mode (which is the default), you cannot
    have implicit casts.
    i.e.

    trace(”Data : ” + 5);

    will need to be:

    trace(”Data : ” + String(5));

    These were the biggest issues I ran into when porting my first app. Hope
    that helps…


ещё интересное из статьи Macromedia
Цитата

    It includes binary socket support, allowing developers to extend the
    player to work with any binary protocol.


мысли:
по-иде теперь вопрос защиты кода станет менее актуальным. imho

ruFlash о ActionScript3:
http://groups.yahoo.com/group/russian-flas...ctionScript%203
PM MAIL WWW ICQ YIM MSN   Вверх
PROCESSOR
Дата 8.10.2005, 05:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 238
Регистрация: 25.5.2005

Репутация: нет
Всего: нет



тока 8 вышел, а уже 8.5 .

Можно поподробнее. Он тока c Flex2 будет чтоли ? А то почитал, мало что понял.
PM MAIL   Вверх
AlDev
Дата 15.10.2005, 05:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный идиотъ
***


Профиль
Группа: Участник Клуба
Сообщений: 1927
Регистрация: 17.4.2005
Где: Irk, rus

Репутация: 9
Всего: 50



почему-же только с Flex? smile всмысле выйдет только с Flex или использовать только с Flex?

http://www.cmyk.uz/blogger/?p=82
PM MAIL WWW ICQ YIM MSN   Вверх
PROCESSOR
Дата 16.10.2005, 10:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 238
Регистрация: 25.5.2005

Репутация: нет
Всего: нет



А для Flash update чтоли будет, чтоб он мог компилировать в 8.5 ?
PM MAIL   Вверх
AlDev
Дата 17.10.2005, 01:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный идиотъ
***


Профиль
Группа: Участник Клуба
Сообщений: 1927
Регистрация: 17.4.2005
Где: Irk, rus

Репутация: 9
Всего: 50



скорее всего. Вообще MM говорит, что это для того, чтобы народ начал знакомиться с 9-м lash-ем до его выхода....

http://batsuev.com/wp/2005/10/15/flash-9/
http://www.cmyk.uz/blogger/?p=81
http://weblogs.macromedia.com/md/archives/...name_for_th.cfm
PM MAIL WWW ICQ YIM MSN   Вверх
AlDev
Дата 18.10.2005, 03:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный идиотъ
***


Профиль
Группа: Участник Клуба
Сообщений: 1927
Регистрация: 17.4.2005
Где: Irk, rus

Репутация: 9
Всего: 50



Цитата
ивет! Ну вот - есть грандиозный повод напиться. Свершилось то,
о чем мы так долго мечатли. Вышел ActionScript 3. Вся информация на
новом сайте Макромедии:
http://labs.macromedia.com/

Конкретно по AS3
(http://labs.macromedia.com/wiki/index.php/ActionScript_3:Learning_Tips) :

Маленькие фишки для изучения AS 3.0.
AS3 является строго-типизированным, отвечающим стандартам,
объектно-ориентированным языком программирования, представляющим новую
программную модель для среды исполнения Flash Player'а. Если вы уже
знакомы с AS1 и AS2, следует узнать о некоторых различиях, которые
помогут вам разработать ваше первое приложение на AS3. Для легкого
перехода к AS3 мы начали вести список фишечек и общих соображений,
которые помогут вам в процессе разработки. Другим полезным ресурсом по
теме является сравнительный список AS2 и AS3
(http://livedocs.macromedia.com/labs/1/flex/langref/migration.html)
как часть документации по AS3 (http://www.macromedia.com/go/AS3LR).

1. Объявляйте типы для всех переменных, параметров и возвращаемых
значений.
Объявление типов для всех переменных, параметров и возвращаемых
значений рассматривается как рекомендации лучших собаководов и поможет
компилятору выдавать вам более содержательные сообщения об ошибках.
Это также улучшит производительность времени исполнения потому что
виртуальная машина будет заранее знать о типах, с которыми вы
работаете. Действительно, мы думаем, что это столь важно, что по
умолчанию выдаем предупреждение в подобных ситуациях. Три
предупреждения - удаление из числа flash-разработчиков (шутка).

2. Объявления без модификатора доступа теперь подразумевает видимость
уровня пакета, а не public как раньше.
Модификатором доступа по умолчанию теперь является internal вместо
public, подразумевая, что объявление будет видно только в пределах
пакета, содержащего определение, а не всего кода. Это согласуется с
другими языками, например, глубоко любимой и уважаемой всеми Java'ой.
Ввиду того, что объявление по умолчанию в AS2 public, это для многих
может стать жестокой подставой, а мы вам рекомендуем всегда указывать
модификатор доступа чтобы ваши объявления стали чистыми как водка
Абсолют. В целях поощрения этого замечательного начала, AS3-компилятор
выдаст вам штрафную и предупреждение за неиспользование модификатора
доступа.

3. По умолчанию классы являются изолированными, то есть вы не сможете
динамически добавлять свойства во время исполнения.
Классы теперь могут быть только динамическими или изолированными.
Динамические классы могут позволить добавлять себе свойства во время
исполнения, изолированные - никак. Изолированные классы берегут память
потому как для них не нужно создавать внутренние хэштаблицы, а
компилятор может лучше сообщать об ошибках. Объявление class Foo
является изолированным. Для объявления динамического класса,
используйте ключевое слово dynamic, типа того: dynamic class Foo.

4. Для помещения класса в пакет теперь необходимо использовать
пакетные объявления.
В AS3 вводится новое ключевое слово package:

ActionScript 2.0 code: class mx.controls.Button { ... }
ActionScript 3.0 code: package mx.controls { class Button { .. } }

В AS3 публичный класс должен находиться в файле, имеющем то же имя.
Несколько классов могут быть объявлены в одном файле, но только один
класс может быть публичным, а его имя должно совпадать с именем файла.

5. Классы должны быть импортированы даже в том случае, если обращение
к нему идет по полному имени.
Для использования MyPackage.MyClass вы должны его импортировать:

import MyPackage.*;

или

import MyPackage.MyClass;

Это остается правилом даже если все ссылки на класс осуществляются по
полному имени, например MyPackage.MyClass. В AS3 блок импорта
указывает на то, что вы желаете использовать определение класса из
другого пакета, тогда как в AS2 это нужно лишь для использования
коротких имен. В AS3 полное имя класса используется лишь для
устранения возможных противоречий, а не как замена импорту.

6. Перегруженные методы должны помечаться как override.
Ключевое слово override предотвращает обычные обломы перегруженных
методов, таких как задание неправильного имени перегруженного метода
или его сигнатуры, или когда имя перегруженного метода меняется (?).
Это также облегчает поиск в коде перегруженных методов. Благодаря
знанию о высшем предназначении метода в качестве перегружаемого,
компилятор может произвести более полезную валидацию. Ключевое слово
override было инспирировано аналогичным ключевым словом менее
уважаемого языка C#.

7. Связывание данных должно всегда осуществляться с использованием
строго типизированных объектов данных, а не свойствами типа Object.
Недостаток недостаточной типизированности класса Object может привести
к случайным ошибкам кодирования, так что компилятор и в этом случае
наливает штрафную и выносит предупреждение. Связывание свойства с
полем Object, например, selectedItem.name, приведет к предупреждению,
а, возможно, и к удалению. Чтобы остаться в рядах разработчиков, вам
необходимо использовать строгую типизацию и кастинг, например
EmployeeInfo(selectedItem).name.

8. Функции должны объявлять возвращаемый тип.
Это сделано в ваших же интересах, в интересах высшей истины и
безопасной типизации, так что вы больше не сможете обделить функцию
возвращаемым типом или дать ей безличный тип Object, который дается по
умолчанию. Если метод вам ничего не должен, так и напишите в его
возвращаемом типе: Void.

9. Delegate теперь встроен в язык, что облегчает обработку событий.
В AS2 для управления обработкой события вам необходимо было
использовать mx.utils.Delegate или другие кустарные поделки:

import mx.utils.Delegate;
myButton.addEventListener(“click”, Delegate.create(this, onClick));

Если кто не успел просечь этой фишки, поступил предусмотрительно, ибо
в AS3 ссылка на метод автоматически помнит экзепляр объекта, от
которого его отлучили, то есть, в сущности, является автоматическим
делегатом. Вы можете переписать старый код проще:

myButton.addEventListener(“click”, onClick);

10. Разыменование null или undefined теперь бросит вам в лицо эксепшн.
Разыменование null или undefined в традиционном AS игнорируется и
приравнивается к undefined. Теперь будет выброшено исключение
TypeError. Следует просмотреть код, в котором могут быть случайные
разыменования null или undefine, которые раньше проходили. Новое
поведение с выбрасыванием исключений отвечает спецификации ECMAScript.
(Добавлю от себя, что здесь речь идет, насколько я понимаю, о
невозможности обращения к свойствам и методам таких объектов.
Например,
var aDate:Date = null;
trace (aDate.getTime ()); // выдаст нам TypeError на этапе исполнения)

11. Компиляция с опциями командной строки -verbose-stacktraces и
–debug приведет к тому, что имена файлов и номера строк кода будут
появляться в алертах времени исполнения Flash-плеера.
Когда возникает ошибка времени исполнения, отображается диалог с
описанием ошибки и трэйсом стэка (все как в Java). Использование
-verbose-stacktraces и –debug облегчит выявление источника ошибки в
вашем коде.

12. Свойства больше не являются связываемыми (bindable) по умолчанию.
Вы должны объявить их связываемыми с использованием метатэга
[Bindable].

13. Flash Player API теперь реорганизован в пакеты.
Раньше все классы и методы Flash Player API были глобальными. Теперь
все объединено в пакеты, такие как flash.display, flash.events,
flash.ui итд. Например, MovieClip теперь стал flash.display.MovieClip,
а trace(), getTimer() и setInterval() перемещены в пакет flash.util.

14. Новый класс Timer обеспечивает более ясный механизм для событий
таймера по сравнению с setInterval/setTimeout.
Новый класс Timer имеет ряд преимуществ по сравнению с setInterval,
таких как: мы больше не будем иметь дело идентификаторами интервалов,
а будем иметь более современный ООП-интерфейс. Будет круто если все
крутые перцы будут пользовать Timer, а не признанные отстойными
setInterval/setTimeout.

15. События теперь стали строго типизированными и должны наследоваться
от классов, основанных на новом классе Event.
Это значит, что вы больше не сможете использовать экземпляр Object при
обработке событий. Также вы больше не сможете использовать краткую
форму задания объекта, как {type: ‘customEvent’ }. Вместо экземпляра
Object вы теперь должны использовать класс Event.

Например: dispatchEvent(new Event ('myCustomEventType')))

Если вы нуждаетесь в дополнительных свойствах, отнаследуйтесь от
Event. Мотивация? Безопасность работы с типами и эффективность!

16. Визуальные элементы должны наследовать DisplayObject, и вы можете
определять их как все другие классы. Компоненты теперь могут
создаваться динамически с использованием new и отображаться методом
addChild ().
Как результат, createChild() объявлен устаревшим. Визуальные элементы,
такие как TextField, могут создаваться как все другие объекты и просто
отображены с использованием методов addChild или addChildAt. Заметьте:
это означает, что старый API с использованием createEmptyMovieClip() и
createTextField() - умер! Если вы хотите создать текстовое поле,
используйте new TextField()" вместо "createTextField()".

17. E4X (ECMAScript for XML) теперь рекомендован для работы с XML во
Flash.
E4X является более мощной альтернативой, лучше встроен в язык, а также
предоставляет кучу новых возможностей. Старый класс XML все еще
доступен. Если вы предпочитаете работать со старым XML API,
переименованным в MLDocument, он все еще доступен в пакете flash.xml.

18. При использовании E4X метод toString не возвращает весь XML. Для
этого надо использовать метод toXMLString.
Метод toString возвращает адекватную XML-строку для объекта XML. Он не
нуждается в сериализации XML-данных. Для E4X используйте toXMLString.

19. for...in теперь не выводит свойства и методы, объявленные в
классе. Он выводит лишь динамические свойства объекта.
В AS3 введен более продвинутый механизм интраспекции объектов,
называемый describeType. Используйте describeType для интроспекции
объектов в AS3.

20. Объект root в swf-файле теперь может быть экземпляром
пользовательского класса, который вы выберете.
В AS2 root всегда является экземпляром MovieClip. В AS3 он может быть
любым подклассом Sprite. Вы можете установить определение класса в
DocumentRoot  вашего swf. При загрузке swf, он инстанциирует root как
экземпляр этого класса.


Таким образом, сегодня наступает великий день, после которого
совмещение flash-дизайнера, flash-аниматора и flash-программиста будет
вряд ли возможным. Посему вношу предложение упразднить слово "флэшер",
как дезориентирующее по двум признакам: за границей думают, что в
России Flash-технологией занимаются одни лишь эксгибиционисты, а
заказчики при поиске не различают, кто им нужен: программист или
дизайнер, называя всех флэшерами.

Ну и, понятно, сегодня все flash-разработчики могут напиться на
радостях.

Ура!


--
Best regards,
Constantiner


via RuFlash
PM MAIL WWW ICQ YIM MSN   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Flash"
AlDev
SoWa
  • Если вы хотите предложить кому-либо работу, то пишите или в личку, или оставляйте сообщения в специально предназначеном для этого форуме "Объявления о найме специалистов"
  • Один вопрос - одна тема. Не надо переходов от одного вопроса к другому.
  • Если вы хотите показать какой-нибудь ваш мульт, причём показать, а не предоставить исходник, то вам сюда
  • Вопросы про программирование на ActionScript 1,2 (Flash 8 и более ранние версии) пишите в форуме ActionScript 1,2
  • Вопросы по разработке интернет-приложений на Flex и вопросы по MXML пишите в раздел Flex
  • Смотрим в будущее. ActionScript 3 обсуждается в форуме ActionScript 3
  • Новости из мира Flash.
  • New! [code=ascript][/code] - подсветка ActionScript + wikipedia help

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, AlDev, SoWa.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Flash | Следующая тема »


 




[ Время генерации скрипта: 0.0715 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.