Instalacja Scala i Scala Build Tools w Ubuntu 18.04 LTS

0
247
Rate this post

Scala to nowoczesny, wielozadaniowy język programowania, który łączy w sobie elementy języków obiektowych i funkcyjnych. Język ten jest często używany w analizie dużych zbiorów danych, tworzeniu back-endów dla aplikacji webowych czy w środowisku Big Data. W tym artykule pokażemy, jak zainstalować Scala oraz Scala Build Tools (sbt) na systemie Ubuntu 18.04 LTS. Proces ten podzielony jest na kilka etapów, które po kolei omówimy.

Aktualizacja Systemu

Przed przystąpieniem do instalacji dobrze jest zaktualizować system. Otwórz terminal i wykonaj poniższe polecenia:

bash
sudo apt update
sudo apt upgrade

Instalacja Java

Scala wymaga maszyny wirtualnej Javy (JVM) do działania. Jeśli nie masz jeszcze zainstalowanej Javy, możesz ją zainstalować, wykonując poniższe polecenia:

bash
sudo apt install openjdk-8-jdk

Po zakończeniu instalacji, sprawdź wersję Javy, wpisując:

bash
java -version

Instalacja Scala

Po zainstalowaniu Javy możesz przejść do instalacji Scali. Istnieje kilka sposobów na zainstalowanie tego języka, ale w tym artykule skupimy się na użyciu menedżera pakietów apt. Wykonaj następujące polecenia:

bash
sudo apt install scala

Sprawdź instalację, wpisując:

bash
scala -version

Jeśli wszystko poszło zgodnie z planem, powinieneś zobaczyć informacje o zainstalowanej wersji Scali.

Instalacja Scala Build Tools (SBT)

Scala Build Tools (sbt) to narzędzie służące do kompilacji, uruchamiania i zarządzania projektami w Scali. Aby zainstalować sbt, wykonaj poniższe polecenia:

bash
echo "deb https://dl.bintray.com/sbt/debian /" | sudo tee -a /etc/apt/sources.list.d/sbt.list
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 2EE0EA64E40A89B84B2DF73499E82A75642AC823
sudo apt update
sudo apt install sbt

Po zakończeniu instalacji, możesz sprawdzić, czy sbt zostało poprawnie zainstalowane, wpisując:

bash
sbt about

Ustawienie Zmiennych Środowiskowych

Aby ułatwić sobie pracę, warto dodać ścieżki do Scali i sbt do zmiennych środowiskowych. Otwórz plik .bashrc w edytorze tekstu, np.:

bash
nano ~/.bashrc

I dodaj na końcu pliku następujące linie:

bash
export PATH=$PATH:/usr/local/share/scala/bin
export PATH=$PATH:/usr/local/share/sbt/bin

Następnie zastosuj zmiany, wpisując:

bash
source ~/.bashrc

Testowanie Instalacji

Po zakończeniu powyższych kroków warto przetestować instalację. Najprostszym sposobem jest utworzenie prostego projektu w Scali i skompilowanie go za pomocą sbt.

bash
mkdir MyScalaProject
cd MyScalaProject
echo 'object HelloWorld extends App { println("Hello, World!") }' > HelloWorld.scala
sbt run

Jeśli zobaczysz napis „Hello, World!”, oznacza to, że instalacja przebiegła pomyślnie i jesteś gotów do rozpoczęcia pracy ze Scalą i sbt na swoim systemie Ubuntu 18.04 LTS.

Dalsze kroki

Po pomyślnej instalacji warto zapoznać się z oficjalną dokumentacją oraz praktycznymi przykładami, które pomogą Ci w dalszej pracy. Niektóre polecane zasoby to Strona oficjalna Scali, Scala Exercises, czy też kursy na platformach takich jak Coursera czy Udemy.

Warto również rozważyć użycie IDE specjalnie przystosowanego do Scali, takiego jak IntelliJ IDEA z wtyczką Scala, co znacznie ułatwi codzienną pracę.

W kolejnych artykułach przyjrzymy się bardziej zaawansowanym aspektom Scali, takim jak programowanie funkcyjne, biblioteki do analizy danych oraz korzystanie z frameworków webowych takich jak Play czy Akka.

Korzystanie z Scala REPL (Read-Eval-Print Loop)

Scala REPL to interaktywna konsola, która pozwala na szybkie testowanie kodu i eksperymentowanie z językiem w czasie rzeczywistym. Aby uruchomić REPL, wystarczy wpisać w terminalu:

bash
scala

Po uruchomieniu pojawi się konsola, w której można wpisywać różne wyrażenia w Scali. Jest to świetne narzędzie do nauki języka oraz testowania różnych funkcji czy bibliotek.

Korzystanie z Package Managerów

Jeśli chcesz zainstalować dodatkowe biblioteki w Scali, możesz skorzystać z menedżerów pakietów takich jak Maven czy Gradle. Zintegrowane są one również z sbt, co ułatwia zarządzanie zależnościami w projekcie.

