Pro Kotlin Web Apps from Scratch: Building Production-Ready Web Apps Without a Framework
- 4h 6m
- August Lilleaas
- Apress
- 2023
Build production-grade web apps from scratch – without using frameworks – with Kotlin on the Java platform. You’ll learn how to use and compose libraries, how to choose between different libraries, and the benefits of explicit and straight-forward code, vs. the implicit magic, conventions, and inversion of control you often see in frameworks.
The book teaches the Kotlin language by building production-ready Kotlin code. You’ll gain a deep understanding of the idiomatic use of the Kotlin language along with knowledge of how to apply Kotlin in production-grade web apps. The book also bridges the gap between building from scratch and using existing frameworks. For example, you’ll learn how to integrate Spring Security-based authentication in web apps written from scratch, so you can leverage existing tooling in your organization without having to take on the entire Spring framework.
The first section of the book sets up the base structure of your web app, such as routing, configuration files, and database migrations. The remaining chapters are broken into individual aspects of building production-ready web apps. Appendices at the end of the book explain how to use different libraries than the ones chosen in the main chapters, so you'll learn how to decouple your code from specific libraries, and choose between many different libraries to get the job done in your own web apps.
What You Will Learn
- Compose libraries and manage boilerplate code using idiomatic and powerful Kotlin
- Manage and query SQL databases without ORMs and mapping layers
- Write resilient and change-proof tests in support of test-driven development practices
- Create traditional, HTML-based web apps, APIs for JavaScript-based single-page web apps and native mobile apps
- Manage parallelism and external service calls using Kotlin co-routines
- Deploy to production using embedded servers, WAR files, and serverless approaches
- Bridge the gap between custom-built apps and enterprise, using Spring Context and Spring Security
Who This Book Is For
The expert developer who is ready to take full control of the tech stack, and use the Kotlin language, type system, and standard library, to ship production-ready web apps. Readers should have prior programming experience. Experience with Java or another JVM language is helpful.
About the Author
August Lilleaas has built web apps, user interfaces, and real-time systems since 2004, and mobile apps since the app stores opened in the late 2000s. After picking up Clojure in 2012, he left the frameworks and ORMs behind and started to build web apps from scratch, and has shipped to production using Clojure, Groovy, Node.JS, Elixir, and Kotlin. August has worked as a consultant for a decade and is now an independent contractor and startup founder.
In this Book
-
Introduction
-
Setting Up a Development Environment
-
Setting Up the Web App Skeleton
-
Configuration Files
-
Decoupling Web Handlers from Specific Libraries
-
Connecting to and Migrating SQL Databases
-
Querying a SQL Database
-
Automated Tests with jUnit 5
-
Parallelizing Service Calls with Coroutines
-
Building Traditional Web Apps with HTML and CSS
-
Building API-Based Back Ends
-
Deploying to Traditional Server Based Environments
-
Building and Deploying to Serverless Environments
-
Setup, Teardown, and Dependency Injection with Spring Context
-
Enterprise Authentication Using Spring Security
-
Choosing the Right Library
-
An Assortment of Kotlin Tricks
-
Appendix A: Using Jooby Instead of Ktor
-
Appendix B: Using Hoplite Instead of Typesafe Config
-
Appendix C: Using Spek Instead of jUnit 5