flexmojos

Интервью №2 для Компьютерной газеты

Было опубликовано в №30 (813) от 8 августа 2011 года.
Общался с Кристофером

Вообще, если говорить образно, сейчас Flex конкурирует в основном с Java. Какие главные плюсы и минусы у каждой из сторон ты бы выделил?

Тут небольшая ошибка, Flex не конкурирует с Java :) Java -- язык общего назначения, Flex -- фреймворк для AS3, выполняющий довольно узкую задачу. Не могут они конкурировать :)

Пробуем Flexmojos 4

С выходом Maven 3 специально под него Flexmojos был переписан заново, практически с нуля. И получил номер версии 4. Релиза, правда, еще нет, есть бета-версии.

И я решил попробовать это дело в новом проекте. В рамках общего курса ухода от велосипедов и стандартизации всех тулов и процессов в разработке, я решил уйти от форка Develar (оказалось, что не на долго, быстро вернулся назад) и освоить стандартную ветку flexmojos.

Maven и Flexmojos, интро.

В узком смысле Maven -- это инструмент для сборки проектов. На вход подаем исходные коды и ресурсы, на выходе получаем артефакты: программы, модули, библиотеки, документацию и т.д.

Вы спросите, а зачем это нужно, если мы тоже самое делаем в IDE? Разница в том, что в IDE мы делаем это вручную, а Maven делает это автоматически. То есть, он может делать это без участия программиста, и вообще без участия человека :) В IDE мы делаем это для себя, обычно в рамках цикла write-compile-debug, в рамках разработки и отладки вышеупомянутых продуктов (дебаг-версия). Maven делает это для поставки конечным пользователям (релиз-версия).

В более широком смысле Maven -- это инструмент управления проектом.

Flexmojos. Уменьшаем размер swf-файла подключая flex framework как RSL.

Немного теории

Работа с RSL подразумевает две довольно разные задачи. Одна задача -- собрать проект так, чтобы flex framework подключался как RSL, а не входил в состав swf-файла. Другая задача -- создание собственных RSL библиотек и их подключение. Первая задача проще, ибо библиотеки уже есть. С нее и начнем, а другую задачу рассмотрим позже :)

AIR приложение на стандартном Flexmojos

Не все могут использовать форк Develar, поэтому я покажу использование и стандартного flexmojos. Разница не столь велика.

Вот модификации, которые нужно сделать в пом:

Flexmojos. Собираем AIR приложение.

Ну давайте разберемся как с помощью flexmojos собирать AIR приложение.

Создаем проект

Для начала создадим простенький проект такой структуры:

try-flexmojos
- src
  - main
    - flex
      - SimpleAirApp.mxml
    - resources
      - icons
        - icon_128.png
        - icon_48.png
        - icon_32.png
        - icon_16.png
      - descriptor.xml
- pom.xml

Главный класс приложения у нас будет незамысловатый:

Flexmojos Cookbook

После двух лет работы с maven/flexmojos имею сказать: хрень это неудобная, требует к себе неоправданно много внимания, и без нее лучше, чем с ней. Нафиг flexmojos, не юзайте. Maven в java разработке хорош, для flex разработки не нужен.

Но для истории пусть все написаное останется. Жалко же выкидывать :)

Maven, настроил и забыл

Плохой тул постоянно напоминает о себе, требует, чтобы ты для него что-то сделал, в чем-то разобрался, где-то подкрутил. Плохой тул капризен и ревнив. Он не любит, чтобы про него забывали. Он любит внимание и заботу.

Удобный тул не мешает работать. Идельный тул вообще не заметен. Одажды настроил и забыл про него.

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

Сейчас мы сделаем еще один шаг к просветлению :)

Скринкаст N 01. Небольшой flex-проект с Intellij IDEA, Maven/Flexmojos, Mate.

Это мой первый скринкаст, и, надеюсь, не последний. Не все получилось гладко, сорри, хотя я это репетировал :) Ну ничего, в другой раз получится лучше.

Видео на vimeo.com, на rutracker.org

Длительность 27 минут, размер 36 Мб, разрешение 1024x768px

Видеокодек H264

Аудиокодек Vorbis

Касательно всех вышеперечисленных параметров готов выслушать ваши пожелания и рекомендации.

Nexus, Server-side.

Nexus

Стремясь достичь высокой модульности и реюзабельности кода, мы дробим проект на кучу мелких модулей, и получаем кучу swc файлов. Естественно, оперировать ими вручную было бы хреново -- попробуйте подключить к проекту 30 swc, лежащих в разных местах. К счастью, делать это совершенно не нужно -- обо всем заботится Maven. Все swc файлы лежат в локальном репозитории ( ~/.m2/repository ) и легко подключаются куда угодно указанием зависимости.

Pages

Subscribe to RSS - flexmojos