本書について

対象読者

本書は対象読者として次のような方を想定しています。

  • Webアプリケーションの開発を行ったことがある
  • サーバサイドKotlinやNuxt.jsに興味があり、Webアプリケーションの作成に挑戦してみたい方
  • ハンズオン形式でWebアプリケーションの開発を進めていきたい方

本書ではKotlinやNuxt.jsの基本文法や使い方については多くは触れませんので、言語仕様については公式ドキュメントを参照していただけると幸いです。

本書の執筆環境と動作環境

執筆時点(2020.9.12)でLTSとなるバージョンを採用するようにしています。本書では次の開発環境を前提にしております。

  • Docker 19.03.12
  • Docker Compose 1.26.2
  • Java 11.0.8.j9-adpt
  • Kotlin 1.3.72
  • Node.js v12.18.3
  • Yarn 1.19.2

環境構築については記載は行いませんが、JavaやKotlin、Node.jsは次のツールを利用していますので参考にしてみてください。

サンプルコード

本書のサンプルコードはGitHubに置いてあります。次のリポジトリからコードをダウンロードするかGitでチェックアウトしてご利用ください。

免責事項

本書に記載された内容は、情報の提供のみを目的としています。したがって、本書を用いた開発、製作、運用は、必ずご自身の責任と判断によって行ってください。これらの情報による開発、製作、運用の結果について、著者はいかなる責任も負いません。

第1章 フレームワークの紹介

本書で利用するフレームワークについて紹介します。

1.1 Ktor

Ktor(https://jp.ktor.work/)とはIntelliJ IDEAなどのIDEやKotlinを開発しているJetBrains社が作成した軽量Webフレームワークです。
All Kotlinで開発されており、特徴として「薄い」フレームワークで必要な機能(feature)を追加していくことで新たな機能を利用することができます。
サーバサイドでKotlinといえばSpring Bootを選択することが多いと思いますが、Ktorは2018年11月にv1.0.0がリリースされ、2020年3月現在v1.3.2までアップデートされており、本格的に利用しても良さそうに感じます。次は追加できる主な機能(feature)になります。

  • ktor-thymeleaf:テンプレートエンジン
  • ktor-websockets:WebSocket
  • ktor-jackson:JSON
  • ktor-auth:認証

1.2 Nuxt.js

Nuxt.js(https://ja.nuxtjs.org/)は、Vue.jsの公式ガイドラインにそって強力なアーキテクチャを提供するように設計されたフレームワークです。
サーバサイドレンダリングを行うアプリケーションの開発に必要な設定が、あらかじめ行われているのが特徴で次のパッケージが含まれています。

  • Vue2:Vue.js本体
  • Vue-Router:ルーティング管理
  • Vuex:状態管理
  • Vue Server Renderer:サーバサイドレンダリング
  • Vue-Meta:メタ情報管理
試し読みはここまでです。
この続きは、製品版でお楽しみください。