Проєкт
Почнімо ж з базового поняття, що існує в системі побудови додатків – Проєкт.
Проєкт – самостійна одиниця організації додатку як набір залежних від нього модулів та правил для них.
Модуль – самостійна одиниця організації коду, що має певний набір правил (як будується та ін.). Існує для того ж, для чого й пакети в Kotlin – для розділення коду на логічні блоки задля покращення якості вихідного коду (перевикористання коду, як і в одному проєкту, так і в інших).
Про які правила я говорю? Насправді все дуже просто – ми описуємо те, як буде будуватись наш проєкт (опис технічних особливостей), де (може десь віддалено), для якої платформи (наприклад Android чи iOS), якою мовою та за допомогою яких засобів (залежностей проєкту).
Структура
Перегляньмо структуру нашого проєкту:
Себто у нас є такий собі «головний наглядач» у виді проєкту, який встановлює, які модулі будуть в нашому проєкті та як вони будуть працювати та «місцеві наглядачі», які встановлюють правила лише підпорядкованому їм коду (модулі), але, варто зазначити, що Проєкт є більш пріоритетним, аніж модулі, якщо говорити про правила.
Які правила існують? Насправді їх безліч – все залежить від того, що ви робите, але базові – це, наприклад:
- назва проєкту
- мова програмування (java / scala / groovy / kotlin)
- платформа (актуально лише для kotlin)
- залежності (бібліотеки або фреймворки, що використовуються в коді)
Створення проєкту
Перейдім же до більш практичного запитання: як створити проєкт? Ми вже розглянули абстрактні поняття та теорію, створім же наш перший проєкт. Фактична файлова структура буде такою:
Налаштування проєкту
Початковою стадією створення Gradle-проєкту – є створення settings.gradle.kts
файлу:
rootProject.name = "first-project" // вказуємо ім'я проєкту
Насправді .kts
файли – це Kotlin script файли. Щоб швидко пояснити, як вони працюють – весь код у файлі зрешті
додається до умовної функції main()
, тобто:
rootProject.name = "first-project"
При компіляції проєкту конвертується в:
class Settings : ProjectSettings() {
init {
rootProject.name = "first-project"
}
}
І на цьому ми завершили створення нашого першого проєкту!
Висновок
Kotlin (і не тільки) проєкти, зазвичай, використовують для автоматизації збірки (будування) проєкту Gradle, який структурою визначає поняття проєкту, модульності й не тільки.