幫助中心 | 我的帳號 | 關於我們

跟戴銘學iOS編程(理順核心知識點)

  • 作者:戴銘|責編:官楊
  • 出版社:電子工業
  • ISBN:9787121356889
  • 出版日期:2020/01/01
  • 裝幀:平裝
  • 頁數:291
人民幣:RMB 79 元      售價:
放入購物車
加入收藏夾

內容大鋼
    本書針對iOS應用開發涉及的核心知識點進行詳細剖析,分為Swift、編譯器、iOS中的大前端技術三大章,從應用、進階、未來三方面全方位剖析iOS開發。第1章從Swift源碼和第三方庫源碼層面來分析iOS開發在實際工作中的常用核心知識,包括數據類型、編程範式、內存管理、網路處理、頁面布局、完整的轉譯器和解釋器等內容。第2章通過分析LLVM源碼、編譯后的可執行文件內部結構、鏈接器來講解iOS開發進階知識,同時介紹在實際工作中的應用場景和示例。第3章介紹在未來的iOS「大前端浪潮」中需要掌握的核心知識,包括 JavaScriptCore、WebCore等。
    本書適合對iOS有興趣的開發人員學習,也適合經驗豐富的iOS開發者和對編程語言本身有興趣的人員參考。

作者介紹
戴銘|責編:官楊
    戴銘,阿里巴巴高級技術專家,滴滴出行前技術專家。有大量億級APP工程架構、性能優化相關實戰經驗。

目錄
第1章  Swift
  1.1  Swift簡介
  1.2  泛型
    1.2.1  類型約束
    1.2.2  關聯類型
    1.2.3  類型擦除
    1.2.4  Where語句
    1.2.5  泛型和Any類型
  1.3  集合
    1.3.1  基本概念
    1.3.2  迭代器
    1.3.3  Sequence協議
    1.3.4  Collection協議
    1.3.5  Map
    1.3.6  flatMap
    1.3.7  Reduce
    1.3.8  Array
    1.3.9  弱引用的Swift數組
    1.3.10  Dictionary
  1.4  協議式編程
  1.5  鏈式編程
  1.6  Swift內存管理
    1.6.1  內存分配
    1.6.2  Swift派發機制
    1.6.3  基本數據類型內存管理
    1.6.4  struct內存管理
    1.6.5  class內存管理
    1.6.6  協議類型內存管理
    1.6.7  泛型的內存管理
  1.7  JSON數據的處理
    1.7.1  使用JSONDecoder
    1.7.2  CodingKey協議
    1.7.3  JSONDecoder的keyDecodingStrategy屬性
    1.7.4  枚舉定義block
    1.7.5  inout
  1.8  網路請求
  1.9  自動布局SnapKit庫分析
    1.9.1  給誰做約束
    1.9.2  如何設置約束
    1.9.3  設置完約束后如何處理
  1.10  用Swift實現一個簡單的語言轉譯器
    1.10.1  轉譯器簡介
    1.10.2  詞法分析器
    1.10.3  語法分析器
    1.10.4  遍歷器
    1.10.5  轉換器
    1.10.6  代碼生成器
    1.10.7  Scheme的其他特性
    1.10.8  Babel
  1.11  用Swift開發一個簡單的解釋器

    1.11.1  四則運算
    1.11.2  算術表達式
    1.11.3  中間表示
    1.11.4  變數
    1.11.5  屬性
    1.11.6  靜態檢查
第2章  編譯器
  2.1  LLVM簡介
  2.2  編譯流程
  2.3  使用clang命令編譯.m文件
    2.3.1  構建Target
    2.3.2  Target在構建過程中的控制
  2.4  clang static analyzer
  2.5  IR代碼
    2.5.1  IR結構
    2.5.2  LLVM IR 優化
    2.5.3  SSA
  2.6  clang 前端組件
    2.6.1  庫的介紹
    2.6.2  使用libclang進行語法分析
  2.7  Driver
    2.7.1  Driver的工作流程
    2.7.2  Parse
    2.7.3  Pipeline
    2.7.4  Action
    2.7.5  Bind
    2.7.6  Translate
    2.7.7  Jobs
    2.7.8  Execute
  2.8  clang attribute
  2.9  clang警告處理
  2.10  通過LibTooling控制語法樹
  2.11  clang插件
  2.12  LLVM Backend
    2.12.1  CodeGen階段
    2.12.2  SelectionDAG
    2.12.3  Register Allocation
    2.12.4  Code Emission
  2.13  LLVM優化
  2.14  Swift編譯
  2.15  編譯後生成的二進位內容Link Map File
  2.16  編譯後生成的dSYM文件
  2.17  Mach-O文件
  2.18  如何利用Mach-O
    2.18.1  列印堆棧信息,保存現場
    2.18.2  通過hook獲取更多信息的方法
    2.18.3  hook msgsend方法
    2.18.4  統計方法調用頻次
    2.18.5  找出CPU使用的線程堆棧
    2.18.6  Demo

  2.19  dyld
  2.20  LLVM工具鏈
    2.20.1  獲取LLVM
    2.20.2  編譯LLVM的源代碼
    2.20.3  LLVM源代碼工程目錄介紹
    2.20.4  lib目錄介紹
    2.20.5  工具鏈命令介紹
第3章  iOS中的大前端技術
  3.1  大前端技術簡介
  3.2  Weex實現技術
    3.2.1  將iOS工程集成WeexSDK
    3.2.2  自定義端內能力的Module
    3.2.3  讀取用JavaScript寫的Weex內容
    3.2.4  從Vue代碼到 JS bundle
    3.2.5  在端內運行JS bundle的原理
  3.3  JavaScriptCore
    3.3.1  JavaScriptCore介紹
    3.3.2  JavaScriptCore全貌
    3.3.3  JavaScriptCore與WebCore
    3.3.4  詞法、語法分析
    3.3.5  從代碼到JIT的過程
    3.3.6  分層編譯
    3.3.7  類型分析
    3.3.8  指令集架構
    3.3.9  JavaScript
  3.4  WebCore
    3.4.1  瀏覽器歷史
    3.4.2  WebKit全貌
    3.4.3  WTF
    3.4.4  Loader
    3.4.5  HTML詞法解析
    3.4.6  HTML語法解析
    3.4.7  構建DOM Tree
    3.4.8  CSS
    3.4.9  RenderObject Tree
    3.4.10  Layout

  • 商品搜索:
  • | 高級搜索
首頁新手上路客服中心關於我們聯絡我們Top↑
Copyrightc 1999~2008 美商天龍國際圖書股份有限公司 臺灣分公司. All rights reserved.
營業地址:臺北市中正區重慶南路一段103號1F 105號1F-2F
讀者服務部電話:02-2381-2033 02-2381-1863 時間:週一-週五 10:00-17:00
 服務信箱:bookuu@69book.com 客戶、意見信箱:cs@69book.com
ICP證:浙B2-20060032