IPB

Здравствуйте, гость ( Вход | Регистрация )

> дцать причин не любить AS3, AVM1 против AVM2
chingachgoog
сообщение 1.03.2009 - 01:15
Сообщение #101


Ветеран конференции
*****

Группа: Пользователь
Сообщений: 1134
Регистрация: 27.02.2009
Из: Moscow
Пользователь №: 9144



В свое время в сети попалась презентация "50 причин перейти на AS3", так, что тут будет (со временем) нечто вроде контрответа, а также разбор отличий AVM1 (AS1/AS2) от AVM2 (AS3).

(не следует считать этот топик отрицанием AVM2 и AS3. Хороший флешер должен уметь понимать любой код: от кода в стиле флеш-5 (на объектах), до кода AS3. Но чтобы хорошо в чем-то разбираться, надо знать не только сильные стороны, но и слабые, а также тщательно скрываемые)

Итак, поехали:

1) Адоб сознательно (умышленно) пошла на СДЕРЖИВАНИЕ развития AVM1. От версии к версии (флеш-плеера) AVM1 развивалась. Но адоб выпустила новые продукты - основанные на AVM2 (флеш-редактор-9 - он же CS3 и уже CS4, флексы всех мастей и аир). Развитие AVM1 тормозиться, заставляя переходить сообщество на продукты с использованием AVM2.
Например, интерпретатор AVM1 может считывать байт-коды названия меток кадра. Т.е. в самом ФП эта возможность реализована. А вот реализацию этого в AS1/2 адобовцы добавить "забыли", хотя для AVM2 с AS3 это сделано. И так во многом.

2) AS3 не сохранил преемственности с прежними версиями AS. Это ДРУГОЙ язык. С другими традициями и особенностями применения. По сути, те, кто захочет и кого заставит адоб перейти на AVM2 будут должны выучить новый язык.

3) AS3 имеет незаметные, но фатальные отличия от AS2. Например, в типизации :Void и :void
Пустячок? Но отчего у макромедии с каждым обновлением ФП не скакали зарезервированные слова?

4) AS3 гораздо более НЕГИБКИЙ (какое издевательство над слово флекс), чем AS1. Это касается очень широкого спектра средств языка: наследования, областей видимости, обращения к объектам, формата записи во внешние файлы и т.д. и т.п. (см. ниже)

5) AS3 не позволяет менять родителей класса. AS1 делает это легко, динамически и в любое время.
Например, после этого:
Код
Video.prototype.__proto__=MovieClip.prototype

У объекта Видео начинают работать методы мувиклипа типа swapDepths() и removeMovieClip() !!!

6) Код на таймлайне
7) Новый синтаксис пакетов и классов
8) Нет duplicateMovieClip
9) Необходимость деструкторов
10) Мучения с Sound
11) Выделение искусственных классов
12) Громоздкий хелп
13) Кастрация событийной модели
14) Смешной onReleaseOutside
15) Зачем в AS3 убили arguments.caller
16) Как сыпятся песочницы адоба
17) Восьмеричный запрет
б/н Откровения мистера Ли из адоба
18) Жесткий override
19) Ограничения override
20) Убогий super
21) А есть ли полиморфизм?
22) Немного об ECMAScript
23) Ограничения таймлайна
24) Глобальный объект и глобальная видимость
25) Они убили watch()...
26) Нет глобальных событий
27) Компилятор AVM2 не оптимизирует код
28) valueOf ()
б/н Про вес ФП
29) Виртуализация таймлайна и баги с этим связанные
30) Идиотизм Loader-а
31) "Легкие" глубины.
32) Автосоздание прототипов
33) allowDomain у LocalConnection
34) Неоправдавшиеся надежды по поводу расшаренных объектов
35) Преобразование типа null к числам
36) Зачем buttonMode для мувиклипов?
37) Run-time ошибки
38) Ограничения с работой JavaScript
39) isDown почила в бозе...

Сообщение отредактировал chingachgoog - 1.07.2011 - 14:38


--------------------
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения

