快速精通 iOS 16 程式設計:從零開始活用 Swift 與 SwiftUI 開發技巧 Beginning iOS 16 Programming with Swift and SwiftUI

Simon Ng 著 王豪勳 譯/博碩文化 審校

  • 快速精通 iOS 16 程式設計:從零開始活用 Swift 與 SwiftUI 開發技巧-preview-1
  • 快速精通 iOS 16 程式設計:從零開始活用 Swift 與 SwiftUI 開發技巧-preview-2
  • 快速精通 iOS 16 程式設計:從零開始活用 Swift 與 SwiftUI 開發技巧-preview-3
  • 快速精通 iOS 16 程式設計:從零開始活用 Swift 與 SwiftUI 開發技巧-preview-4
  • 快速精通 iOS 16 程式設計:從零開始活用 Swift 與 SwiftUI 開發技巧-preview-5
  • 快速精通 iOS 16 程式設計:從零開始活用 Swift 與 SwiftUI 開發技巧-preview-6
  • 快速精通 iOS 16 程式設計:從零開始活用 Swift 與 SwiftUI 開發技巧-preview-7
  • 快速精通 iOS 16 程式設計:從零開始活用 Swift 與 SwiftUI 開發技巧-preview-8
  • 快速精通 iOS 16 程式設計:從零開始活用 Swift 與 SwiftUI 開發技巧-preview-9
  • 快速精通 iOS 16 程式設計:從零開始活用 Swift 與 SwiftUI 開發技巧-preview-10
  • 快速精通 iOS 16 程式設計:從零開始活用 Swift 與 SwiftUI 開發技巧-preview-11
  • 快速精通 iOS 16 程式設計:從零開始活用 Swift 與 SwiftUI 開發技巧-preview-12
  • 快速精通 iOS 16 程式設計:從零開始活用 Swift 與 SwiftUI 開發技巧-preview-13
  • 快速精通 iOS 16 程式設計:從零開始活用 Swift 與 SwiftUI 開發技巧-preview-14
快速精通 iOS 16 程式設計:從零開始活用 Swift 與 SwiftUI 開發技巧-preview-1

買這商品的人也買了...

相關主題

商品描述

【好評推薦】
「AppCoda的書令人非常激賞,內容寫得非常清楚,即使沒有任何概念,書中的內容會鼓勵你自行思考並吸收這些觀念,沒有其他比這更詳盡的學習資源了。」

──日本Sheehan,Ingot LLC



「這本書寫得非常好,簡潔有力,書中的範例非常棒且貼近真實的應用,幫助我完成第一個App,並於App Store上架,內容給我許多進一步強化與更新App的想法。我將它作為我的參考指南,也很感謝每當Swift與iOS有做變更時,都能收到更新。」

──David Greenfield,ThreadABead作者



「這本書教導我們如何建立我們想要的App,書中的內容規劃得很好,每一章的篇幅拿捏得恰到好處,不會太過冗長而無法消化,想要學習開發第一個App並進階學習的話,我強烈推薦這本內容超棒的好書。」

──Stephen Donnelly,Rascalbiscuit總監



「這是我最初在學習Swift時所找到的學習書籍之一。作為一個初學者,這本書非常容易學習與理解。整本書以貼近真實生活的範例來建立App,這種學習方式真是太天才了,最後也能夠實用它。我學習了很多,也運用了很多其中的內容於我的App中。我發現我會常常回來參考此書,這真的是一本很棒的作品。」

──Bill Harned,Percent Off作者



「iOS開發最棒的書籍之一,內容編排絕佳,且容易跟著實作,是很棒的開發學習良伴。」

──Ali Akkawi,iOS與Android行動App自由工作者



【本書特色】

從零開始掌握SwiftUI框架與開發技巧
快速強化你的iOS App開發實戰能力
輕鬆成為專業程式設計師



使用Xcode 14 & iOS 16 & Swift 5.7開發
了解Xcode開發工具
使用清單視圖、堆疊視圖設計UI與深色模式
快速學習Swift App程式編寫、物件導向與SwiftUI程式設計
運用Core Data與CloudKit存取資料
使用地圖與相機
實作動態視覺效果
開發使用者通知
App本地化
App測試與上架程序


【內容簡介】
作者分享多年來的iOS開發經驗,並集結廣受歡迎的iOS教學文章,以SwiftUI框架重新編寫,精心設計出30個章節。由基礎入門開始,逐步實作出具有精美UI及實用功能、支援雲端資料傳輸與深色模式的「FoodPin」App,而且「FoodPin」App完全支援新推出的iOS 16以及iPhone 14/14 Pro、iPad Pro。

