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

前端跨界開髮指南(JavaScript工具庫原理解析與實戰)/Web開發技術叢書

  • 作者:史文強|責編:楊?國
  • 出版社:機械工業
  • ISBN:9787111708049
  • 出版日期:2022/08/01
  • 裝幀:平裝
  • 頁數:412
人民幣:RMB 129 元      售價:
放入購物車
加入收藏夾

內容大鋼
    本書是位元組跳動資深前端工程師嘔心瀝血之作,也是目前市場上少有的從原理到實戰深度剖析JavaScript生態中經典工具庫的技術圖書。全書共有6篇,分別是基礎篇、圖形學篇、多媒體篇、跨端開發篇、遊戲開發篇和跨界實踐篇,書中不僅詳細介紹了JavaScript語言在瀏覽器頁面之外的不同應用場景,更從實用技巧、設計理念、原理源碼等角度對精心挑選的30多個工具庫進行了全方位的解析,希望讀者在領略JavaScript代碼之美的同時,也能拓寬技術視野。為了幫助讀者更好地理解書中所講述的內容,隨書代碼倉庫里提供了大量可運行的源碼,包括精簡版的庫重寫和完整的代碼示例。

作者介紹
史文強|責編:楊?國
    史文強,前端資深技術專家,現任位元組跳動幸福里團隊前端工程師、西安交通大學航天學院特聘軟體工程師,華為云云享專家,曾受Google GDG(Google開發者社區)邀請進行技術分享。擁有豐富的實戰經驗,擅長大型前端系統架構設計、性能優化及工程化體系建設。     活躍于各大前端技術社區,撰寫了《Node.js原理&源碼賞析》《帶著Canvas去流浪》《響應式編程的思維藝術》等多個連載專題,累計發表前端技術原創博文百余篇,曾獲2018年華為雲社區傑出貢獻獎(暨年度十大技術博主)。

目錄
前言
基礎篇
  第1章  Mock.js:如何與後端瀟灑分手
    1.1  為什麼你總是下不了班
    1.2  聯調加速
    1.3  使用Mock.js
    1.3.1  Mock.js的語法規範
    1.3.2  Mock.js實戰
    1.3.3  自定義擴展
    1.4  Mock.js的基本原理
    1.4.1  從模板到數據
    1.4.2  為Ajax請求提供Mock數據
    1.5  從Mock服務到API管理平台
  第2章  Node.js:連接
    2.1  大話Node.js
    2.1.1  Node.js是什麼
    2.1.2  Node.js能做什麼
    2.1.3  招黑的JavaScript全棧工程師
    2.2  業界用Node.js做什麼
    2.2.1  前端工程化
    2.2.2  中間層
    2.2.3  SSR引擎
    2.2.4  協作連接
    2.3  小結
  第3章  ESLint:你的代碼里藏著你的優雅
    3.1  代碼風格與破窗理論
    3.2  用editorconfig配置IDE
    3.2.1  基本語法及屬性
    3.2.2  配置實例
    3.3  使用ESLint規範編程風格
    3.3.1  配置文件和規則集
    3.3.2  ESLint插件開發實戰
    3.3.3  初學者的修行
    3.4  新秀工具Prettier
    3.5   靜態類型檢查工具的實現原理
    3.5.1  編譯語言和解釋語言
    3.5.2  編譯流程
    3.5.3  編譯簡單的JavaScript程序
  第4章  模塊演義與Require.js
    4.1   模塊化的需求推演
    4.1.1  script標籤
    4.1.2  代碼隔離
    4.1.3  依賴管理
    4.2   模塊規範大雜燴
    4.2.1  概述
    4.2.2  幾個重要的差異
    4.3  模塊化規範的兼容與工具演進
    4.4  Require.js的使用方法
    4.5  Require.js的核心原理
  第5章  Lodash.js是工具,更是秘籍

    5.1  Lodash.js是什麼
    5.1.1  概述
    5.1.2  代碼的較量
    5.2  重點API的剖析
    5.3  Lodash.js的源碼結構
    5.3.1  基本結構
    5.3.2  Lodash.js源碼的學習方法
  第6章  靜態類型檢查:Flow.js和TypeScript
    6.1  靜態類型檢查
    6.1.1  靜態類型檢查的優勢
    6.1.2  靜態類型檢查的劣勢
    6.2  Flow.js,易上手的靜態類型檢查工具
    6.2.1  Flow.js中的類型標注
    6.2.2  Flow.js的優勢
    6.3  TypeScript,另一種選擇
  第7章  用函數描述世界:Ramda.js
    7.1  本能的思考方式
    7.2  開始編碼
    7.2.1  傳統編程的實現
    7.2.2  函數式編程的推演
    7.2.3  函數式編程的意義
    7.2.4  函數式編程的基本理論
    7.3  基於Ramda.js體驗函數式編程
    7.3.1  使用Ramda.js
    7.3.2  函數化的流程式控制制
    7.4  選擇
  第8章  Rxjs:前端世界的「老人與海」
    8.1  信息管道
    8.1.1  不同的「單一職責」
    8.1.2  分散式狀態的可能性
    8.1.3  你的程序在做什麼
    8.2  數據的生產
    8.2.1  數據源的抽象
    8.2.2  設計模式的應用
    8.3  Rxjs:一切皆是流的世界
    8.3.1  Rxjs的核心概念
    8.3.2  Rxjs應用實例
    8.3.3  新版「老人與海」
    8.4  以自己喜歡的方式去編程
  第9章  不可變數據的製造藝術:Immer.js和Immutable.js
    9.1  克隆
    9.1.1  淺克隆
    9.1.2  深克隆
    9.2  元編程與Immer.js
    9.2.1  元編程
    9.2.2  Immer.js的核心原理
    9.3  Immutable.js與共享結構
    9.3.1  Immutable.js簡介
    9.3.2  Immutable.js的核心原理
    9.3.3  Immutable.js中的讀寫操作

    9.4  小結
  第10章  Day.js:算個日期能有多難
    10.1  日期和時間
    10.2  使用Day.js
    10.3  國際化應用開發中的時間處理