Сообщений в этой теме
chingachgoog   дцать причин не любить AS3   1.03.2009 - 01:15
HaWK   Здесь согласен. Новая система глубин (индексов) с...   25.10.2010 - 13:56
HaWK   Кому как. "Плохому танцору......" дальш...   25.10.2010 - 14:13
HaWK   Думаешь AS3 не развалился бы если бы событийная ...   25.10.2010 - 14:24
chingachgoog   Senior Programmer, умей оптимизировать свой код, ч...   25.10.2010 - 15:16
HaWK   Ну "типа" в AS1 модель такая: объект.со...   25.10.2010 - 15:25
chingachgoog   Ну "типа" в AS1 модель такая: [i]объект....   25.10.2010 - 15:49
HaWK   Для людей, умственно-отсталых - фраза означает ...   25.10.2010 - 16:03
chingachgoog   Ладно, не буду мальчонку добивать - а то ведь и пр...   25.10.2010 - 16:30
HaWK   А вообще у нашего chingachgoog-а глисты в жопе. Он...   25.10.2010 - 16:40
uspechov   А вообще у нашего chingachgoog-а глисты в жопе. Он...   11.03.2011 - 18:43
tiHo   Это я перевожу ваши последние посты, глазами ску...   25.10.2010 - 19:49
HaWK   А смысл делать такое? Если просто нужно засунуть...   25.10.2010 - 20:48
chingachgoog   А смысл делать такое? Если просто нужно засунуть П...   26.10.2010 - 13:22
HaWK   Я понял о чём речь. Но если посмотреть с точки зре...   26.10.2010 - 13:48
MustLive   Ребята. Я временно закрою тему, чтобы снять накал ...   26.10.2010 - 14:48
chingachgoog   33) allowDomain у LocalConnection Помимо того, чт...   14.01.2011 - 15:04
chingachgoog   34) Неоправдавшиеся надежды по поводу расшаренных ...   14.01.2011 - 15:11
geenny   У класса LocalConnection под avm2 есть еще один не...   7.09.2011 - 14:12
chingachgoog   У класса LocalConnection под avm2 есть еще один не...   7.09.2011 - 19:43
chingachgoog   35) Преобразование типа null к числам До версии 7...   26.01.2011 - 17:54
HaWK   uspechov, уже плотно работал с AS3? Если работал -...   11.03.2011 - 23:38
chingachgoog   36) Зачем buttonMode для мувиклипов? В AVM1 было ...   28.03.2011 - 17:30
HaWK   не то? :)   28.03.2011 - 17:33
HaWK   Ты уже не знаешь за что придираться. Новая AVM ...   28.03.2011 - 19:40
chingachgoog   37) Run-time ошибки На самом деле для разработчик...   30.03.2011 - 18:12
chingachgoog   38) Ограничения с работой JavaScript AVM1 имел ун...   18.04.2011 - 16:14
chingachgoog   39) isDown почила в бозе... Мало того, что Адоб л...   21.06.2011 - 13:19
DJKOT   ничего себе юморок... трудно представить, на что э...   21.06.2011 - 16:57
chingachgoog   Ну там еще isToggled () прибили, но я уж не стал о...   22.06.2011 - 10:53
chingachgoog   40) Нет аналога onLoadComplete В LoaderInfo собы...   1.07.2011 - 15:32
chingachgoog   41) Как обычное видео AVM2 убивает Обычное флеш-в...   26.03.2012 - 15:25
chingachgoog   42) smoothing vs forceSmoothing Докладываю. В AVM...   20.06.2012 - 11:27
chingachgoog   43) enabled работает нефункционально! В допол...   20.09.2012 - 13:40
chingachgoog   44) Недокументированные фичи Да, в AVM1 была масс...   14.03.2013 - 17:33
MustLive   addFrameScript - интересная функция. Чтобы не рука...   15.03.2013 - 01:35
chingachgoog   45) XML vs E4X Вообще, хотя лично мне E4X не удоб...   5.04.2013 - 18:01
2 страниц V  < 1 2


Ответить в эту темуОткрыть новую тему
4 чел. читают эту тему (гостей: 4, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия Сейчас: 14.06.2013 - 20:34