本書首先介紹Swift語言的觀念,再教導你使用Swift與SwiftUI建立你的第一個App,然後你會學到規劃App的原型,並且本書每一章中會針對iOS開發的各個面向提供提示、技巧以及許多需要親手操作的作業,最後你可以從無到有來開發出一個真正的App。本書也會教導你如何使用Xcode來佈局使用者介面,並熟悉iOS 16 SDK的基本API,跟著本書的內容學習,將可獲得真實開發App的體驗,且打好Swift程式語言的基礎,掌握住程式開發的訣竅。

本書是為了Swift與iOS程式設計的初學者而撰寫,不論你是想學習新程式語言的程式設計師,或是想要將你的設計轉換為iOS App的設計師,這本書絕對是你的首選。

【本書精采內容】

Swift基礎介紹。
利用Playground快速學習Swift。
使用Swift與SwiftUI從無到有打造第一個App。
學習App原型設計與前置規劃。
建立App與SwiftUI的常用元件。
了解堆疊視圖建立自適應UI。
設計適合所有螢幕尺寸的App,讓UI相容最新的iPhone 14/14 Pro與iPad Pro。
設計導覽列大標題。
自訂表格視圖儲存格來打造更優美的App。
學習自訂清單視圖。
運用導覽視圖。
了解物件導向程式設計。
建立動畫與視覺效果。
使用相機與相片庫。
運用地圖並學會最新的標註功能。
使用搜尋列做關鍵字搜尋。
建立導覽畫面來讓使用者迅速熟悉App。
使用Searchable加入搜尋列。
在App嵌入瀏覽器與網頁視圖。
運用使用者通知來提升App黏著度。
運用觸覺觸控及內容選單。
儲存資料至資料庫。
整合運用CloudKit。
App多國語系化。
在實機上部署與測試App,並且學會WiFi部署功能。
使用TestFlight安排Beta測試。
在App Store上架你的App。

作者簡介

Simon Ng
軟體工程師&AppCoda創辦人。畢業於香港中文大學電子工程系,曾任職於HSBC、FedEx等公司,專責軟體開發、系統設計。2012年創立AppCoda技術部落格,定期發表iOS程式教學文章,其部落格每月吸引20多萬名讀者點閱。現在致力於iOS程式教學、產品設計及開發,希望幫助更多人進入iOS的程式世界。

【英文網站】
www.appcoda.com

【中文網站】
www.appcoda.com.tw

【AppCoda開發者社群】
facebook.com/groups/appcodatw

目錄大綱

|CHAPTER 01| 開發工具、學習方法與App點子
1.1 開發App的所需工具
1.2 學習App的方式
1.3 發想App好點子
1.4 UIKit與SwiftUI
1.5 本章小結

|CHAPTER 02| 使用Playground來首次體驗Swift
2.1 Swift的歷史
2.2 開始學習Swift
2.3 在Playground中試驗Swift
2.4 常數與變數
2.5 型別推論
2.6 處理文字
2.7 流程控制
2.8 陣列與字典
2.9 可選型別
2.10 玩玩UI
2.11 本章小結

|CHAPTER 03| 使用Swift與SwiftUI建立你的第一個App
3.1 SwiftUI介紹
3.2 宣告式程式設計 vs 指令式程式設計
3.3 使用SwiftUI建立你的第一個App
3.4 熟悉Xcode工作區
3.5 第一次執行你的App
3.6 處理文字
3.7 變更字型與顏色
3.8 運用按鈕
3.9 自訂按鈕樣式
3.10 加入按鈕動作
3.11 了解堆疊視圖
3.12 了解方法
3.13 你的作業:按鈕與方法的應用
3.14 本章小結

|CHAPTER 04| 使用堆疊視圖設計UI
4.1 VStack、HStack與ZStack介紹
4.2 範例App
4.3 建立新專案
4.4 加入圖片至Xcode專案中
4.5 使用堆疊視圖佈局標題標籤
4.6 使用留白與間距
4.7 使用圖片
4.8 使用水平堆疊視圖來排列圖片
4.9 在圖片下方加入標籤
4.10 使用堆疊視圖佈局按鈕
4.11 使用不同的裝置預覽UI
4.12 取出視圖使程式碼有更好的結構
4.13 使用尺寸類別調整堆疊視圖
4.14 保存向量資料
4.15 你的作業:建立新UI
4.16 本章小結

