Афоризм
Я обещал златые горы. Но вот о шубе речь не шла.
Последние статьи

 • Активности Android
Многоэкранные Android приложения
 • Fragment dynamic
Динамическая загрузка фрагментов в Android
 • Fragment lifecycle
Жизненный цикл Fragment'ов в Android
 • Fragment example
Пример Fragment'ов в Android
 • Data Binding
Описание и пример Data Binding
 • Пример MVVM
Пример использования MVVM в Android
 • Компонент TreeTable
Описание компонента TreeTable для Swing
 • Пример TreeTable
Пример использования TreeTable
 • Хранилища Android
Внутренние и внешние хранилища данных
 • Пример SQLite
Пример использования SQLite в Android
 • WebSocket
Описание и пример реализации WebSocket
 • Визуальные компоненты
Улучшен компонент выбора даты из календаря
 • Анимация jQuery
Описание и примеры анимации элементов DOM
 • APK-файл Android
Создание apk-файла для android устройств, .dex файлы
 • платформа JaBricks
Платформа OSGi-приложения JaBricks
Поддержка проекта

Если Вам сайт понравился и помог, то будем признательны за Ваш «посильный» вклад в его поддержку и развитие
 • Yandex.Деньги
  410013796724260

 • Webmoney
  R335386147728
  Z369087728698

Сборка проекта

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

Автоматизация процесса сборки программного продукта связана с разработкой различных скриптов для выполнения таких действий, как :

  • компиляция исходного кода в бинарный;
  • сборка бинарного кода;
  • разворачивание программы на сервере (удаленном компьютере);
  • оформление сопроводительной документации или описание изменений.

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

Таким образом, автоматизация процесса сборки проекта становится неотъемлемой частью процесса разработки. С развитием интегрированных средств разработки (IDE Eclipse, NetBeans, IntelliJ IDEA и т.п.) стало ясно, что пакетные файлы для автоматизации сборки уже не соответствуют современным требованиям. Появились новые системы автоматизации сборки Apache Ant, Apache Maven.

Apache Ant (http://ant.apache.org) сталлогическим продолжением make, схожий по принципу работы инструмент, основной задачей которого была обеспечить автоматизацию процесса сборки Java приложений. Ant - это императивная командная система, созданная для кроссплатформенного применения. Изначально ant разрабатывался для сборки и компановки java-проектов.

Для java-разработчиков большой проблемой применения пакетных файлов было то, что они сильно завязаны на команды операционной системы (OC). В случае, если необходимо было обеспечить сборку проекта в разных операционных системах, то нужно было использовать не только разные наборы и параметры команд, но и формат командных файлов. Разработка собственного командного файла сборки под каждую платформу – это не лучший выбор для кроссплатформенных приложений. В результате Apache Ant был спроектирован таким образом, что часто применяемые при сборке команды ОС обернуты внутренними командами ant, а скрипты сборки описываются в формате XML.

Широкое распространение получила декларативная система автоматизации сборки Apache Maven согласно описанию проектного pom.xml файла формата XML. В файлах проекта pom.xml содержатся не отдельные команды, а описание проекта. Все задачи по обработке файлов maven выполняет с использованием плагинов.

В настоящее время maven развился в специализированную комплексную систему управления сложным процессом создания программного обеспечения и представляет собой обобщенную систему управления разработкой с огромным количеством дополнительных возможностей, применяемых в большинстве сценариев разработки ПО. Многие среды разработки приложений для языка Java обеспечивают интеграцию с этой системой.

Неоспоримым преимуществом maven является автоматическое управление зависимостями, хорошая структурированность проектов и отсутствие скриптов сборки как таковых, а следовательно проблем с ними. К недостаткам этой системы обычно относят сложности в изучении и трудность диагностики проблем при сборке. Также следует отметить сложности в поиске нужных maven плагинов и их настройке.

В связи с большим объемом информации по Apache Maven на сайте представлено несколько страниц, где можно ближе познакомиться с общим описанием данного программного продукта и его возможностями, а также увидеть многочисленные примеры использования данной системы.

  Рейтинг@Mail.ru