圖形學篇
  第11章  所見即所得的流程圖:jsplumb.js和viz.js
    11.1  方案構思
    11.2  開始使用jsplumb.js
    11.3  圖布局引擎viz.js
    11.4  所見即所得
  第12章  easel.js:一個標籤一個世界
    12.1  能玩一生的標籤<canvas>
    12.1.1  基本語法介紹
    12.1.2  動畫模式
    12.2  用easel.js操作Canvas
    12.3  工具庫的封裝技巧
  第13章  Echarts.js:看見
    13.1  數據可視化生態
    13.2  開始使用Echarts.js
    13.2.1  Echarts的正確打開方式
    13.2.2  重點API
    13.2.3  配置項
    13.3  數據可視化三步曲
    13.3.1  數據準備
    13.3.2  圖表選型
    13.3.3  細節打磨
    13.4  下一步的選擇
  第14章  SVG變形記
    14.1  矢量圖的世界
    14.1.1  SVG圖形
    14.1.2  SVG的高級功能
    14.2  SVG變形
    14.2.1  SVG動畫與CSS3動畫
    14.2.2  經典SVG動畫
    14.3  Snap.svg快速入門
    14.3.1  Snap方法集
    14.3.2  Snap.svg實戰
    14.4  取捨
  第15章  Three.js:構建立體的用戶界面
    15.1  三維世界的腳手架Three.js
    15.1.1  核心概念
    15.1.2  分解網格模型
    15.1.3  Three.js的基本使用方法
    15.2  實戰:用Three.js製作漫威電影片頭動畫
    15.2.1  特效一:平面漸離
    15.2.2  特效二:字體浮雕模型
    15.2.3  特效三:視頻紋理貼圖
    15.2.4  特效四:鏡頭轉換
    15.3  Three.js如何參與渲染

    15.3.1  相機模式和降維打擊
    15.3.2  著色器
    15.3.3  WebGL的渲染流程
    15.4  用Cinema4D玩轉跨界
