Flash Ripper RSS Readers

+

15.Август.2008

Инновационный ECMAScript 4 отвержен, реакционный ECMAScript 3.1 становится главной веткой стандарта следующей версии JavaScript

Право же, я не собирался об этом писать, поскольку вопрос, друзья, пустяковый и не стоит вашего драгоценного времени. Но тут такое дело — Shagrat прямо в комментах обращает внимание на то, что ECMAScript4, на черновом варианте которого построены ActionScript3 и Mozilla Tamarin, не станет будущим JavaScript, а вместо него будущим продолжит оставаться прошлое JavaScript, т.е. ECMAScript3, проапгрейдженный до версии 3.1. Иными словами, JavaScript-разработчикам не видать всех тех плюшек, что были уже опробованы в AS3. В частности, можно забыть это:

- неймспейсы, пакеты и биндинг.
- новый синтаксис и новые семантические конструкции
- классы. Взамен классов будет элегантная штука "Object.freeze()", которая "замораживает" объект. Не будет в JavaScript честных классов, останется их симуляция.
- и вот эти возможности.
- в общем говоря, сохранится существующий стандарт.

Вывод: в развитии JavaScript предпочтение отдано целостности существующих подходов, а не новой функциональности. Многие браузеры попросту не готовы к реализации ECMAScript4 — фактически, есть только Mozilla с готовым движком Tamarin, а разработчикам остальных браузеров пришлось бы приспосабливаться. Для облегчения этого приспособления был создан проект ScreamingMonkey, который уже частично решает эту задачу под IE, но все еще сыроват.

ActionScript продолжит свой путь развития, и в перспективе количество отличий AS от JS может возрасти. А я мечтал, как буду писать в JavaScript и ActionScript, не задумываясь о переключении между ними.

Почему кажется, что все так плохо и когда покажется, что стало лучше?

Не все так плохо. Многое хорошо. В самом худшем варианте ActionScript3 обретает полную свободу в собственных будущих инновациях. Это означает, что разработчики Flash Player, то есть те самые люди, что 10 лет дарили сети новые идеи, анимацию, концепцию и реализацию насыщенных интернет-приложенний, онлайновое, будь оно неладно, видео, продвинутые средства разработки — все, что пришло через Flash Player и затем было перенято как лучшие технологии — эти люди теперь смогут совершить новый скачок в разработке ActionScript 4 (ActionScriptX), поскольку их язык не стал стандартом, следовательно, никакие комитеты им не указ, следовательно, их руки свободны. Это мои мечты о самом худшем варианте. Да, Adobe сделала свою попытку стать чем-то большим. В результате совершения этой попытки могло случиться так, что все полюбят флэш за то, что он дал миру такой чудесный и удобный новый JavaScript. Однако, что-то мне подсказывает, что вероятность этого мала. Могли бы — уже полюбили бы.

А в лучшем варианте, что-то мне подсказывает, что решение W3C относительно будущего ECMAScript4 и JavaScript будет пересмотрено. Не та ныне сеть, чтобы легко согласиться на устаревший стандарт в качестве нового. Хотя ни у кого, в общем-то, и не спрашивают, и вряд ли спросят. Но если разовьется этот, лучший вариант, то Adobe придется с новой силой вкладываться в Tamarin, и в то, чтобы их детище полюбили все, или хотя бы большинство. А это непросто.

А не пересмотрят решение — что ж, не беда. Жили мы без этого раньше, и будем дальше жить, пока стандартизаторы не поймут, как приоритеты нужно выбирать. Пока клиенты будут ходить с заказами к флэшерам на все руки.

В то же время, следует узнать, что это весьма нелегкое решение было принято в процессе слияния двух рабочих групп. Группа ECMAScript3.1 слилась с группой ECMAScript 4, и в процессе слияния получила преимущество во имя стабильности и гармонии. Объединенная группа так и называется — Harmony. Глава Mozilla Foundation Брендан Эйк подробно описал, как все было и почему так нужно. По своему согласен с этим создатель MTASC и haXe Николя Канасье.

Что по этому поводу говорит Adobe

Официальная позиция Adobe разъяснена и звучит так: Adobe за стандарты и стандарты — это в первую очередь способ обеспечения эффективного взаимодействия. Adobe будет продолжать работу в группе ECMAScript и работу над стандартами. В то же время, Adobe не прекратит и работу над инновациями, и всеми Open Source проектами, поддерживаемыми ею сейчас, как инициированными Adobe, так и прочими. Пакеты и пространства имен из языка ActionScript исключаться не будут.

Adobe продолжит расширять границы возможного в сети.

Posted by: Rost at 04:33 PM | Comments (22)

13.Июнь.2008

Tamarin и справочник по уборке мусора во Flash Player и AVM+

Тамарин 1 — JavaScript 2, ActionScript 3, ECMAScipt 4

Как разработчик, вы скорее всего знаете, что наряду с открытым Flex SDK существует также Tamarin — открытый проект внедрения части виртуальной машины Flash Player AVM2 (JIT-компилятора и MMgc-коллектора) в одну из прогрессивных реализаций ECMAScript 4 для браузеров и не только — движок SpiderMonkey (Mozilla / FF). Иными словами, это будущий JavaScript, который может многое уже сегодня (см. фоторедактор Pixastic, выполненный на чистом JavaScript + Canvas (DOM)). Оба проекта живут по соседству в одном на сайте Adobe Open Source.

Было бы интересно скомпилировать под Тамарин, для пробы?

Британец Zwetan Kjukov рассказывает, как это сделать. Красивый и понятный английский:

Зветан пишет, как собрать Tamarin на Windows, написать "Hello World" под ActionScript Virtual Machine + (AVM+, avmplus), как сделать простой exe-файл под Tamarin, и немного о MMgc — он же менеджер памяти и сборщик мусора для Flash Player и Tamarin.

Энциклопедия Сборщика Мусора для AVM2

Чтобы проиллюстрировать практические преимущества проекта Tamarin для флэшеров, рекламирую подробнейшую документацию по Tamarin garbage collector, то есть по сборке мусора в AVM2. Эта информация полезна для понимания внутренней жизни Flash Player.

Бурлит жизнь на домашней странице Tamarin'а и есть уже версия на японском, и есть также блог разработчиков, где пишут о главном и новом в Тамарине.

Далее идет ссылка не в эту тему, но просто для любителей кода: Ностратический словарь Бомхарда — 601 лексема праностратического языка. Типа таких: (ra?-ay-) «Видеть, постигать»

Posted by: Rost at 10:59 AM | Comments (1)


++