Как команды используют Flex Builder Pro для разработки больших приложений? - PullRequest
4 голосов
/ 13 апреля 2009

Мы разрабатываем приложения для платформы Flash, которые имеют МНОЖЕСТВО загруженных ресурсов во время выполнения (графика, данные, аудио, библиотеки кодов и т. Д.). Эти ресурсы логически организованы в папках проекта. Программисты и дизайнеры получают последние сведения о контроле версий, проверяют свой код или проектные работы, проводят тестирование в полной локальной копии приложения, а затем регистрируются по завершении. Организация важна для этого рабочего процесса и нашего общения.

Используя Flash или FlashDevelop, я могу легко работать с любой организацией папок и файлов. Я могу легко скомпилировать отдельный пакет или класс для создания загружаемого SWF во время выполнения. В Flex Builder Pro кажется, что я могу создать проект для каждого SWF-файла, который мне нужен для компиляции, или создать проект, который ссылается на модули, которые также можно настроить как проекты. Ни одна из техник не кажется идеальной для команды или даже столь же хороша, как наш текущий рабочий процесс. Примечание: у меня есть около 10 лет опыта работы с Flash, но только пару месяцев опыта с Flex Builder Pro. Вполне вероятно, что я просто не обнаружил лучшего рабочего процесса.

Не могли бы вы поделиться несколькими советами о том, как вы и ваша команда используете Flex Builder Pro для разработки больших приложений, в которых имеется множество библиотек времени выполнения и других ресурсов?

Ответы [ 3 ]

4 голосов
/ 14 апреля 2009

В целом, вы правы: с помощью FlexBuilder идея заключается в том, что вы создадите проект, в котором есть одна вещь, которую нужно собрать (.swf, .swc и т. Д.).

Файловый репозиторий (как вы уже упоминали, который вы используете) определенно ДОЛЖЕН ИМЕТЬ для крупномасштабной разработки.

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

В разных ситуациях требуются разные способы совместного использования проектов. Может быть полезно напрямую ссылаться на проект библиотеки как зависимость. Таким образом, ваши проекты могут отлаживать связанный код и изменять его по мере необходимости. Или, если проекты библиотек изменяются реже, их активы можно было бы поместить в папку / libs зависимого проекта, что устраняет необходимость открывать генерирующий проект .swc во время разработки.

Сохранение ваших проектов в ситуации с одним активом на проект имеет большое значение для его организации. Обычно у меня есть папка для каждого клиента и там папка для каждого проекта. Если этот проект необходимо разбить на подпроекты, тогда ВСЕ эти подпроекты будут расположены в этой папке проекта (независимо от того, как они связаны друг с другом).

Иногда, конечно, полезно создать несколько активов для одного проекта. Это может быть несколько .swfs для разных ситуаций, разные ZIP-файлы для распространения в разных местах или клиентах или дюжина других ситуаций. «Актив» проекты иногда являются хорошим примером этого. Иногда у меня есть «проект», это просто моя коллекция активов. Обычно я не обращаюсь к этому проекту из FlexBuilder, и у него обычно нет .project и других файлов Eclipse.

0 голосов
/ 13 мая 2009

Если вы не разрабатываете приложение Hello World, у вас должно быть несколько проектов Flex Builder. В основном есть минимум классов и, возможно, общие библиотеки, необходимые для отображения первого экрана вашего приложения.

Шрифты и CSS идут в отдельный проект и компилируются в отдельный SWF. Загрузите их во время выполнения через StyleManager. Одно это ускорит компиляцию вашего приложения.

Остальная часть кода должна быть разбита на отдельные проекты (проекты Flex Library или только проекты, имеющие модули). Прочитайте о различиях в связывании библиотек с основным проектом (RSL против объединенного в код против внешнего).

Мы используем Ant для создания каждого из проектов и всего приложения. Наша утилита Fx2Ant с открытым исходным кодом генерирует ANT-сценарии для ваших проектов Flex Builder за считанные секунды.

Например, вот проект, над которым я работал в прошлом году: http://www.mbusa.com. Он состоит из более чем 15 проектов Flex Builder.

0 голосов
/ 02 мая 2009

Я также использую сочетание библиотечных проектов и обычных проектов. Одна проблема, с которой я столкнулся в большом проекте - это время компиляции . Вот несколько ссылок для компиляции:

Установка правильного eclipse.ini и использование опции -incremental compiler действительно помогли мне.

...