|CHAPTER 05| 原型設計
5.1 在紙上繪出你的App點子
5.2 繪出App線框圖
5.3 使你的草圖 / 線框圖可互動
5.4 常用的原型設計工具
5.5 本章小結

|CHAPTER 06| List與ForEach
6.1 建立一個SimpleTable專案
6.2 建立一個簡單的清單
6.3 使用項目的陣列來顯示清單
6.4 在清單視圖中加入縮圖
6.5 變更清單視圖的樣式
6.6 顯示清單的另一種方式
6.7 你的作業:各個儲存格顯示不同的圖片
6.8 本章小結

|CHAPTER 07| 自訂清單視圖
7.1 建立Xcode專案
7.2 準備Restaurant圖片
7.3 建立基本的清單視圖
7.4 顯示不同的餐廳圖片
7.5 重新設計列佈局
7.6 圖片圓角化
7.7 隱藏清單分隔符號
7.8 使用深色模式測試App
7.9 你的作業:修正問題並重新設計列佈局
7.10 本章小結

|CHAPTER 08| 顯示確認對話方塊及處理清單視圖選取
8.1 建立更優美的列佈局
8.2 查閱文件
8.3 使用State管理列的選取
8.4 偵測觸控並顯示確認對話方塊
8.5 了解綁定
8.6 顯示提示訊息
8.7 實作「標記為最愛」功能
8.8 預覽列佈局
8.9 你的作業:支援新功能與移除圖示
8.10 本章小結

|CHAPTER 09| 結構、專案組織與程式文件
9.1 物件導向程式設計的基礎理論
9.2 類別、物件及結構
9.3 結構
9.4 複習FoodPin專案
9.5 建立Restaurant結構
9.6 初始化器的說明
9.7 self關鍵字
9.8 預設初始化器
9.9 使用Restaurant物件的陣列
9.10 組織你的Xcode專案檔
9.11 使用註解來記錄與組織Swift程式碼
9.12 本章小結
9.13 進階參考文獻

|CHAPTER 10| 清單刪除、滑動動作、內容選單與動態控制器
10.1 執行列的刪除
10.2 使用滑動動作
10.3 建立內容選單
10.4 SF Symbols介紹
10.5 運用動態控制器
10.6 本章小結

|CHAPTER 11| 運用導覽視圖
11.1 建立導覽視圖
11.2 加入餐廳細節視圖
11.3 從一個視圖導覽到另一個視圖
11.4 使用重點色
11.5 自訂返回按鈕
11.6 移除揭示指示器
11.7 本章小結

|CHAPTER 12| 改進細節視圖、自訂字型及導覽列
12.1 快速瀏覽起始專案
12.2 使用自訂字型
12.3 改進細節視圖
12.4 忽略安全區域
12.5 在導覽視圖中預覽細節視圖
12.6 自訂導覽列
12.7 作業:修復錯誤
12.8 本章小結

|CHAPTER 13| 顏色、Swift擴展與動態型別
13.1 自訂顏色
13.2 Swift擴展
13.3 為深色模式調整顏色
13.4 動態型別
13.5 本章小結

|CHAPTER 14| 運用地圖
14.1 了解SwitUI的地圖視圖
14.2 建立自己的地圖視圖
14.3 使用地理編碼器來將地址轉換為座標
14.4 對地圖加入標記
14.5 嵌入MapView
14.6 顯示全螢幕地圖
14.7 禁用使用者互動
14.8 你的作業:禁用使用者互動
14.9 本章小結

|CHAPTER 15| 動畫與模糊效果
15.1 加入圖片素材
15.2 使用列舉來顯示評分
15.3 實作評分視圖
15.4 應用視覺模糊效果
15.5 顯示評分畫面
15.6 應用動畫來關閉評分視圖
15.7 以滑入動畫為評分按鈕設定動畫
15.8 本章小結

|CHAPTER 16| 運用可觀察物件與Combine
16.1 目前設計的問題
16.2 使用可觀察物件
16.3 在細節視圖中顯示評分
16.4 本章小結

|CHAPTER 17| 運用表單與相機
17.1 建立SwiftUI的文字欄位
17.2 為使用者輸入建立通用的表單欄位
17.3 實作餐廳表單
17.4 使用相片庫與相機
17.5 加入工具列按鈕
17.6 顯示新餐廳視圖
17.7 本章小結

