謹以此書獻給相信“努力有用”的你
by 大史不說話
《 前端跨界開發指南:JavaScript工具庫原理解析與實戰》
先做個自我介紹
我是大史不說話,是一名前端工程師,一個相信“努力有用”的、不太聰明的、行動力還可以的程序員。曾經因為一篇《10000小時后,我從外包走進了字節跳動》而出圈,被朋友們戲稱為“萬時大佬”😂。我2017年走進前端領域,2018年開始技術寫作。
為什么寫這本書
一半好奇心,一半強迫癥
早在正式成為前端工程師之前,我就以個人開發者的身份利用框架和第三方服務實現過完整的產品交付,這樣的經歷帶給我極大的成就感,以至于在剛成為前端工程師的時候,其他同學都致力于討論框架、源碼和前端工程化的時候,只有我像個孩子似的樂此不疲地到處搜羅“JavaScript工具庫”,想知道前端除了開發頁面以外還能做哪些有趣的事情,漸漸地我才知道,原來世界各地的前端工程師早就在嘗試把JavaScript應用在跨平臺開發、桌面應用開發、命令行工具、AR、VR、音視頻、游戲開發、神經網絡、物聯網等等各種不同的領域,這時我才知道把“前端”等同于“頁面工程師”這種觀點真的是有些無知。
當周圍的同事大多都在努力提升自己的“技術深度”時,我卻秉持著“好讀書,不求甚解”的精神在技術世界里玩得不亦樂乎,感覺這個也好神奇,那個也好有趣。我在自己的技術博客開了一個專欄——《一統江湖的大前端》(也就是本書的前身),希望在這里記錄并分享自己在探索 JavaScript 的花花世界時的反思和收獲,在那時的意識形態里,前端技術首先應該是帶給我快樂的,其次才是謀生的手段。當連載寫到第7篇的時候,被編輯老師發現了,于是才有了今天的這本書。
寫書的另一半原因大概是輕度的強迫癥吧,在學習的過程中免不了需要查資料,網上很多文章也都是抄來抄去的,你經常會發現那些比較簡單的知識在很多文章里被翻來覆去地講,但那些真正令自己困惑的細節卻很難找到答案,同類的事情發生得多了,反而容易讓人變得自我懷疑。很多文章里展示一些代碼片段(現在可以直接接沙箱程序去運行,就方便多了),而當你嘗試把這些代碼粘貼下來去運行時,可能就會得到各種各樣莫名其妙的報錯,初學者往往很難搞清楚到底是博主提供的代碼有問題,還是某個工程配置或是插件導致了錯誤,結果就變成了“道理都懂,就是Run不起來”的尷尬境地。這種“一知半解”的體驗對我來說真的太難受了,于是給自己立了Flag,下定決心對常見的前端技術進行深入學習,并在后續的寫作中都盡量提供完整可運行的示例代碼。我一直相信,那些困擾自己的問題,絕不可能只困擾著我一個人。
看完本書能收獲什么
這是一本致力于拓展前端技術廣度的書籍,我在書中挑選了30多個經典的JavaScript工具庫,對它們進行了詳細地解析,從基本的使用方式到設計原則,從原理源碼到周邊知識,希望為讀者呈現出一個有深度、有廣度的立體的JavaScript世界。全書分為6個大的部分,內容涵蓋基礎工具、圖形學、多媒體、跨端開發、游戲開發、人工智能、物聯網:
第一部分 基礎篇(第1~10章)
筆者挑選了前端工程師日常開發中經常用到的工具,內容主要涉及編寫Mock數據、服務端開發、靜態代碼檢查、模塊管理工具、實用工具庫、函數式編程等內容,幫助初級前端工程師了解日常使用工具的原理和最佳實踐,提升開發能力。
第二部分 圖形學篇(第11~15章)
主要介紹前端如何實現流程圖繪制、Canvas技術使用、數據可視化、SVG技術及3D渲染相關的知識及實戰指南,幫助讀者了解2D/3D渲染相關的知識,為進軍元宇宙打好基礎。
第三部分 多媒體篇(第16~20章)
主要介紹如何在網頁中繪制PPT、做高性能動畫、音頻處理和視頻處理相關的知識和應用,在短視頻技術流行的當下,一線互聯網公司中有很多前端工程師專門從事音視頻相關領域的研發工作,本章的內容能夠幫助你建立對這個細分領域的基本了解。
第四部分 跨端開發篇(第21~25章)
主要介紹如何使用JavaScript編寫命令行工具、shell自動化腳本、跨端Hybrid應用、桌面應用,以及如何發送二進制消息或通過控制反轉來實現代碼解耦,這部分內容旨在幫助讀者提升工程化能力和基本的跨端跨界開發能力。
第五部分 游戲開發篇(第26~28章)
主要介紹游戲開發相關的基本知識、開發技巧以及物理引擎相關的知識和實踐,每一章都提供了完整的可運行代碼和美術素材。
第六部分 跨界實踐篇(第29~31章)
主要介紹如何使用JavaScript來實現人工神經網絡,利用工具庫實現了一個可以語音控制的“吃豆人”游戲,并講解了如何使用JavaScript來進行物聯網的開發。
希望你能夠看到,前端技術不僅僅是一個需要持續優化打磨的生產工具,更是一個能夠陪你一起探索技術世界的萬花筒。
瀏覽器,并不是前端的邊界。
大咖推薦
十年時間里,前端工程師從所謂的“頁面仔”發展為“大前端工程師”,前端技術也從滿足“兼容IE和頁面交互”的基本應用場景延伸為跨越多端且涵蓋Server、iOS、Android、PC、AR、VR、圖形學、WebAI、IoT等領域的綜合技術。WebGPU、WebAssembly、WebWorker、Node等技術的興起更為前端工程師帶來了許多的可能性。我相信,隨著Web3.0時代的到來,前端工程師會有更廣闊的發展空間。本書詳細講解了前端跨界的優秀工具庫,讓你一步到位、直接上手體驗開發流程,是一本不可多得的好書。
袁志佳 京程一燈CEO
這是一本詳細解析前端工具庫原理及實戰技巧的圖書,書中針對精選工具庫的背景知識、設計理念、代碼案例及特點進行了全方位的講解,帶你步入 JavaScript的神奇世界。多年之前,我也曾寫下類似的大綱,打算出一套源碼導讀及實戰的課程,但一直沒有精力也缺乏毅力來做這件事。今天看到大史撰寫了一系列精彩有趣的代碼故事,十分欽佩他的執行力。書中內容由淺入深,與前端工程師的日常工作結合頗多,適合不同層次的讀者。感謝大史為前端社區帶來這樣一本立意新穎的書,也幫我圓了多年前不曾實現的技術寫作夢!
Scott 前端早早聊大會創始人
近年來前端技術發展迅速,前端生態非常繁榮,隨之而來的則是日漸龐雜的知識體系。大部分前端開發人員并非科班出身,在進入前端領域并掌握主流開發技術后,常常會因為不知道如何進一步提升自己的技能和視野而感到困惑。這本《前端跨界開發指南:JavaScript工具庫原理解析與實戰》從優秀的JavaScript工具庫入手,對其使用方式、設計原則、底層原理和周邊知識等進行了詳細的剖析,為讀者展現了一個豐富多彩的JavaScript世界。如果你對前端的理解也僅限于“使用框架還原頁面”,那么請不要錯過本書,它會帶你領略JavaScript的無限可能。
杜文(wendux) 前端技術專家、《Flutter實戰》作者
看了這本“前端框架辭典”,很是感慨,要是2015年就有這樣一本書,那我在開發公司的交易管理系統時,就不用在“哪個框架能實現某某功能”這類問題上花費大把時間了。而你是幸運的,有了這本書,你可以快速找到幫你解決問題的框架,大大提升工作效率。
安曉輝 《職業復盤》《大話程序員》等圖書作者
適讀人群
如果你是一名前端初學者
那么我真誠地向你推薦這本書,相信它能夠有效地幫助你擴展技術視野,進一步提升技術能力;
如果你是一名資深前端人
希望你能把它推薦給其他需要的朋友,幫助他們在肉眼可見的就業低潮期厚積薄發,靜待花開;
如果你不是前端工程師
這本書或許也適合你,因為只需要基本的JS知識,就可以快速了解前端技術的應用場景,做好跨界知識儲備。
規則:在這篇文章下留言任意內容。
從本文留言中隨機挑選一位包郵送書,另外在我的源碼共讀筆記群(寫了筆記可進筆記群)。抽獎送出其他幾本(福利傾斜)。
分別是提交過1+筆記和5+筆記的群。報名進群的人有超過5000+人。可以發現:寫了筆記就超過幾千人!!!可是就是沒有人寫。
沒參加的可以加我微信?ruochuan12 參加。
開獎時間:8月8日(下周一)晚8點。
點擊閱讀全文購買