多媒體篇
  第16章  Impress.js:網頁里的PPT
    16.1  Impress.js的應用及原理
    16.1.1  快速上手Impress.js
    16.1.2  Impress.js的實現原理
    16.2  詳解CSS變形和動畫
    16.2.1  幀和關鍵幀
    16.2.2  CSS補間動畫
    16.3  軟技能:PPT設計
    16.3.1  內容為王
    16.3.2  設計入門課
  第17章  Velocity.js與高性能動畫之謎
    17.1  CSS動畫和JavaScript動畫
    17.1.1  CSS動畫
    17.1.2  JavaScript動畫
    17.2  Velocity.js入門指南
    17.2.1  stagger交錯動畫
    17.2.2  在SPA框架中編寫動畫
    17.3  高性能動畫的秘密
    17.3.1  像素渲染管線
    17.3.2  迴流、重繪與合成
    17.3.3  使用合成層獲得高性能
    17.3.4  隱式提升陷阱
    17.4  小結
  第18章  扭曲時間:tween.js和jQuery Easing Plugin
    18.1  緩動函數
    18.2  貝賽爾曲線
    18.2.1  繪製原理
    18.2.2  貝賽爾曲線的特性
    18.3  使用Tween.js和jQuery Easing Plugin
    18.4  選擇恰當的緩動函數
  第19章  用Recorder.js實現語音信號處理
    19.1  百度語音識別實戰
    19.1.1  工業系統測量的預備知識
    19.1.2  改造Recorder.js
    19.2  Web Audio API的工作模式
    19.2.1  中間件式的音頻處理圖
    19.2.2  Recorder.js核心原理:Script-ProcessorNode
    19.2.3  淺談ArrayBuffer
  第20章  jsmpeg.js流媒體播放器
    20.1  視頻編解碼技術入門
    20.1.1  基礎知識
    20.1.2  初識傳輸流
    20.2  現代瀏覽器中的播放技術
    20.2.1  Media Source Extension
    20.2.2  其他格式的媒體資源

    20.3  切片技術與TS文件解析
    20.3.1  文件切片技術
    20.3.2  解析TS切片
    20.4  jsmpeg.js源碼結構和低延遲播放實例
跨端開發篇
  第21章  「懶」是第一生產力:製作命令行工具
    21.1  Commander.js與Git風格的命令行工具
    21.2  Inquirer.js與互動式命令行工具
    21.3  從工具化到工程化
  第22章  用Shelljs實現自動化部署
    22.1  Linux入門小課
    22.2  實用的跨平台工具
    22.3  實戰:使用Shelljs和node-ssh完成自動化部署
    22.4  下一站:性能監控
  第23章  跨端技術的秘密
    23.1  Cordova的前世今生
    23.2  React Native
    23.3  小程序
    23.4  原生App與網頁的通信
    23.5  小結
  第24章  protobuf與二進位消息
    24.1  前端常見的消息格式
    24.2  二進位消息格式:protobuf
    24.3  使用protobuf.js
    24.4  初探gRPC
  第25章  控制反轉與Inversify.js
    25.1  依賴為什麼需要注入
    25.2  IOC容器的實現
    25.3  AOP和裝飾器
    25.4  用Inversify.js實現依賴注入
    25.5  小結
遊戲開發篇
  第26章  基於CreateJS解構遊戲開發
    26.1  工具包CreateJS
    26.2  實戰開發:《飛龍大戰》
    26.3  性能提升技巧
  第27章  經典物理與matter.js
    27.1  經典力學回顧
    27.2  模擬的實現原理
    27.2.1  基本動力學模擬
    27.2.2  碰撞模擬
    27.3  物理引擎matter.js
    27.3.1  《憤怒的小鳥》的物理特性分析
    27.3.2  使用matter.js構建物理模型
    27.3.3  物理引擎如何牽手遊戲引擎
  第28章  Phaser:從工具到生態
    28.1  快速上手Phaser遊戲開發
    28.2  淺談框架的選擇
跨界實踐篇
  第29章  brain.js:寫給前端的神經網路入門課

    29.1  從關鍵詞開始
    29.2  認識神經網路
    29.2.1  基本結構
    29.2.2  神經元的數學模型
    29.2.3  激活函數與非線性決策邊界
    29.2.4  神經網路中的信息傳遞
    29.3  使用brain.js構建神經網路
    29.4  小結
  第30章  TensorFlow.js:開箱即用的深度學習工具
    30.1  上手TensorFlow.js
    30.2  使用TensorFlow.js構建卷積神經網路
    30.2.1  卷積神經網路
    30.2.2  搭建LeNet-5模型
    30.3  基於遷移學習的語音指令識別
  第31章  用JavaScript玩轉物聯網
    31.1  入門級物聯網「玩具」Arduino
    31.1.1  Arduino UNO R3板卡結構
    31.1.2  模擬量和數字量
    31.1.3  Arduino原生編程入門
    31.1.4  Arduino實驗示例一:按鈕控制三色LED燈
    31.1.5  Arduino實驗示例二:使用DHT11模塊採集溫濕度信息
    31.2  PC與MCU之間的串口通信
    31.3  使用Johnny-Five進行嵌入式開發
    31.3.1  初識Johnny-Five
    31.3.2  Firmata.js源碼導讀
    31.3.3  舵機風扇實驗
    31.4  小結

  • 商品搜索:
  • | 高級搜索
首頁新手上路客服中心關於我們聯絡我們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