《JavaScript Web應用開發》作者Nicolas:恰巧,愛好變職業(圖靈訪談)

劉敏ituring發表於2017-07-27

訪談嘉賓: Nicolas Bevacqua

enter image description here

Nicolas Bevacqua,阿根廷人,是一位富有激情的JavaScript工程師,熱衷於打造健壯的構建流程和清晰的應用架構。喜歡談論關於JavaScript、效能、可維護程式碼和開放網際網路的所有內容,曾多次在技術大會上發表web效能、ES6方面的知識分享。

2017年6月24日,Nicolas作為重量級嘉賓參加了“騰訊web前端大會”,分享《JavaScript的未來編寫方式》並參加圖書籤售活動

enter image description here


英文版

什麼時候開始程式設計的?

大概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行的程式碼長度,那麼這就簡單多了。

本系列主要討論如何獲得這些高度模組化的應用程式。這一系列內的後續圖書會討論測試及部署等內容。


更多精彩,加入圖靈訪談微信!

相關文章