Kotlin サーバーサイドプログラミング実践開発
2021年4月14日紙版発売
竹端尚人 著
B5変形判/304ページ
定価3,608円(本体3,280円+税10%)
ISBN 978-4-297-11859-4
書籍の概要
この本の概要
プログラミング⾔語「Kotlin」は,Android開発ではすでに広く知られていますが,JVM(Java仮想マシン)で動作するサーバーサイド開発での選択肢としても注目されている言語の一つです。
本書はサーバーサイドの開発者を読者対象とし,Kotlinの基本構⽂とともに,Javaとの親和性が⾼いうえに,Javaよりも安全性が⾼く書きやすいと⾔われる理由を解説します(第1部)。そして実践的な内容としてSpring Bootを使い,データベースの検索系/更新系機能や認証/認可機能などを実装したWebアプリケーションを構築します(第2部)。加えて,従来型の案件だけでなく新規プロダクトへの⾜がかりにもなるよう,gRPCやKtorなどといった⽐較的新しい技術との組み合わせ⽅をフォローします(第3部)。「実践開発」という書名のとおり,プロダクトの開発でKotlinを導入する際に役立てられる内容です。
こんな方におすすめ
- 新しいプロダクトのサーバーサイド技術を選定する中で,Kotlinを検討している方(Javaプログラミングの知識は前提としない)
- Javaでサーバサイド開発をしているが,より保守性の高い,安全なコードに変えていきたいと感じている方
著者の一言
Kotlinは,サーバーサイド開発のプログラミング言語の選択肢として,注目されているものの一つです。Javaとの相互互換という特徴があり,モダンかつ資産も豊富にあるという素晴らしい言語です。しかし,その特徴ゆえ「Javaがわかる人じゃないと難しいんじゃないか」と思われてしまうことも多いです。また,実践で使った経験のあるエンジニアもなかなかいないため,「使ってみたいとは思っているが迷っている」という話を聞くこともよくあります。
本書はそういった不安を取り除き,サーバーサイドKotlin導入を後押しすることができればと思い執筆しています。タイトルにもあるように「実践開発」をテーマとして,実プロダクトを意識した設計でアプリケーションの開発をしています。そのため実際に業務での開発でKotlinを導入する際にも,参考にしていただける内容になっています。
本書のサンプル
本書の一部ページを,PDFで確認することができます。
- サンプルPDFファイル(1,148KB)
目次
第1部 Kotlin入門
第1章 Kotlinをお勧めする理由
- 1. なぜKotlinが誕生したのか?
- 2. Kotlinでなにを作れるのか?〜サーバーサイドでの利⽤意義
- 3. コードの安全性を高めるKotlinの型とNull非許容/許容
- 4. 環境構築と最初のプログラムの実行
- 5. Kotlinの基本構文
第2章 様々なKotlinの機能
- 1. if,when文を式として扱いコードをシンプルにできる
- 2. プロパティの定義でアクセサメソッド(getter,setter)が不要になる
- 3. データクラスでボイラープレートを減らせる
- 4. デフォルト引数と名前付き引数で関数呼び出しをシンプルにできる
- 5. 関数型と⾼階関数,タイプエイリアスでロジックを再利用しやすくできる
- 6. 拡張関数で柔軟にロジックを追加できる
- 7. スコープ関数でオブジェクトへの処理をシンプルにできる
- 8. 演算子オーバーロードでクラスに対する演算子の処理を実装できる
- 9. デリゲートで冗長な処理を委譲できる
- 10. 充実したコレクションライブラリでコレクションに対する処理をシンプルにできる
- 11. コルーチンで非同期処理が実装できる
第3章 JavaとKotlinの相互互換が既存の資産を生かす
- 1. Javaのコードを呼び出す
- 2. Javaのライブラリを呼び出す
- 3. Javaのクラスを継承してKotlinで実装する
- 4. Javaと相互呼び出しする際の特殊な例
- 5. JavaのコードをKotlinのコードへ変換する
第2部 Kotlinでのサーバーサイド開発
第4章 Webアプリケーション開発の基盤となるSpring Bootを導入する
- 1. Spring Bootの導入
- 2. Spring BootでのREST APIの実装
- 3. Spring FrameworkのDIを使用する
第5章 O/Rマッパーを使用してデータベースへ接続する
- 1. MyBatisとは?
- 2. DockerでMySQLの環境構築
- 3. MyBatisの導入
- 4. MyBatisでCRUDを作成する
- 5. Spring BootからMyBatisを使用する
第6章 Spring BootとMyBatisで書籍管理システムのWebアプリケーションを開発する
- 1. 書籍管理システムの仕様
- 2. アプリケーションの構成
- 3. プロジェクトの環境構築
- 4. 検索系機能(一覧取得,詳細取得)のAPI実装
- 5. 更新系機能(登録,更新,削除)のAPI実装
第7章 書籍管理システムの機能を拡充する
- 1. Spring Securityでユーザー認証,認可の機構を実装する
- 2. 貸出,返却機能のAPI実装
- 3. Spring AOPでログの出力
第8章 JUnitで単体テストを実装する
- 1. JUnitの導入
- 2. JUnitでWebアプリケーションの単体テスト
第3部 Kotlinで色々なフレームワークを使ってみる
第9章 高速な通信フレームワーク gRPC
- 1. gRPCとは?
- 2. gRPCの導入
- 3. Spring BootでgRPCのKotlinサーバーサイドプログラムを実装
第10章 Kotlin製のWebフレームワーク Ktor
- 1. Ktorとは?
- 2. Ktorの導入
- 3. REST APIの実装
- 4. 認証機構の実装
第11章 Kotlin製のO/Rマッパー Exposed
- 1. Exposedとは?
- 2. Exposedの導入
- 3. DSLとDAOそれぞれの実装方法
- 4. DAOでCRUDを作成する
第12章 Kotlin製のテスティングフレームワーク Kotest,MockK
- 1. Kotestとは?
- 2. Kotestの導入
- 3. いくつかのコーディングスタイル(Spec)で単体テストを書く
- 4. データ駆動テストを使う
- 5. MockKを使用してモック化する
この本に関連する書籍
-
最短距離でしっかり身に付く! Webアプリケーション開発の教科書 ~Ruby on Railsで作る本格Webアプリ~
本書は,最低限の知識で,実用性のあるWebアプリケーションを開発するスキルを習得するための入門書です。「やりたいことを実現する,問題を解決するためのアプリを短期...
-
みんなのKotlin 現場で役立つ最新ノウハウ!
KotlinはJetBrains社が開発したプログラミング言語で,Androidアプリ開発やサーバサイドアプリケーション開発など,さまざまな現場で次第に定着してきました。本書では...
-
[改訂新版]Spring入門 ――Javaフレームワーク・より良い設計とアーキテクチャ
Javaを利用したシステム開発ではミドルウェアとしてSpring Frameworkが定番になった。バージョン4.0以降,急速に普及しているクラウド環境への対応が当たり前のものにな...