|
| 1 | +Інструкції нижче стосуються як Scala 2 так, і та Scala 3. |
| 2 | + |
| 3 | +## Спробуйте Scala без інсталяції |
| 4 | + |
| 5 | +Щоб швидко почати експериментувати зі Scala, відкрийте <a href="https://scastie.scala-lang.org/pEBYc5VMT02wAGaDrfLnyw" target="_blank">“Scastie” у вашому браузері</a>. |
| 6 | +_Scastie_ це онлайн “пісочниця” де ви можете експериментувати з прикладами на Scala та подивитись як все працює, з доступом до всіх компіляторів Scala та доступних бібліотек. |
| 7 | + |
| 8 | +> Scastie підтримує як Scala 2 так, і Scala 3, але за замовчування |
| 9 | +> використовується Scala 3. Якщо ж ви шукаєте приклади на Scala 2, |
| 10 | +> [натисніть тут](https://scastie.scala-lang.org/MHc7C9iiTbGfeSAvg8CKAA). |
| 11 | +
|
| 12 | +## Встановіть Scala на ваш комп'ютер |
| 13 | + |
| 14 | +Інсталяція Scala означає встановлення різних command-line інструментів, таких як компілятор Scala та інструменти для збірки. |
| 15 | +Ми радимо використовувати інсталятор "Coursier" який автоматично встановить всі необхідні залежності, але ви можете встановити окремо кожен інструмент. |
| 16 | + |
| 17 | +### За допомогою інсталятора Scala (рекомендовано) |
| 18 | + |
| 19 | +Інсталятор Scala називається [Coursier](https://get-coursier.io/docs/cli-overview), а його основна команда має назву `cs`. |
| 20 | +Він гарантує, що JVM та стандартні інструменти Scala встановлені на вашій системі. |
| 21 | +Щоб встановити його на вашій системі виконайте наступні інструкції. |
| 22 | + |
| 23 | +<!-- Display tabs for each OS --> |
| 24 | +{% tabs install-cs-setup-tabs class=platform-os-options %} |
| 25 | + |
| 26 | +<!-- macOS --> |
| 27 | +{% tab macOS for=install-cs-setup-tabs %} |
| 28 | +Виконайте наступну команду в терміналі, виконуючи всі спливаючі інструкції: |
| 29 | +{% include code-snippet.html language='bash' codeSnippet=site.data.setup-scala.macOS-brew %} |
| 30 | +{% altDetails cs-setup-macos-nobrew "Якщо ви не використовуєте Homebrew:" %} |
| 31 | +{% include code-snippet.html language='bash' codeSnippet=site.data.setup-scala.macOS-default %} |
| 32 | +{% endaltDetails %} |
| 33 | +{% endtab %} |
| 34 | +<!-- end macOS --> |
| 35 | + |
| 36 | +<!-- Linux --> |
| 37 | +{% tab Linux for=install-cs-setup-tabs %} |
| 38 | +Виконайте наступну команду в терміналі, виконуючи всі спливаючі інструкції: |
| 39 | +{% include code-snippet.html language='bash' codeSnippet=site.data.setup-scala.linux %} |
| 40 | +{% endtab %} |
| 41 | +<!-- end Linux --> |
| 42 | + |
| 43 | +<!-- Windows --> |
| 44 | +{% tab Windows for=install-cs-setup-tabs %} |
| 45 | +Завантажте та запустіть [the Scala installer for Windows]({{site.data.setup-scala.windows-link}}) |
| 46 | +інсталятор на основі Coursier, виконуючи всі спливаючі інструкції. |
| 47 | +{% endtab %} |
| 48 | +<!-- end Windows --> |
| 49 | + |
| 50 | +<!-- Other --> |
| 51 | +{% tab Other for=install-cs-setup-tabs defaultTab %} |
| 52 | +<noscript> |
| 53 | + <p><span style="font-style:italic;">JavaScript is disabled, click the tab relevant for your OS.</span></p> |
| 54 | +</noscript> |
| 55 | +Дотримуйтесь документації від Coursier з того, |
| 56 | +[як встановити і запустити `cs setup`](https://get-coursier.io/docs/cli-installation). |
| 57 | +{% endtab %} |
| 58 | +<!-- end Other --> |
| 59 | + |
| 60 | +{% endtabs %} |
| 61 | +<!-- End tabs --> |
| 62 | + |
| 63 | +<!-- Alternative Detail - test the `scala` command --> |
| 64 | +{% altDetails testing-your-setup 'Перевірити налаштування' %} |
| 65 | +Перевірте ваші налаштування виконавши команду `scala -version`, яка має вивести: |
| 66 | +```bash |
| 67 | +$ scala -version |
| 68 | +Scala code runner version {{site.scala-3-version}} -- Copyright 2002-2022, LAMP/EPFL |
| 69 | +``` |
| 70 | +Якщо це не спрацювало, необхідно завершити сеанс та зайти в систему знову (або перезавантажити) щоб зміни застосувались на вашій системі. |
| 71 | +{% endaltDetails %} |
| 72 | +<!-- end Alternative Detail --> |
| 73 | + |
| 74 | + |
| 75 | +Разом з менеджментом JVM-ів, `cs setup` також встановлює корисні command-line інструменти: |
| 76 | + |
| 77 | +| Команда | Опис | |
| 78 | +|---------------|----------------------------------------------------------------------------------------| |
| 79 | +| `scalac` | компілятор Scala | |
| 80 | +| `scala` | інтерактивне середовище Scala та інструмент для запуску скриптів | |
| 81 | +| `scala-cli` | [Scala CLI](https://scala-cli.virtuslab.org), інтерактивні інструменти для Scala | |
| 82 | +| `sbt`, `sbtn` | Інструмент збірки [sbt](https://www.scala-sbt.org/) | |
| 83 | +| `amm` | [Ammonite](https://ammonite.io/) розширене інтерактивне середовище (REPL) | |
| 84 | +| `scalafmt` | [Scalafmt](https://scalameta.org/scalafmt/) призначений для форматування коду на Scala | |
| 85 | + |
| 86 | +Для більш детальної інформації про `cs`, прочитайте |
| 87 | +[документацію coursier-cli](https://get-coursier.io/docs/cli-overview). |
| 88 | + |
| 89 | +> `cs setup` встановлює компілятор Scala 3 та інтерактивне середовище за замовчування (команди `scalac` та |
| 90 | +> `scala` відповідно). Незалежно від того, чи збираєтеся ви використовувати Scala 2 чи 3, |
| 91 | +> тому що більшість проєктів використовує інструменти для збірки, |
| 92 | +> які використовують правильні версії Scala незалежно від того, яка встановлена "глобально". |
| 93 | +> Тим не менш, ви завжди можете запустити певну версію Scala за допомогою |
| 94 | +> ``` |
| 95 | +> $ cs launch scala:{{ site.scala-version }} |
| 96 | +> $ cs launch scalac:{{ site.scala-version }} |
| 97 | +> ``` |
| 98 | +> Якщо ви надаєте перевагу Scala 2 за замовчуванням, ви можете примусово встановити певну версію: |
| 99 | +> ``` |
| 100 | +> $ cs install scala:{{ site.scala-version }} scalac:{{ site.scala-version }} |
| 101 | +> ``` |
| 102 | +
|
| 103 | +### ...або вручну |
| 104 | +
|
| 105 | +Вам необхідно лише два інструменти, для того, щоб скомпілювати, запустити, протестувати й упакувати Scala проєкт: Java 8 або 11, і sbt. |
| 106 | +Щоб встановити їх вручну: |
| 107 | +
|
| 108 | +1. якщо Java 8 або 11 не встановлені, необхідно завантажити |
| 109 | + Java з [Oracle Java 8](https://www.oracle.com/java/technologies/javase-jdk8-downloads.html), [Oracle Java 11](https://www.oracle.com/java/technologies/javase-jdk11-downloads.html), |
| 110 | + або [AdoptOpenJDK 8/11](https://adoptopenjdk.net/). Перевірте [сумісність JDK](/overviews/jdk-compatibility/overview.html) для Scala/Java. |
| 111 | +1. Встановіть [sbt](https://www.scala-sbt.org/download.html) |
| 112 | +
|
| 113 | +## Створити проєкт "Hello World" з sbt |
| 114 | +
|
| 115 | +Коли ви вже встановили sbt, ви готові, щоб створити проект на Scala, який |
| 116 | +ми розглянемо у подальших розділах. |
| 117 | +
|
| 118 | +Щоб створити проєкт, ви можете використати або термінал, або IDE. |
| 119 | +Якщо ви знайомі з командним рядком, ми рекомендуємо такий підхід. |
| 120 | +
|
| 121 | +### За допомогою командного рядка |
| 122 | +
|
| 123 | +Інструмент sbt призначений для збірки проєкту на Scala. sbt компілює, запускає, |
| 124 | +та тестує ваш код на Scala. (Також, він публікує бібліотеки та виконує багато інших задач.) |
| 125 | +
|
| 126 | +Щоб створити новий Scala проєкт за допомогою sbt: |
| 127 | +
|
| 128 | +1. `cd` в пусту директорію. |
| 129 | +1. Виконайте команду `sbt new scala/scala3.g8` щоб створити проєкт на Scala 3, або `sbt new scala/hello-world.g8` щоб створити проєкт на Scala 2. |
| 130 | + Команда завантажує шаблон проєкту з GitHub. |
| 131 | + Також, створює директорію `target`, яку ви можете проігнорувати. |
| 132 | +1. Коли буде запропоновано, оберіть назву програми `hello-world`. В результаті буде створено проєкт "hello-world". |
| 133 | +1. Подивимося, що щойно було створено: |
| 134 | +
|
| 135 | +``` |
| 136 | +- hello-world |
| 137 | + - project (sbt uses this for its own files) |
| 138 | + - build.properties |
| 139 | + - build.sbt (sbt's build definition file) |
| 140 | + - src |
| 141 | + - main |
| 142 | + - scala (весь ваш код на Scala буде тут) |
| 143 | + - Main.scala (Точка входу в програму) <-- це все, що потрібно наразі |
| 144 | +``` |
| 145 | +
|
| 146 | +Більше документації про sbt можна знайти у [Книзі по Scala](/scala3/book/tools-sbt.html) (див. [тут](/overviews/scala-book/scala-build-tool-sbt.html) версію для Scala 2) |
| 147 | +та в офіційній [документації](https://www.scala-sbt.org/1.x/docs/index.html) sbt |
| 148 | +
|
| 149 | +### За допомогою IDE |
| 150 | +
|
| 151 | +Ви можете пропустити подальші кроки та перейти до [Створення Scala проєкту з IntelliJ і sbt](/uk/getting-started/intellij-track/building-a-scala-project-with-intellij-and-sbt.html) |
| 152 | +
|
| 153 | +
|
| 154 | +## Відкрити проєкт hello-world |
| 155 | +
|
| 156 | +Використаймо IDE, щоб відкрити. Найбільш популярними є IntelliJ та VSCode. |
| 157 | +Обидва з них мають багатий функціонал, але ви також можете використати [багато інших редакторів.](https://scalameta.org/metals/docs/editors/overview.html) |
| 158 | +
|
| 159 | +### За допомогою IntelliJ |
| 160 | +
|
| 161 | +1. Завантажте та встановіть [IntelliJ Community Edition](https://www.jetbrains.com/idea/download/) |
| 162 | +1. Встановіть плагін Scala дотримуючись [інструкції з встановлення плагінів в IntelliJ](https://www.jetbrains.com/help/idea/managing-plugins.html) |
| 163 | +1. Відкрийте файл `build.sbt` та оберіть *Відкрити як проєкт* (*Open as a project*) |
| 164 | +
|
| 165 | +### За допомогою VSCode та metals |
| 166 | +
|
| 167 | +1. Завантажте [VSCode](https://code.visualstudio.com/Download) |
| 168 | +1. Встановіть розширення Metals з [the Marketplace](https://marketplace.visualstudio.com/items?itemName=scalameta.metals) |
| 169 | +1. Наступне, відкрийте директорію, що містить файл `build.sbt` (це має бути директорія `hello-world` якщо ви виконали попередні інструкції). Коли буде запропоновано, оберіть *Імпортувати збірку* (*Import build*). |
| 170 | +
|
| 171 | +>[Metals](https://scalameta.org/metals) це “Сервер мови Scala” який забезпечує можливість написання коду на Scala в VS Code та інших редакторах на кшталт [Atom, Sublime Text, and more](https://scalameta.org/metals/docs/editors/overview.html), використовуючи Language Server Protocol. |
| 172 | +> |
| 173 | +> Під капотом, Metals комунікує з інструментом збірки використовуючи |
| 174 | +> [Build Server Protocol (BSP)](https://build-server-protocol.github.io/). Більш детально про те, як працює Metals, можна подивитись на [“Write Scala in VS Code, Vim, Emacs, Atom and Sublime Text with Metals”](https://www.scala-lang.org/2019/04/16/metals.html). |
| 175 | +
|
| 176 | +### Внесення змін в початковий код |
| 177 | +
|
| 178 | +Перегляньте ці два файли у вашому IDE: |
| 179 | +
|
| 180 | +- _build.sbt_ |
| 181 | +- _src/main/scala/Main.scala_ |
| 182 | +
|
| 183 | +Коли ви будете запускати ваш проєкт у наступному кроці, то будуть використані конфігурації з _build.sbt_ для запуску коду в _src/main/scala/Main.scala_. |
| 184 | +
|
| 185 | +## Запустити Hello World |
| 186 | +
|
| 187 | +Якщо вам зручно користуватися IDE, ви можете запустити код в _Main.scala_ з вашого IDE. |
| 188 | +
|
| 189 | +В іншому випадку ви можете запустити програму через термінал, виконавши такі дії: |
| 190 | +
|
| 191 | +1. `cd` в `hello-world`. |
| 192 | +1. Запустіть `sbt`. Це відкриє консоль sbt. |
| 193 | +1. Наберіть `~run`. Символ `~` опціональний і змушує sbt повторно запускатися після кожного збереження файлу, |
| 194 | + що забезпечує швидкий цикл редагування/запуск/налагодження. sbt також створить директорію `target`б яку ви можете проігнорувати. |
| 195 | +
|
| 196 | +Коли ви закінчите експериментувати з вашим проєктом, натисніть `[Enter]` щоб перервати команду `run`. |
| 197 | +Потім наберіть `exit` або затисніть `[Ctrl+D]` щоб вийти з sbt та повернутись до вашого командного рядка. |
| 198 | +
|
| 199 | +## Наступні кроки |
| 200 | +
|
| 201 | +Після того, як ви закінчите наведені вище посібники, спробуйте пройти: |
| 202 | +
|
| 203 | +* [Книга по Scala](/scala3/book/introduction.html) (версія по Scala 2 [тут](/overviews/scala-book/introduction.html)), яка містить набір коротких ознайомчих уроків по основних можливостях Scala. |
| 204 | +* [Тур по Scala](/tour/tour-of-scala.html) for bite-sized introductions to Scala's features. |
| 205 | +* [Навчальні ресурси](/learn.html), що містять інтерактивні онлайн путівники та курси. |
| 206 | +* [Наш список деяких популярних книжок по Scala](/books.html). |
| 207 | +* [Посібник з міграції](/scala3/guides/migration/compatibility-intro.html) допомагає перевести ваш наявний проєкт зі Scala 2 на Scala 3. |
| 208 | +
|
| 209 | +## Отримати допомогу |
| 210 | +Існує безліч поштових розсилок та чатів в режимі реального часу, якщо ви захочете зв'язатися з іншими користувачами Scala. Перейдіть на сторінку нашої [спільноти](https://scala-lang.org/community/), щоб побачити перелік можливих способів та попросити про допомогу. |
0 commit comments