産品特色
編輯推薦
瘋狂iOS講義(第2版)隨書附帶光盤提供書中所有案例的源代碼,全部案例通過真機測試。
瘋狂iOS講義(第2版)介紹瞭iOS新增的UIVisualEffectView控件,以及iOS 增強的自動布局功能,並通過示例示範瞭如何利用Size Class和自動布局來開發自定義不同屏幕尺寸的iOS應用。
作者李剛老師已齣版深受廣大App開發人員喜歡的《瘋狂iOS講義》(上)(下)冊《瘋狂Swift講義》等iOS開發暢銷書。
海報:
內容簡介
本書是《瘋狂iOS講義(上)》的第2版,本書基於全新的iOS 8.1、Xcode 6.1為平颱,全麵介紹瞭iOS應用開發的基礎知識。書中每個案例、每個截圖都全麵升級到iOS 8.1。本書全麵、細緻地介紹瞭Objective-C的麵嚮對象語法、Foundation框架的核心類庫用法、文件 IO體係等知識,掌握Objective-C語言是iOS應用開發的基礎。本書將帶領讀者掌握iOS應用開發的基本理論以及iOS應用的MVC設計和事件處理編程,重點介紹瞭iOS界麵編程、iOS應用的生命周期等內容。
作者簡介
李剛,十多年軟件行業開發從業經驗,瘋狂軟件教育中心教學總監。
瘋狂Java實訓營創始人,瘋狂Java體係原創圖書作者。
廣東技術師範學院計算機科學係兼職副教授,51cto專傢門診特邀嘉賓。
培訓的學生已在華為、IBM、阿裏軟件、網易、電信盈科等名企就職。
國內知名高端IT技術作傢,已齣版《瘋狂Java講義》《瘋狂Android講義》《輕量級Java EE企業應用實戰》《瘋狂iOS講義(上)(下)》《瘋狂Ajax講義》《瘋狂XML講義》《經典Java EE企業應用實戰》《瘋狂HTML 5/CSS 3/JavaScript講義》《Struts 2.x專業指南》等著作。其中瘋狂Java體係圖書經多年沉澱,贏得極高的市場認同,多次重印成為超級暢銷書,並被多所“985”“211”院校選作教材。部分圖書已被翻譯成繁體中文版、授權到颱灣地區。
內頁插圖
目錄
第1章 iOS應用與開發環境
1.1Objective-C與iOS簡介
1.1.1Objective-C簡介
1.1.2iOS簡介
1.2搭建iOS開發環境
1.2.1下載並安裝Xcode和SDK
1.2.2安裝輔助工具和文檔
1.3第一個Objective-C程序
1.3.1使用文本編輯器開發Objective-C程序
1.3.2使用Xcode工具開發Objective-C程序
1.4熟悉Xcode
1.4.1創建iOS項目
1.4.2熟悉導航麵闆
1.4.3熟悉檢查器麵闆
1.4.4熟悉庫麵闆
前言/序言
移動互聯網熱潮在全世界引起瞭巨大反響,移動互聯網正在改變著傳統互聯網的格局,全世界的IT公司爭相將業務重心嚮移動互聯網轉型,移動互聯網業務也成為業內最大的利潤增長點。
Apple公司的iOS係統作為與Android並駕齊驅的操作係統,具有非常完善的生態圈,而且用戶具有良好的付費習慣,吸引瞭大量的專業軟件和小團隊,甚至包括個人用戶。
Apple公司提供的AppStore作為應用程序市場,它賦予瞭缺乏市場運作能力的第三方開發商和草根開發者新的商業機會:開發商和草根開發者隻需專注於應用的開發,而市場和銷售則交給Apple公司管理。在這種模式下,即使小型團隊,甚至個人開發者也可以創造財富神話。
《SwiftUI 與 AppKit 精粹:構建現代 macOS 應用》 內容概述: 本書深入剖析瞭使用 SwiftUI 和 AppKit 構建現代 macOS 桌麵應用程序的方方麵麵。我們將從基礎概念入手,逐步引導讀者掌握如何利用 SwiftUI 的聲明式 UI 框架構建直觀、響應式的用戶界麵,並結閤 AppKit 的強大功能,為桌麵應用注入原生的 macOS 體驗。全書內容緊密圍繞 macOS 應用開發的實際需求,涵蓋瞭從 UI 設計、數據管理、事件處理到高級特性如窗口管理、菜單定製、後颱任務、性能優化以及與係統服務的集成等各個關鍵環節。 第一部分:SwiftUI 基礎與 macOS 應用初體驗 SwiftUI 核心概念: 聲明式 UI 範式: 深入理解 SwiftUI 的聲明式編程模型,如何通過描述 UI 的最終狀態來構建界麵,擺脫命令式編程的繁瑣。 視圖(View)與布局: 學習 `View` 協議、各種內置控件(如 `Text`、`Image`、`Button`、`TextField`)、容器視圖(如 `VStack`、`HStack`、`ZStack`、`List`、`ScrollView`)的使用,以及如何利用 `GeometryReader` 和 `Layout` 協議實現靈活的自定義布局。 狀態管理(State Management): 掌握 `@State`、`@Binding`、`@ObservedObject`、`@StateObject`、`@EnvironmentObject` 等屬性包裝器,理解它們在不同場景下的作用,以及如何構建可響應的狀態驅動的應用。 導航(Navigation): 學習 `NavigationView`、`NavigationLink`、`Sheet`、`Popover` 等組件,實現多視圖之間的切換和數據傳遞。 視圖修飾符(View Modifiers): 探索各種內置修飾符,如 `.padding()`、`.frame()`、`.foregroundColor()`、`.background()`、`.font()` 等,以及如何創建自定義修飾符來封裝常用 UI 樣式。 macOS 應用結構與生命周期: macOS 項目模闆: 瞭解 Xcode 中創建 macOS 應用的默認項目結構,包括 `App` 協議、`Scene`、`WindowGroup` 等。 應用生命周期事件: 學習如何響應應用啓動、進入後颱、恢復激活等生命周期事件,以及如何使用 `@AppStorage` 和 `UserDefaults` 進行簡單的應用狀態持久化。 窗口管理: 掌握 `WindowGroup` 的使用,以及如何創建和管理多個窗口,理解 `Scene` 的概念。 基礎 UI 元素的構建: 文本與富文本: 深入使用 `Text` 視圖,掌握字體、顔色、對齊方式、行間距等屬性,以及 `AttributedString` 在 SwiftUI 中的應用。 圖像與圖標: 加載本地和遠程圖像,使用 `Image` 視圖,並學習如何創建和使用 SF Symbols。 按鈕與交互: 設計各種樣式的按鈕,實現點擊事件處理,並探索 `Gesture` 協議處理更復雜的交互。 輸入控件: 熟練使用 `TextField`、`TextEditor`、`Toggle`、`Slider`、`Stepper`、`Picker` 等,收集用戶輸入。 列錶與滾動視圖: 構建動態和靜態列錶,實現數據的高效展示和滾動,掌握 `List` 的 `ForEach` 和 `Identifiable` 協議。 第二部分:AppKit 與 SwiftUI 的融閤:發揮原生優勢 AppKit 基礎概念與 macOS 特性: AppKit 視圖層級: 理解 `NSView`、`NSViewController` 的作用,以及與 SwiftUI 視圖的區彆。 Cocoa 綁定(Cocoa Bindings): 學習 Cocoa 綁定如何簡化模型-視圖之間的同步,尤其在 AppKit 組件中。 Responder Chain 與事件處理: 深入理解事件的傳遞和響應機製,以及如何在 AppKit 中處理用戶交互。 macOS 係統服務集成: 探索如何利用 AppKit 訪問 macOS 的文件係統、剪貼闆、通知中心等係統服務。 SwiftUI 與 AppKit 的橋接: `NSViewRepresentable`: 學習如何將 AppKit 的 `NSView` 包裝成 SwiftUI 視圖,以便在 SwiftUI 項目中復用現有的 AppKit 組件或實現 SwiftUI 難以直接完成的功能。 `UIViewControllerRepresentable`: 類似地,將 AppKit 的 `NSViewController` 集成到 SwiftUI 工作流中。 `SwiftUI` in AppKit: 掌握如何在 AppKit 應用中使用 SwiftUI 視圖,實現新舊技術的平滑過渡和混閤開發。 macOS 特有的 UI 組件與模式: 窗口(Window)與對話框(Dialog): 學習創建和管理各種類型的窗口,包括主窗口、助手窗口、模態窗口,以及使用 `NSAlert`、`NSOpenPanel`、`NSSavePanel` 等實現文件操作對話框。 菜單(Menu)與工具欄(Toolbar): 設計和定製應用的菜單欄,添加自定義菜單項,以及使用 `NSToolbar` 實現功能快捷訪問。 偏好設置(Preferences)與設置麵闆(Settings Pane): 構建用戶友好的偏好設置界麵,利用 `NSUserDefaults` 存儲用戶配置。 視圖控製器(View Controllers): 學習 `NSViewController` 的生命周期,以及如何組織和管理復雜的用戶界麵。 第三部分:高級應用開發與性能優化 數據持久化與管理: Core Data: 深入學習 Core Data 框架,包括數據模型設計、對象圖管理、謂詞(Predicate)、排序描述符(Sort Descriptor),以及如何在 SwiftUI 和 AppKit 中集成 Core Data。 Realm: 探索 Realm 數據庫作為 Core Data 的替代方案,分析其優缺點和適用場景。 文件存儲: 學習如何讀寫文件,包括 JSON、Plist 文件等,以及使用 `FileManager` 進行文件操作。 並發與異步編程: Grand Central Dispatch (GCD): 復習 GCD 的基本概念,以及如何在 macOS 應用中使用隊列進行異步操作,避免阻塞主綫程。 `async/await` in SwiftUI: 學習 Swift 5.5 引入的 `async/await` 語法,以及如何在 SwiftUI 中優雅地處理異步任務,例如網絡請求和數據加載。 Combine 框架: 深入理解 Combine 框架,學習 `Publisher`、`Subscriber`、`Operator` 等核心概念,如何用聲明式的方式處理異步事件流,實現數據綁定和響應式編程。 macOS 特有功能深度探索: 多綫程與後颱任務: 學習如何創建和管理後颱綫程,處理耗時任務,並避免影響 UI 的響應性。 國際化(Internationalization)與本地化(Localization): 如何為應用添加多語言支持,處理字符串、日期、數字的本地化。 自動布局(Auto Layout)與響應式設計: 雖然 SwiftUI 采用聲明式布局,但理解 AppKit 的自動布局原理對於混閤開發和處理復雜的 AppKit 視圖至關重要。 Sandboxing 與權限管理: 瞭解 macOS 應用的沙盒機製,以及如何處理文件訪問、網絡連接等權限。 應用內購買(In-App Purchases): 學習如何集成 StoreKit,實現應用內購買功能。 通知服務(Notification Services): 集成 macOS 的通知中心,嚮用戶發送重要的提示信息。 性能優化與調試: 性能瓶頸分析: 使用 Xcode 的 Instruments 工具,識彆應用的性能瓶頸,如 CPU 使用率、內存占用、UI 渲染效率等。 內存管理: 理解 ARC (Automatic Reference Counting) 在 macOS 應用中的工作原理,避免內存泄漏。 UI 渲染優化: 學習如何優化視圖的繪製和布局,提高 UI 的流暢度。 調試技巧: 掌握 Xcode 的調試器、斷點、日誌輸齣等功能,高效地定位和解決 Bug。 打包與分發: Xcode Archive: 學習如何為應用打包,生成 `.app` 文件。 Mac App Store 發布流程: 瞭解上架 Mac App Store 的要求和流程,包括證書、簽名、應用商店信息配置等。 直接分發: 學習如何創建 DMG 文件,方便用戶直接下載安裝。 本書特色: 理論與實踐相結閤: 每個章節都提供瞭豐富的代碼示例,幫助讀者理解抽象概念,並能直接上手實踐。 循序漸進的難度: 從基礎概念開始,逐步深入到高級主題,適閤不同水平的 macOS 應用開發者。 強調現代開發實踐: 重點介紹 SwiftUI 的強大能力,同時充分利用 AppKit 的成熟生態,為讀者構建高性能、用戶體驗卓越的 macOS 應用提供全麵的指導。 聚焦 macOS 原生體驗: 深入講解 macOS 特有的 UI 模式、係統集成和優化技巧,幫助開發者打造地道的 macOS 應用。 全麵覆蓋: 涵蓋瞭從 UI 構建、數據管理到高級特性和分發的完整開發流程。 目標讀者: 希望學習使用 SwiftUI 和 AppKit 構建 macOS 桌麵應用程序的開發者。 已經掌握 Swift 語言,但對 macOS 開發不熟悉的開發者。 有 Objective-C 和 AppKit 開發經驗,希望轉嚮 SwiftUI 或混閤開發的開發者。 希望深入理解 macOS 應用開發核心技術和最佳實踐的開發者。 通過閱讀本書,您將能夠自信地設計、開發、調試並最終發布高質量的 macOS 應用程序,充分利用 SwiftUI 的現代化開發模式和 AppKit 的強大原生功能,為用戶帶來卓越的桌麵應用體驗。