понедельник, января 21, 2008

Новый проект As3Eval

As3Eval - это библиотека, позволяющая динамически компилировать некоторый ecmascript внутри плеера. Она находится сейчас в стадии разработки, поэтому применять ее в реальных проектах врядли получится. Библиотека состоит из портированного es4 "esc" компилятора, доступного из проекта Tamarin.

Демо
В закладке Eval UI можно увидеть сгенерированный байткод. Также можно вставить дамп (hexdump -C) свфки и дизассемблировать его.
Исходный код
SWC

вторник, января 15, 2008

Разновидности Flex-специализаций

Яков Файн обещал флексовый бум в 2008 году. И вот он настал и флекс-программисты сейчас в большом дефиците (имеются ввиду, наверно США). В настоящий момент его команда работает над двумя проектами, суть которых состоит в переносе приложений с Java на Flex. В этих проектах естественно участвуют Flex-разработчики. Поэтому вашему вниманию предлагается их классификация:

1. Разработчики GUI (графического пользовательского интерфейса)
2. Разработчики Flex-компонентов
3. Flex-архитекторы

К первой группе относятся люди, способные создать внешний вид приложения. Это так называемая стартовая позиция в иерархии Flex-профессий. Вам необходимы лишь базовые знания программирования. Статьи и презентации евангелистов создают впечатление, что работа с Flex достаточна проста - накидал компонентов, выровнял их, повесил пару функций на кнопки и вуаля. Как Visual Basic в вебе. Этому легко обучиться самому, поэтому не ждите больших дидвидендов от этой позиции, так как многие также легко могут это постигнуть.

GUI разработчики взаимодействуют с веб-дизайнерами, которые создают шаблоны приложения.

Рассмотрим следующую позицию - разработчики компонентов. Эта каста должна объединять в себе знания предыдущей группы плюс знания в области объектно-ориентированного и событийного (event-driven) программирования. Знания паттернов проектирования также поможет, но здесь будьте осторожны. Особенно, это относится к людям, пришедшим из Java. Не злоупотребляйте паттерном MVC. Шаблон, созданный дизайнером, должен быть разбит на несколько компонентов, взаиммодействующих друг с другом. Поэтому использования паттерна Mediator здесь подойдет лучше (пример).

Также помните, что, хотя ActionScript 3 очень похож на Java, он дает нам динамическое программирование, поэтому нет необходимости создавать тонны строго определенных объектов как в Java.

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

В небольших командах обычно последние две специализации объединены в одном человеке. Если для вашего проекта необходимо создание собственного фреймворка на основе Flex-фреймворка, то вам понадобятся фреймворк-кодеры.

Ну и как в Голливуде:
Если вы хотите изучить Flex, дерзайте и вступайте в растущее Flex-сообщество. Решите, кем вы хотете быть и идите к этой цели. Be what you can be.

Оригинал

пятница, января 11, 2008

Pacifica - VoIP-проект от Adobe

На MAX 2007 Adobe анонсировал новый проект под кодовым названием "Pacifica". Было продемонсрировано простое приложение с использованием высококачественного голосового кодека. Качество было настолько высоким, что некоторые не верили, что это VoIP.

Несколько фактов о Pacifica:
  • Pacifica разработана на основе открытого SIP протокола;
  • Основной целью является поддержка высокого качества звука;
  • Сейчас Pacifica позволяет осуществлять P2P передачу медиа-данных с помощью серверов;
  • Одной из задач является уход от сложных серверных решений, которые необходимы сейчас для VoIP технологий.

Планы по развитию проекта:
  • Поддержка Video over IP;
  • Поддержка AIR приложений;
  • Поддержка стандартных телефонных сетей;
  • Поддержка текстовых сообщений и др.

Участвовать в разработке можно пройдя небольшой опрос.

Официальный сайт проекта