本書內容改編自第 12 屆 iT 邦幫忙鐵人賽 Mobile Development 組佳作網路系列文章 ──《 老姐好像要用 Kotlin 寫專案,能撐 30 天嗎?》。本書旨在鼓勵對程式開發有興趣或是想轉職工程師的朋友,積極學習 Kotlin 程式語言,將 Side Project 列入人生計畫。以弟弟(後端工程師)的視角,描述姐弟使用 Kotlin 進行為期三十天的
Side Project 過程,是一本以輕鬆、帶一點吐槽的文筆進行程式專案開發紀實的日誌。你將從開發準備、Scope 系列函式、問答聊天室結構到雲端訊息 FCM 推播,逐步探索 Kotlin 的美妙之處。
☑前後端使用一種程式語言開發
前後端共有開發的資源,能夠將精力放在需要關注的地方,學習曲線的效率自然也大幅提升。
☑設計實作 Side Project
獲得提升整合的能力,擴大事業版圖。在本書的設計實作Side Project 中,你將探索工程師的工作與生活的平衡。
☑開發技巧和疑難排解
以大量對話形式的問答篇,解開你經常遇到的各種問題,讓你從本書獲取豐富經驗,不只少走彎路,還能學會開拓道路的方法!
【適合讀者】
✦考慮轉職、對程式開發或建立 Side Project 有興趣的工程師
✦對 Kotlin 語言有興趣、想認識 Kotlin 的讀者
✦前端、後端開發工程師
本書特色
小說 × 程式 ── 打開程式書就昏昏欲睡?
讓Kate豐富的程式人經驗給你小說般的沈浸式體驗!
◎帶你認識在 Android 領域刮起旋風的 Kotlin 程式語言特點
◎觀摩程式專案如何設計、實作和解決問題
◎一窺工程師神秘面紗下的工作和生活
專業推薦
「武俠小說裡有所謂的金庸體與古龍體,而今我很榮幸能為技術書籍的 Kate 體寫推薦,畢竟很少技術書籍能讓人一直不斷地想要看下去,這麼獨特的風格,如果你對 Kotlin 有興趣的話千萬不能錯過。」──── Android GDE(Google Developer Expert)‒ Jintin
「詼諧風趣的表達手法加上圖文並茂的豐富內容,每次閱覽都讓人有一次看完的衝動!」──── Kotlin GDE(Google Developer Expert)‒ 黃健旻
「Kate 的寫作風格融入小說情境,以對話的形式讓讀者在學習 Kotlin 多平台開發時能更有氛圍。本書主題從開發計劃、前後端資料交換、軟體架構、語法糖、雲端整合皆有詳述,從劇情推演中,讀者也能體驗開發過程中的混沌、掙扎、沈澱與突破。想來點不一樣的學習情境嗎?跟著 Kate 的劇情,踏上探索 Kotlin 的旅程吧!」──── JetBrains 技術傳教士 ‒ 范聖佑
目錄
推薦序
序
登場人物
第一章 下班也想寫專案
1.1 開發準備
1.2 建立專案
1.3 資料交換格式
1.4 調整時程
1.5 初探語法糖 Scope 系列函式
1.6 題目列表資料呈現
1.7 函式擴展和屬性擴展
1.8 建立搭配 Exposed 框架的資料庫
1.9 軟體架構 MVVM
1.10 函式導向程式設計
1.11 資料庫塞資料的時機到了
1.12 前後端都用 Kotlin 的好處
1.13 來自網路另一端的協助
1.14 尋尋覓覓,曙光在哪?
1.15 安裝 Docker 與本機電腦架設 Keycloak
1.16 把 Ktor 綁上 Keycloak 大船
1.17 避開死亡陷阱 NullPointerException
1.18 網站和 API 開發的不同點
1.19 問答聊天室結構
1.20 貪婪 Eager Loading 原理—快取和 IN 運算子
1.21 攔截 Route 製作專屬處理
1.22 聊天室伺服器端和 APP 側邊選單
1.23 聊天室客戶端
1.24 獨立支付系統 v.s In APP Purchase
1.25 建立 Firebase 專案和雲端訊息 FCM 推播
1.26 雲端訊息 FCM 推播
1.27 上架 Google 開發者帳號
1.28 上傳 Docker Image 到雲端 Heroku
1.29 會員驗證 Firebase 方案
1.30 閃退馬拉松休息站
第二章 快樂 Q&A 時間
問題排除篇
2.1 連接埠 8080 被占用怎麼辦
2.2 程式無法安裝到 Android 手機
2.3 外掛套件沒有看到 Ktor Plugin
2.4 編譯完出現 xxxBindingImpl 錯誤
工具教學篇
2.5 如果沒有 Android 手機怎麼辦:模擬器
2.6 專案管理軟體怎麼使用
2.7 軟體 IntelliJ IDEA Ultimate 三十天後怎麼辦
2.8 哪裡可以看到全部的快捷鍵
2.9 其他作業系統的內網 IP 查詢指令
2.10 推薦的 HTTP 客戶端工具:Postman
2.11 推薦的版本圖形化管理工具:Sourcetree
海龜湯相關篇
2.12 哪裡可以看到完整的專案程式碼
2.13 為什麼專案主題選海龜湯
2.14 海龜湯 APP 有網址嗎
2.15 海龜湯 APP 會開發 iOS 版本嗎
其他篇
2.16 想開發專案,但沒有會寫程式的家人怎麼辦
2.17 如何學到更多 Kotlin 基礎知識
2.18 有哪些社群可以參加
2.19 我是十年後讀者,IDE 版本差異有點大怎麼辦
附錄
後記
序
登場人物
第一章 下班也想寫專案
1.1 開發準備
1.2 建立專案
1.3 資料交換格式
1.4 調整時程
1.5 初探語法糖 Scope 系列函式
1.6 題目列表資料呈現
1.7 函式擴展和屬性擴展
1.8 建立搭配 Exposed 框架的資料庫
1.9 軟體架構 MVVM
1.10 函式導向程式設計
1.11 資料庫塞資料的時機到了
1.12 前後端都用 Kotlin 的好處
1.13 來自網路另一端的協助
1.14 尋尋覓覓,曙光在哪?
1.15 安裝 Docker 與本機電腦架設 Keycloak
1.16 把 Ktor 綁上 Keycloak 大船
1.17 避開死亡陷阱 NullPointerException
1.18 網站和 API 開發的不同點
1.19 問答聊天室結構
1.20 貪婪 Eager Loading 原理—快取和 IN 運算子
1.21 攔截 Route 製作專屬處理
1.22 聊天室伺服器端和 APP 側邊選單
1.23 聊天室客戶端
1.24 獨立支付系統 v.s In APP Purchase
1.25 建立 Firebase 專案和雲端訊息 FCM 推播
1.26 雲端訊息 FCM 推播
1.27 上架 Google 開發者帳號
1.28 上傳 Docker Image 到雲端 Heroku
1.29 會員驗證 Firebase 方案
1.30 閃退馬拉松休息站
第二章 快樂 Q&A 時間
問題排除篇
2.1 連接埠 8080 被占用怎麼辦
2.2 程式無法安裝到 Android 手機
2.3 外掛套件沒有看到 Ktor Plugin
2.4 編譯完出現 xxxBindingImpl 錯誤
工具教學篇
2.5 如果沒有 Android 手機怎麼辦:模擬器
2.6 專案管理軟體怎麼使用
2.7 軟體 IntelliJ IDEA Ultimate 三十天後怎麼辦
2.8 哪裡可以看到全部的快捷鍵
2.9 其他作業系統的內網 IP 查詢指令
2.10 推薦的 HTTP 客戶端工具:Postman
2.11 推薦的版本圖形化管理工具:Sourcetree
海龜湯相關篇
2.12 哪裡可以看到完整的專案程式碼
2.13 為什麼專案主題選海龜湯
2.14 海龜湯 APP 有網址嗎
2.15 海龜湯 APP 會開發 iOS 版本嗎
其他篇
2.16 想開發專案,但沒有會寫程式的家人怎麼辦
2.17 如何學到更多 Kotlin 基礎知識
2.18 有哪些社群可以參加
2.19 我是十年後讀者,IDE 版本差異有點大怎麼辦
附錄
後記