Aby dodać nową bibliotekę do projektu w sbt, wystarczy edytować plik build.sbt i dodać odpowiednią zależność. Następnie sbt automatycznie pobierze i zainstaluje potrzebne pakiety.

Debugowanie i Profilowanie Kodu

Debugowanie kodu w Scali jest podobne jak w innych językach działających na JVM. Możesz użyć narzędzi wbudowanych w IDE, jak IntelliJ IDEA, lub skorzystać z narzędzi linii komend, jak jdb.

Jeśli chodzi o profilowanie kodu, istnieje kilka narzędzi specjalnie przeznaczonych dla Scali i JVM, takich jak VisualVM czy YourKit, które oferują zaawansowane funkcje do analizy wydajności aplikacji.

Budowanie Aplikacji Webowych w Scali

Scala jest często używana do budowy aplikacji webowych. Jednym z popularnych frameworków do tego celu jest Play Framework. Aby zacząć pracę z Play, najpierw musisz go zainstalować. Instrukcje można znaleźć na oficjalnej stronie projektu. Po zainstalowaniu możesz użyć narzędzia sbt new do stworzenia nowego projektu i zacząć budować swoją aplikację webową.

Analiza Danych i Machine Learning

Scala znajduje również zastosowanie w analizie danych i uczeniu maszynowym. Biblioteki jak Spark umożliwiają efektywną pracę z dużymi zbiorami danych. Spark można zainstalować jako osobny pakiet lub dodać jako zależność w projekcie sbt.

Integracja z Językami na JVM

Jednym z atutów Scali jest jej łatwa integracja z innymi językami działającymi na JVM, takimi jak Java czy Kotlin. Możesz bez problemu korzystać z bibliotek i narzędzi napisanych w tych językach, co otwiera przed Tobą szerokie możliwości.

Praca z Bazami Danych

W Scali można korzystać z różnych bibliotek do pracy z bazami danych, zarówno relacyjnymi, jak i nierelacyjnymi. Slick, Anorm czy Quill to tylko niektóre z bibliotek, które ułatwiają interakcje z bazami danych.

Mikroserwisy i Architektura Reaktywna

Scala jest również doskonałym wyborem do budowy mikroserwisów i systemów opartych na architekturze reaktywnej. Frameworki jak Akka pozwalają na tworzenie skalowalnych i odpornych na awarie systemów. Akka oferuje m.in. model aktorów, który ułatwia programowanie asynchroniczne i konkurencyjne. Aby zacząć z Akką, można dodać ją jako zależność w projekcie sbt i zacząć korzystać z bogatej dokumentacji oraz licznych przykładów dostępnych online.

Testowanie Kodu

Jakość kodu to kluczowy aspekt w każdym projekcie. W Scali dostępne są różne biblioteki i narzędzia do testowania kodu. Jednymi z najpopularniejszych są ScalaTest i Specs2, które oferują różne podejścia do testowania, od testów jednostkowych po testy integracyjne i behawioralne. Wykorzystując sbt, można łatwo uruchamiać różne zestawy testów i integrować je z innymi narzędziami, takimi jak serwery CI/CD.

Automatyzacja i CI/CD

Automatyzacja procesów deweloperskich jest niezwykle ważna w szybko zmieniającym się środowisku IT. Scala i sbt oferują różne pluginy i narzędzia, które ułatwiają automatyzację zadań, jak kompilacja, testowanie, czy deploy aplikacji. Możesz użyć popularnych serwerów CI/CD jak Jenkins, GitLab CI czy GitHub Actions, które doskonale integrują się z ekosystemem Scali.

Bezpieczeństwo Aplikacji

Bezpieczeństwo jest jednym z najważniejszych aspektów w każdej aplikacji. W ekosystemie Scali dostępne są biblioteki, które pomagają w zabezpieczaniu aplikacji. Na przykład, Silhouette lub SecureSocial to biblioteki, które można wykorzystać do uwierzytelniania i autoryzacji w aplikacjach webowych.

Zarządzanie Zależnościami w Projekcie

W dużych projektach zarządzanie zależnościami może stać się skomplikowane. Sbt oferuje zaawansowane mechanizmy do zarządzania zależnościami, pozwalające na izolację różnych części systemu i łatwe zarządzanie ich wersjami.

Po przejściu przez ten artykuł, masz już pewnie dużo lepsze wyobrażenie o tym, jak zacząć pracę ze Scalą i sbt na systemie Ubuntu 18.04 LTS. Instalacja to jednak dopiero początek. Scala to potężny język z bogatym ekosystemem i mnóstwem możliwości, więc warto spędzić więcej czasu na naukę i praktykę. Od prostych skryptów, przez aplikacje webowe, analizę danych, aż po zaawansowane systemy korporacyjne – Scala oferuje narzędzia i biblioteki, które pomogą Ci w realizacji różnorodnych projektów.