|CHAPTER 18| 運用Core Data
18.1 何謂Core Data?
18.2 Core Data堆疊
18.3 在SwiftUI專案中使用Core Data
18.4 建立持久性控制器
18.5 建立託管物件模型
18.6 定義模型類別
18.7 使用@FetchRequest來取得紀錄
18.8 從資料庫中刪除紀錄
18.9 處理資料預覽
18.10 修正餐廳細節視圖
18.11 修正評分視圖
18.12 處理空清單視圖
18.13 將資料加到持久性儲存器
18.14 更新餐廳紀錄
18.15 你的作業:修正錯誤
18.16 本章小結

|CHAPTER 19| 使用Searchable加入搜尋列
19.1 使用Searchable
19.2 將搜尋列加入餐廳清單視圖
19.3 搜尋列的位置
19.4 執行搜尋並顯示搜尋結果
19.5 搜尋建議
19.6 你的作業:加強搜尋功能
19.7 本章小結

|CHAPTER 20| 使用TabView建立導覽畫面
20.1 快速瀏覽導覽畫面
20.2 建立導引視圖
20.3 加入Next及Skip按鈕
20.4 顯示導引視圖
20.5 UserDefaults介紹
20.6 本章小結

|CHAPTER 21| 使用標籤視圖及自訂標籤列
21.1 使用TabView建立標籤介面
21.2 調整標籤列項目的顏色
21.3 設定初始視圖
21.4 本章小結

|CHAPTER 22| 使用WKWebView與SFSafariViewController顯示網頁內容
22.1 設計About視圖
22.2 準備連結
22.3 使用連結開啟Safari
22.4 使用WKWebView
22.5 使用SFSafariViewController
22.6 本章小結

|CHAPTER 23| 探索CloudKit
23.1 了解CloudKit框架
23.2 在App中啟用CloudKit
23.3 在CloudKit儀表板中管理紀錄
23.4 使用便利型API從公共資料庫取得資料
23.5 使用操作型API從公共資料庫取得資料
23.6 使用動態指示器來優化效能
23.7 下拉更新
23.8 使用CloudKit儲存資料
23.9 以建立日期來排序結果
23.10 你的作業:顯示餐廳的位置與類型
23.11 本章小結

|CHAPTER 24| App本地化以支援多種語言
24.1 App國際化
24.2 你的作業:修改操作介面文字
24.3 加入支援的語言
24.4 匯出本地化檔案
24.5 匯入本地化檔案
24.6 測試本地化App
24.7 使用預覽來測試本地化
24.8 本章小結

|CHAPTER 25| 觸覺觸控
25.1 主畫面的快速動作
25.2 使用自訂URL協定處理快速動作
25.3 如果App沒有執行會如何?
25.4 本章小結

|CHAPTER 26| 開發使用者通知
26.1 善用使用者通知來提升客戶參與
26.2 使用者通知框架
26.3 請求使用者允許
26.4 建立與排程通知
26.5 在通知中加入圖片
26.6 與使用者通知互動
26.7 動作的處理
26.8 本章小結

|CHAPTER 27| 在iOS實機上部署與測試App
27.1 程式碼簽署與裝置描述檔
27.2 檢視你的Bundle ID
27.3 在Xcode 中自動簽署
27.4 透過USB部署App至你的裝置
27.5 透過Wi-Fi部署App
27.6 本章小結

|CHAPTER 28| 使用TestFlight進行Beta測試及CloudKit生產環境部署
28.1 在App Store Connect建立App紀錄
28.2 App資訊
28.3 價格與可用性
28.4 App政策
28.5 準備送審
28.6 更新你的編譯字串
28.7 準備你的App圖示
28.8 建立啟動畫面
28.9 App的打包與驗證
28.10 上傳你的App至App Store Connect
28.11 內部測試管理
28.12 管理外部測試者的Beta測試
28.13 CloudKit生產環境部署
28.14 本章小結

|CHAPTER 29| App Store上架
29.1 做好準備與充分測試
29.2 上傳你的App至App Store
29.3 本章小結

|APPENDIX A| Swift基礎概論
A.1 變數、常數與型別推論
A.2 沒有分號做結尾
A.3 基本字串操作
A.4 陣列
A.5 字典
A.6 集合
A.7 類別
A.8 方法
A.9 控制流程
A.10 元組
A.11 可選型別
A.12 為何需要可選型別?
A.13 解開可選型別
A.14 可選綁定
A.15 可選鏈
A.16 可失敗初始化器
A.17 泛型
A.18 泛型型別約束
A.19 泛型型別
A.20 計算屬性
A.21 屬性觀察者
A.22 可失敗轉型
A.23 repeat-while
A.24 for-in where子句
A.25 Guard
A.26 錯誤處理
A.27 可行性檢查