NOVINKA - Online rekvalifikační kurz Java programátor. Oblíbená a studenty ověřená rekvalifikace - nyní i online.
NOVINKA – Víkendový online kurz Software tester, který tě posune dál. Zjisti, jak na to!

Lekce 1 - Úvod do Spring Boot frameworku pro Kotlin

V dnešním Spring Boot tutoriálu se seznámíme s nejpoužívanějším a tudíž nejoblíbenějším frameworkem pro tvorbu webových stránek v jazyce Kotlin.

Spring Boot se používá v Javě. A jak už víme z předešlých lekcí, Kotlin je nadstavbou samotné Javy. A proto nemá jediný problém s používáním všeho, co bylo zamýšleno pro Javu.

Dnes si řekneme, proč je Spring tak populární a popíšeme si rozdíl mezi jeho dvěma distribucemi. Řekneme si, jaké technologie budeme používat a také se podíváme, jak funguje výsledná aplikace ve firmách, které framework Spring Boot používají.

Spring a Spring Boot

Nejspíš jste už slyšeli o Javovském frameworku Spring. Lidé si často myslí, že Spring a Spring Boot je úplně to samé, jen se vytvořil Spring jako slangový název. Nejedná se ovšem o totéž!

Spring

SPrng - Spring Boot v Kotlinu

Spring jako takový je open-source framework, který byl do povědomí veřejnosti uvolněn v roce 2003 pod licencí Apache. Spring Framework slouží pro jednoduchý vývoj webových aplikací v Javě. Poskytuje nám spoustu funkcí, které nám ulehčí život a několik tisíc řádků kódu.

Tento oblíbený framework lze nasadit ve všech aplikacích tvořených v Javě.

Spring Boot

SpringBootLogo - Spring Boot v Kotlinu

Spring Boot je nadstavba javovského Springu. Implementuje z něj veškeré funkce, ale ještě k tomu obsahuje i něco navíc, například server Tomcat, který naše projekty zaručeně usnadní.
Hlavní výhodou tohoto frameworku je to, že server nemusíme složitě nastavovat, vše je totiž vyřešeno za nás. Spring Boot totiž vytvoří simulaci, která bude vypadat jako existující připojení.

Spring Boot oblíbený ve firmách, kde je využíván především díky své jednoduchosti.

Aplikace využívající tento framework se tedy vyvíjejí podstatně snáze a rychleji než v samotném Springu. Díky tomu je i Spring Boot vhodný i pro čerstvě začínající programátory webových aplikací, a to zejména díky minimalizaci problémů s konfigurací serveru.

Pokud se naučíme Spring Boot, jsme schopni bez problému ovládat i Spring.

Potřebné znalosti

K tomuto kurzu je nutné znát:

Potřebné technologie

Pro zprovoznění projektu budeme dále potřebovat:

Pokud jste s IntelliJ IDEA ještě nepracovali, doporučuji nejprve absolvovat předchozí kurzy -> Základy a OOP v Kotlinu, kde najdete základní instrukce, jak s tímto vývojovým prostředím pracovat a kde jej získat. Jedná se o velmi oblíbené a přehledné prostředí.

  • JDK 1.8 nebo vyšší (kurz je psán ve verzi 17),
  • Gradle, což je mocný nástroj pro automatizované sestavování programu. Ten použijeme pro vložení Spring Boot frameworku do našeho projektu.
  • Lombok - tento menší nástroj za nás napíše gettery a settery, na kterých je Spring stavěný,
  • Swagger - v něm uvidíme všechny naše dostupné odkazy,
  • PostgreSQL - databáze. Databázi si stáhněte z oficiálních stránek.

Frontend a backend

Ve Springu lze vytvářet kompletní fullstackové aplikace (frontend i backend). Tyto termíny ve webových aplikacích znamenají:

  • frontend - je ta část webové stránky, kterou vidí uživatel. Jde vlastně o uživatelské rozhraní webové aplikace. Uživatel sem buď zadává vstupní data, nebo naopak získává data výstupní. Nejčastěji se jedná o HTML kód a JavaScript.
  • backend - je část stránky, kterou uživatel nevidí. Je to tedy logika celé aplikace, která pracuje například s databází. Jde o kód v Kotlinu, který je na straně serveru, a ke kterému uživatel nemá (nebo by alespoň neměl) mít vůbec žádný přístup.

Ačkoli je ve Springu možnost tvořit plně fullstackové aplikace, většinou se tvoří jen backendová část. Frontendová část se připojuje převážně přes nějaký jiný javascriptový framework jako jsou například Angular, React a nebo Vue.

MVC a Dependency Injection

Představíme si MVC architekturu a návrhový vzor Dependency injection.

Model-View-Controller (MVC)

Spring Boot je postavený na MVC architektuře. MVC nám rozděluje aplikace do 3 vrstev (Model - View - Controller), což zvyšuje její přehlednost a zrychluje orientaci programátora v kódu převážně u větších aplikací. Hlavně ale odděluje logickou část aplikace od té prezentační. Prostředníkem je právě Controller, který obě vrstvy propojuje.

Dependency injection

Dependency injection je návrhový vzor pro předávání závislosti mezi jednotlivými objekty.

A právě obrovskou výhodou Springu je, že má v sobě integrovaný návrhový vzor Dependency Injection. Jedná se o způsob, kterým si jakýkoliv objekt požádá o další objekty, které potřebuje ke své činnosti a na kterých je závislý. Potom může náš objekt využívat služby ostatních objektů.

Dependency Injection (někdy taky zkráceně DI nebo DI kontejner) pracuje minimálně se třemi objekty:

  • objekt, který služby požaduje,
  • zprostředkovatel, označený termínem Provider,
  • poskytovatel služeb představující objekt, jehož služby chce náš objekt k vykonání činnosti použít.

Obrovské množství výhod má Spring Boot v jednoduchosti kódu, jelikož obsahuje spoustu menších knihoven, které usnadní práci s objekty a komunikaci s frontendem. Potkáme je dále v kurzu.

V příští lekci, Vytvoření Spring Boot projektu v Kotlinu, si založíme první projekt. Seznámíme se s prostředím a funkcí webové stránky.


 

Všechny články v sekci
Spring Boot v Kotlinu
Přeskočit článek
(nedoporučujeme)
Vytvoření Spring Boot projektu v Kotlinu
Článek pro vás napsal Vašek Doškář
Avatar
Uživatelské hodnocení:
7 hlasů
Autor pracuje jako pedagog v oblasti elektroniky, elektrotechniky a programování. Rád tvoří appky všeho druhu. Má přehled v jazycích C#, Java, Kotlin, Javascript, Python a Rust
Aktivity