UAFPUG-17 во Львове, 13 февраля 2010 - не забывайте регистрироваться
FlexiPedia Wiki on Adobe Flex
Флэш Потрошитель - Флэш & Флекс, rost[ухо]flash-ripper.comФлэш & Флекс, rost[ухо]flash-ripper.com

Флэш Потрошитель этот | тот | 1.0

С 09.09.2002
  • Наша коллекция багов Flash
  • Ссылки для начинающего аниматора

Микроблог

MythBusters: Правда и вымысел о Flash. Забавный пост, комментарии тоже весьма...)
Rost
- 3 дня
Будет ли флэш спасен - спрашивает Роберт С.
Rost
- 5 дня
Будем знакомы: Социальных Игорь, разработчик ^_^
Rost
- 1 неделя
ВКонтакте - пиво в Челябинске
Rost
- 1 неделя

Сегодня в Челябинске - флэшерские посиделки

. В 20:00 будем есть пиво в пиццерии Вавилона, что по улице Свободы, 88Д. Будем рады видеть всех челябинских и вообще всех, кто пожелает к нам присоединиться :)
Rost
- 1 неделя
AJAX-транспорт IFrame - все, что вам нужно знать о IFrame, и вам это может даже пригодиться :)
Rost
- 1 неделя
На самом деле вируса нет: Касперский ошибается, сообщая "Trojan.JS.Redirector.ar virus on "http://pagead2.googlesyndication.com/pagead/show ads.js", детали по этой ссылке.
Rost
- 2 недели
@Vooparker на Жуйке!
Rost
- 2 недели
Переведенная на русский документация по FMS Server-Side ActionScript
Rost
- 2 недели
Kuzen вернулся во Flash и сделал обзор флэш-блогов
Rost
- 2 недели
Читать все записи
Главная › Блоги › Rost's blog

За что мы любим Apache Ant

Часто можно услышать вопросы: а что такое Apache Ant? Чем он может мне помочь, как его использовать, нужен ли он мне вообще? И хоть мы уже неоднократно и сердито писали об этой замечательной технологии автоматизации рутинных задач, об Apache Ant надо писать еще и еще, ведь каждый, кто его использует, знает, сколько человекочасов (и, что более важно, человеко-нервов и человек-жен) они сэкономили, потратив два часа на полное освоение этой технологии, включая оптимизацию своего текущего проекта.

Как Apache Ant помогает человеку не делать работу за роботов

Приведу свежий пример из собственного опыта. На одном из последних проектов я должен был делать цепочку одних и тех же операций:

  1. Увеличить номер билда в версии приложения (например, с 0.2.178 до 0.2.179). В двух файлах: текстовом build.number и файле Version.as, который затем вкомпилируется в приложение для точного отображения его текущей версии для тестера в правом нижнем углу приложения.
  2. Скомпилировать версию приложения для Flash Player 9.
  3. Также скомпилировать версию для Flash Player 10, с другим именем. Код не менялся, но дело в том, что в моем проекте активно использовалась BitmapData максимальных размеров, а во Flash Player 10 эти размеры увеличены с 2880x2880 пкс до 4095x4095 пкс. И чтобы выжать максимум возможностей для пользователя, не заставляя его при этом обновлять FP9 до FP10 (требование заказчика), html-станица автоматически подставляла нужный swf-файл приложения с помощью SWFObject.
  4. Положить созданные билды вместе с файлом версии build.number в целевой каталог, а также скопировать их в соотвествующие номеру билда подкаталоги типа "/179". Копии создаются для возможности быстрого отката к нужной версии, что особо важно на завершающих этапах проекта, особенно если нервный немецкий клиент уже сам тестирует приложение.
  5. Закачать созданные билды в целевые каталоги FTP-сервера.

Сделать заново все вышеперечисленные шаги для отладочной версии приложения и залить ее на другой, тестовый сервер для собственной отладки или профайлинга. Отладочные файлы хранить отдельно.

Думаю, очевидно, что все вышеперечисленные шаги легко алгоритмизируются и превращаются в набор задач для простого автоматического робота, которым и является Apache Ant. Заставлять человека выполнять такие для каждой новой сборки приложения (а она может происходить весьма часто, иногда интервалы между сборками становятся менее трех минут) — задача истинно дьявольская. Я бы сделал так, если бы хотел превратить человечество в стадо унылых и тупых биороботов. Судя по некоторым спамерам и вообще, кое-кто успешно релизует такие модели, люди, опомнитесь, вы идете в ад, такой ад.

Стоп, сатана, тебе здесь не место

