O'Reilly logo

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Full Stack Kotlin Development

Video Description

Leverage the power of Kotlin to build full-stack applications

About This Video

  • Combine the power of Kotlin in the backend and JavaScript on the client side
  • Equip yourselves on working with the interoperability between JavaScript and Kotlin
  • Practical example showcasing cutting-edge frontend and backend techniques

In Detail

Kotlin brings many advantages to Java developers. Spring framework has taken Kotlin as one of their supported languages, and that makes Kotlin a perfect pairing with Spring for web application development. A strongly typed language like Kotlin brings safety to Javascript development. Creating a React application with Kotlin gives developers superior IDE support and type safety of a statically typed language.

This course will take you through the development of a full-stack application with Kotlin. First, we’ll create a back-end Spring MVC application with Kotlin. We’ll show you a generic Spring framework structure, how it maps to Kotlin, and how to enhance our application with Spring’s brilliant data access, security, and web service support.

Later, the course walks you through React application development with Kotlin. We’ll touch on the overall React application structure, data flow, and communication with the server over XHR. In the third volume, we’ll look at both back-end and front-end architecture and give you some ideas on how to make a seamless full-stack application with enhanced server-side rendering, data sharing between layers and reactive programming around Spring framework’s new reactive capabilities.

Table of Contents

  1. Chapter 1 : Kotlin Spring Setup and Build Processes
    1. The Course Overview 00:05:47
    2. Getting Started with Kotlin and Gradle 00:07:49
    3. Spring Boot 2 Configuration 00:08:27
    4. Functional Spring Beans with Kotlin DSL 00:07:34
    5. Spring and Kotlin, Opening Our Classes for Extension 00:05:44
    6. Componentizing Our Spring Project with Gradle Modules 00:08:21
    7. Component and Layer Scoping with Kotlin Visibility Modifiers 00:06:31
  2. Chapter 2 : Spring Web with Kotlin
    1. Kotlin and Spring Controllers 00:08:17
    2. Kotlin HTML DSL and Spring Controllers 00:08:05
    3. Kotlin DSL for Functional Spring Controllers 00:08:35
    4. View and REST API Organization and Generic Web Application Structure 00:10:11
  3. Chapter 3 : Business Logic Layer and Data Integrity on API's
    1. Validating Spring REST Endpoints 00:10:31
    2. Handlers and Filters for Web Layer Requests 00:09:09
    3. Managing State Between Web and Business Logic Layer 00:09:48
  4. Chapter 4 : Spring Data with Kotlin
    1. Introduction to Spring Data Dependencies 00:09:14
    2. Modeling JPA Entities with Kotlin Data Classes 00:05:59
    3. Spring Data Repositories and Accessing Datasource with Spring Data Library 00:08:59
    4. Handling Database Records, Querying and Inserting 00:11:00
  5. Chapter 5 : Spring Security
    1. Configuring Spring Security 00:08:12
    2. Modelling Authentication Entities and Users 00:07:25
    3. Custom Authorization Services and Auth Through Frontend 00:09:38
  6. Chapter 6 : Communicating with External Services
    1. Choosing and Setting Up a Restful Client 00:08:21
    2. Asynchronous Communication with External APIs 00:08:10
    3. Saving External Responses to the Databases 00:08:15
  7. Chapter 7 : Kotlin Frontend Module and Build Processes
    1. Kotlin 2 JS Gradle Plugin and Gradle Kotlin DSL 00:07:41
    2. Building Kotlin JS and Generating Frontend Artifacts 00:07:25
    3. Kotlin and JavaScript Interoperability 00:06:54
    4. Setting up Webpack for Bundling and Development Flow 00:09:32
  8. Chapter 8 : React Architecture with Kotlin
    1. Kotlin Bindings for React Library 00:08:00
    2. React Application Entry Point and Component Structure 00:09:32
  9. Chapter 9 : React View Creation
    1. React Component Lifecycle and State 00:09:18
    2. Communication Between React Components 00:08:15
    3. Creating Multi-View React Applications 00:08:18
  10. Chapter 10 : React State Management
    1. Extracting Application State to an External Store 00:10:58
    2. React and Flux Architecture 00:06:19
    3. Redux Bindings for Your Kotlin React Application 00:11:33
    4. Combining React, Redux and Kotlin with Connected Components 00:12:16
  11. Chapter 11 : Redux Actions and Communicating with Backend
    1. Dispatching Actions from React Components 00:11:44
    2. Asynchronous Action Creation with Redux and Middleware 00:10:35
    3. Kotlin Coroutines as Asynchronous Handlers for XHR 00:11:39
  12. Chapter 12 : Fullstack Kotlin with Spring and React
    1. Dehydrating/Rehydrating and Serving Data from Backend 00:08:37
    2. Deploying a Full Stack Application to a Linux Server 00:10:36