《JavaScript Web應用開發》作者Nicolas:恰巧,愛好變職業(圖靈訪談)
訪談嘉賓: Nicolas Bevacqua
Nicolas Bevacqua,阿根廷人,是一位富有激情的JavaScript工程師,熱衷於打造健壯的構建流程和清晰的應用架構。喜歡談論關於JavaScript、效能、可維護程式碼和開放網際網路的所有內容,曾多次在技術大會上發表web效能、ES6方面的知識分享。
2017年6月24日,Nicolas作為重量級嘉賓參加了“騰訊web前端大會”,分享《JavaScript的未來編寫方式》並參加圖書籤售活動。
什麼時候開始程式設計的?
大概10歲的時候,我上過一些學習Flash的課,也做些網站但純屬是為了樂趣。到了高中的時候,我開始做一些更有趣的專案,比如玩一款多人線上的角色扮演遊戲——網路創世紀。執行自己開發的伺服器,實現遊戲的特徵。這段時間裡,我學會了C#。大概做了兩年的時候,一個朋友告訴我“嘿,人們是願意花錢讓你做這些事情的。”這對於我來說太酷啦!是的,我想,這就是我如何開始程式設計的。
你有沒有想過,把愛好變成職業以後,會破壞愛好帶來的那份樂趣?
不,恰恰相反。我從來沒有覺得它是某種工作。我也不會因為把愛好變成了工作,就不再享受這份愛好。做自己喜歡的工作,這一點很重要。只有這樣,你工作的時候才不會感到痛苦。
所在居住地的技術圈是什麼樣子的?
五年前的技術社群要小得多。不過,現在我們有了Node.js大會、有了JS大會等,確實在慢慢變大。我所聯合創辦的Node.js大會是去年開始的。今年,我們依然會組織。我們希望把它變成一個定期舉辦的大會,人們才可以更多地參與到技術社群,而不僅僅是每年來那麼一次,然後就完全忘了。
JavaScript中有很多的框架。如何才能跟上趨勢,不被技術落下?
我們談話的這個時候,可能就有一個框架出現。重要的是,我們的主要任務不是跟隨那些耀眼的事物,而是更多地瞭解趨勢,什麼是對我有用的、有幫助的。
如果兩年前開始的一個專案還在使用Angular,我就不需要認為Angular比React落後,Angular肯定會糟糕一些。是否使用某個框架取決於你的要求,總是去追求最新的技術是件很危險的事情。在一段時間內堅持使用同一種工具,講究工具的一致性是很有價值的。
此外,不被新技術落下也是很重要的。你可以,但是不建議你還在使用jQuery和HTML做網站。
關鍵是找到合適的平衡點。不斷豐富自己的知識,如果有時間就去嘗試一下。千萬不要因為是新技術就盲目嘗試。
你能按照時間順序給我們提供一些JavaScript的學習建議嗎?
首先,要弄清楚你適合哪種學習方式。有些人喜歡看知識截圖或者視訊演講。對於我來說,我在視覺學習方面的能力很差勁。我需要自己研讀。如果讓我看一段視訊,我會想要了解任何一種細節性的知識,反反覆覆看四遍。換做一本書或是一篇文章,我就可以很快掌握。我想說的是,你應該弄清楚自己是一個視覺型學習者,還是喜歡文字型內容的學習者。
然後,你就可以開始真正地學習JavaScript的基礎知識:句法、語法,等等。有了堅實的基礎,你就應該進入ES6的學習,掌握些特徵。與此同時,你可能專注於某個單一的框架,Angular或者React或者其他任何一個框架,但一定要做到精通。你可以閱讀所有的文件並瀏覽檔案直到完全瞭解它的工作原理。
我用自己編寫的框架來學習事物是如何工作的。這是一個相當有效的方法,可以驗證些東西、編寫些技術工具。如果非要推薦一種學習資源,它應該是https://12factor.net。這是一個網站,它列出了從安全性、可擴充套件性等方面出發的12種不同的應用程式設計原則。我認為,人們應該瞭解它。
目前,你正在編寫《模組化的JavaScript》系列圖書。為什麼會關注模組化?
早期的時候,JavaScript基本上就是複製貼上“如何做”。人們在網上找到一些程式碼片段,複製貼上到他們的網站,然後結束一天的工作。隨著語言的發展,這種情況將不再適用。
人們變得更加專業,開始開發一些JavaScript應用程式。現在的JavaScript應用程式中有很多的模組。起初,這些模組都是相當大的。現在,編寫小模組變得簡單得多。
在我的系列叢書中,我試著教大家如何編寫出簡潔的、單目的模組。原因是,人們希望編寫出專業的模組,這樣就可以重複使用、測試,甚至在需要的時候給它提供官方文件。最重要的是保證架構方面的可擴充套件性。當你有5個不同的模組,每個模組有5000行程式碼的時候,事情會很難處理。如果你有5000個模組,每一個都是100行的程式碼長度,那麼這就簡單多了。
本系列主要討論如何獲得這些高度模組化的應用程式。這一系列內的後續圖書會討論測試及部署等內容。
更多精彩,加入圖靈訪談微信!
相關文章
- 《JavaScript Web應用開發》作者Nicolas Bevacqua訪談問題徵集(圖靈訪談)JavaScriptWeb圖靈
- 《Flask Web開發》作者Miguel Grinberg訪談問題有獎徵集(圖靈訪談)FlaskWeb圖靈
- 《JavaScript快速全棧開發》作者Azat Mardanov訪談問題有獎徵集(圖靈訪談)JavaScript全棧圖靈
- 《Python Web開發》作者Harry Percival:TDD就是微小而漸進的改變(圖靈訪談)PythonWeb圖靈
- [英]《Python Web開發》作者Harry Percival:TDD就是微小而漸進的改變(圖靈訪談)PythonWeb圖靈
- APICloud CTO鄒達:用Web技術加速原生應用開發(圖靈訪談)APICloudWeb圖靈
- 《Python Web開發:測試驅動方法》作者Harry Percival訪談問題有獎徵集(圖靈訪談)PythonWeb圖靈
- 《R包開發》作者Hadley Wickham訪談問題有獎徵集(圖靈訪談)圖靈
- Dave Wooldridge:蘋果應用開發與營銷(圖靈訪談)蘋果圖靈
- [英]Dave Wooldridge:蘋果應用開發與營銷(圖靈訪談)蘋果圖靈
- 《機器學習》作者Peter Flach訪談問題有獎徵集(圖靈訪談)機器學習圖靈
- 《用資料講故事》作者Cole Knaflic訪談話題有獎徵集(圖靈訪談)圖靈
- 《R包開發》作者Hadley Wickham:資料結構“神童”(圖靈訪談)資料結構圖靈
- 《你不知道的JavaScript》作者Kyle Simpson訪談問題有獎徵集(圖靈訪談)JavaScript圖靈
- 紀念阿蘭·圖靈誕辰,評選“精彩·好訪談”(圖靈訪談)圖靈
- 《我心愛的雷龍》作者Brian Switek:Bones, a time capsule of a life(圖靈訪談)圖靈
- 《Android系統服務開發》作者金大佑訪談問題有獎徵集(圖靈訪談)Android圖靈
- 《演算法圖解》作者Adit Bhargava訪談問題徵集(圖靈訪談)演算法圖解圖靈
- 《特斯拉》作者卡爾森教授訪談問題有獎徵集(圖靈訪談)圖靈
- 《釋出!》作者Michael Nygard訪談問題有獎徵集(圖靈訪談)圖靈
- 《七週七併發模型》作者Paul Butcher訪談問題有獎徵集(圖靈訪談)模型圖靈
- 鍾冠賢:iOS開發之路(圖靈訪談)iOS圖靈
- 《圖靈的祕密》作者Charles Petzold:我眼中的圖靈機和Windows(圖靈訪談)圖靈Windows
- 《軟體工程師職業生涯完全指南》作者訪談軟體工程工程師
- 《CSS揭祕》作者Lea Verou訪談問題有獎徵集(圖靈訪談)CSS圖靈
- 《鳳凰專案》作者基恩·金訪談問題有獎徵集(圖靈訪談)圖靈
- 《Docker開發實踐》作者曾金龍:迅雷雲的Docker開發實踐(圖靈訪談)Docker圖靈
- 《學習響應式設計》作者Clarissa Peterson訪談問題有獎徵集(圖靈訪談)圖靈
- 圖靈訪談圖靈
- 《CSS 揭祕》作者Lea Verou:我喜歡分享開源的行業文化(圖靈訪談)CSS行業圖靈
- 有獎 |《人工智慧簡史》作者尼克訪談話題徵集(圖靈訪談)人工智慧圖靈
- 《AngularJS 2 權威指南》作者Nate Murray訪談問題徵集(圖靈訪談)AngularJS圖靈
- 《跟阿銘學Linux》作者阿銘訪談話題有獎徵集(圖靈訪談)Linux圖靈
- 《禽獸心理學》作者Anna Salter訪談問題有獎徵集(圖靈訪談)圖靈
- 《圖靈的祕密》作者Charles Petzold訪談問題徵集圖靈
- 《網際網路思維的企業》作者Dave Gray訪談問題有獎徵集(圖靈訪談)圖靈
- 《釋出!》作者Michael Nygard:質疑軟體開發最基本的假設(圖靈訪談)圖靈
- 《七週七併發模型》作者Paul Butcher:用併發計算實現最大效率(圖靈訪談)模型圖靈