Но на гуманистическом сайте Ф. Потрошителя мы ставим жесткий заслон планам сатаны. Мы любим Apache Ant и посвящаем ему еще один пост. В конце я приведу файл, что решал все мои указанные выше задачи, но если вы еще совсем ничего не знаете про Ant, то приглашаем вас на

знакомство с Apache Ant

Блоггер Самойлов написал совсем надавно вот такую короткую статью: Знакомство с ANT. Как бы отвечая ему, Константин Ковалев тоже написал статью, но она длинная и написана уже давно, со свойственной Константину основательностью: Сборка Flex-приложений с помощью Ant, и вот еще есть доклад от него же "Разработка Flash-проектов с использованием Apache Ant и FDT".

Ваши более тесные отношения с Apache Ant

После этих двух статей вы уже почти специалист по Apache Ant и вам можно дать это:

  • Домстраница Apache Ant и описание набора задач Apache Ant (жмите там Ant Tasks).
  • Обсуждение Apache Ant (и Maven, спасибо Алексею Квирингу из Альтернативы).
  • Проект "Турецкий свитер": сборник решений популярных Ант-задач.
  • Проект "Antennae" для Flex.

И помните: Ант автоматизировал, автоматизировал, да не перенедоантоавтоматизировывал, а вот тот файл build.xml, что решал мои задачи, он простой, тупой и неоптимизированный, но черт побери он работает.

Твоя оценка: Нет Средняя: 2.5 (8 голоса )
  • Rost's blog
Чт, 16/04/2009 - 16:40 — Rost
  • ant
  • opensource
  • performance
  • tools
  • Подсказки

Найдены баги:

А сборку чего-то большого, вроде Flex 4 SDK, без автоматизации вообще представить невозможно...

Хвала муравью! Я рад, что пару лет назад благодаря твоим и Костиным постам изучил этот вопрос.

Garbage Collector (не проверено) 20:41 16/04/09

Мега весчь!
Активно использую для сборки своих проектов.
За меня мураха делает:
1. сборку 4 модулей;
2. обновление ревизии;
3. изменение URL для RSL;
4. поэтапное компилирование модулей с исключением ненужных классов;
5. ну и деплой проекта.

ez (не проверено) 21:33 16/04/09

Блин,если честно так особо и не понял про апач,потом почитаю,не свежую голову xD

Severus (не проверено) 23:02 16/04/09

По поводу сборки AS-приложений ничего не скажу, так как не приходило в голову использовать ант для этой цели, но ... Для сборки java-приложений, для которых он изначально предназначался это слишком отсталый движок. Нет возможности отслеживать зависимости, каждый таск надо писать руками, нет нативной возможности разделять код по субпроектам итд. Гораздо лучший вариант в этом случае - maven. Вот кстати отличная статья - http://www.ibm.com/developerworks/ru/edu/j-dw-java-mavenv2.html + наверняка уже все читали статью http://riapriority.com/blogs/agahov.php/2007/11/27/flex_maven_part1 Smile)

С4 (не проверено) 23:07 16/04/09

Турецкий Свитер - суров )

flasher (не проверено) 01:12 17/04/09

У нас Pronto (talktoip.com) собирается Антом уже больше полугода.

Настройка сборки + Bamboo (веб-интерфейс для анта на удаленном сервере) заняла где-то неделю (она совсем непроста).

На данный момент произведено 468 сборок различных конфигураций, что сэкономило примерно 80 часов рабочего времени сотрудников. К тому же возможность собирать проект в любой нужной конфигурации в нужный момент получила наш менеджер.

Slon_vsapogah - http://riapriority.com/blogs/slon-vsapogah.php 08:52 17/04/09

Кагда я стала пользоваться шампуним хэдиншолдерс... ) простите, не сдержался

flasher (не проверено) 09:58 17/04/09

Рост, ты бы мог выложить еще и:
./build-configs/mxml-config-fm-fp9-debug.xml
./build-configs/mxml-config-fm-fp10-debug.xml
./build-configs/mxml-config-fm-fp9-release.xml
/build-configs/mxml-config-fm-fp10-release.xml
из своего build.xml? не ясно что там внутри и в каком формате.

Firsoff Maxim (не проверено) 17:46 24/05/09
Примечания: Статус документа => в процессе ·
Статьи · Идеальный клип · Персоналии · Глоссарий (уст.) · Что делать? · К началу ↑
© 2002-2009 Ростиславр · О проекте · Подписка на новости (RSS) · α-тестировани невероятного
What is OpenID?
  • Зайти по OpenID
  • Cancel OpenID login
  • Зарегистрироваться
  • Запросить новый пароль
]]>


]]>
]]>
Flash Ripper RSS Feed
]]>
]]> Подписаться на RSS ]]>