《Disney +》 迪士尼、Marvel、彼思、星球大戰…  帥氣×萌!Razer與「HELLO KITTY AND FRIENDS」聯名周邊登場!   SEGA與LEGO首度聯乘!「刺猬索尼克」的「碧綠丘陵地帶」將於LEGO裡重現!   「矢琶羽」&「朱紗丸」參戰決定!「鬼滅之刃 火之神血風譚」免費更新第2彈情報公開!   《NieR Replicant ver.1.22474487139…》實體版開放預購   萊莎新造型!「萊莎的煉金工房」系列累積銷售 100 萬套紀念服裝免費提供!   特別訪談《尼爾:人工生命》的作曲家岡部啓一先生,暢談新舊版《人工生命》的樂曲製作祕辛!   今天發售!「街頭霸王V 」發售紀念活動開始!   「異度神劍2」焰/光將參戰「大亂鬥SP」!・・・那個雷克斯呢? 

前端工程師必備的 5 個最佳開發工具

商業

原文作者 Arnaud Breton 為全端工程師,特別專注於前端和使用者經驗,這篇文章出自於 mention blog。以下內容由作者第一人稱撰寫。

過去幾年一直不斷地提到 Web 應用新世代的成長,這些 App 內容變得越來越豐富,帶動了前端整體的複雜度大幅增加。

像是 Backbone(藉由提供模型)、AngularJSEmberJS 框架都是創造新 App 非常好的框架,增強了所有 Web 的功能;同時,Web 程式語言 Javascript 在普及度和成熟度上已經進步了非常多,而且還能和 NodeJS 在後端協同工作。

但為了能持續面對複雜度的新挑戰,開發者已經創造更多工具使整體開發過程更加流暢,從測試框架到分析工具,這些成熟又有用的工具把最棒的體驗帶給我們的使用者。

就如同剛剛所提到的,我們喜歡能夠幫助我們提供最棒品質的軟體,同時也能使得生活變得更加簡單方便,本文要分享給大家 5 個我們每天面對挑戰所使用最棒的工具和框架:

  • Chrome dev tools

這是目前最好的前端開發工具!

Chrome 自從它誕生後,就已經大量投資在開發者工具軟體,至今仍不斷的在改善它,每一個發布會(每六周一次)都會伴隨著它自己的全新開發功能。

這個開發工具是一個完整的多元軟體套件,你可以實時編輯 DOM(HTML)/CSS,當進行一個深入的效能分析時,可以一步步找出 Javascript 的錯誤,甚至能增加終端機指令。感謝有它,近來解決了回報效能的問題

DOM/CSS 編輯器是非常強大的工具,能即時回饋給你的團隊,能夠在 UI/UX 的新功能上很快地執行迴圈。

官方網站和 Google Developers YouTube 管道都是資訊的金礦,比如說,命令列的 API(應用程式介面,Application Programming Interface)包含非常多有用的指令,比如說從控制台功能中的複製指令,複製到剪貼簿上。

許多詳細的使用手冊同樣在 HTML5 Rocks 裡都能參考。如果你的好奇心很強,並且想了解瀏覽器究竟是如何運作的,那麼你會在這些教學裡學到很多東西,幫助你全面掌控開發週期。

除了上述的之外,最重要的是,透過網絡工具你能知道現在在介面之下到底發生了什麼事情,以及優化你的下載速度,時間軸會以更深入的角度來告訴你瀏覽器做了哪些事情。

如果你跟我們一樣充滿好奇心,你可以學到更多關於瀏覽器、Web 是如何運作的,如此一來,你就可以反過來完整的操控應用程式的生命週期。

以我個人觀點來說,如果它們依照現在的路線持續發展下去,肯定會變成 Web 供應開發商最終的IDE(Integrated Developer Environment),最強大的放入整合發展空間。

  • Grunt

說到工作自動化,Grunt 是我們的首選。

它是 Javascript 跑任務的專家,針對一般的任務提供大量整合性的外掛程式,擴展程度仍很高,提供很多選項讓你能夠自由的寫任何符合需求的工作內容。最棒的是,你能夠將這些任務結合創造更強大而複雜的工作。Grunt 的範疇超出僅僅是自動化前端相關的工作,舉例來說,當我們在開發時,我們利用它來測試 PHP:

我們同樣也用它暫時解決在 Vagrant 中自動監測與保護的 rsync(Unix 下的一款應用軟體)一些效能問題,這是近來才被引進的方法。Grunt 提供很廣泛的外掛程式,從瀏覽檔案夾、診斷訊息、編譯程式到最簡化你的程式碼。它的句法是一致且容易學習的,可以讓瑣碎的工作變得簡單。

  • LiveReload

你有沒有算過,每天平均有多少次會按鍵盤上的重新整理鍵呢?非常多,對吧!

LiveReload 是一個簡單的 Web 協議,不論檔案在哪時候被修改而觸發事件,客戶都能自行處理事情;客戶端和伺服器端都能進入各種不同的實作。

說到 Chrome 的擴充功能,Chrome 商店就是一個很強大的例子。去體驗看看吧,你一定能發現很多讓生活變得更簡單的東西。

以下幾個是我們最喜歡的:

1. WhatFont:你可以透過它知道在任何網站上內容的字型是什麼,當你在找最適合的文字編排時,或是重新調整美化你的字型風格時,它是非常好用的小工具。

2. Page ruler:另一個很好用的應用程式,主要是因為任何前端開發者,都對像素要求百分之百的完美。

3. Proxy SwitchySharp:說到找出在地化資訊錯誤最佳的工具就非它莫屬,在地化資訊是哪些?比如說電話號碼、預設貨幣等等。

想知道更多嗎?在 Chrome App 中你能得到更多資訊!

  • Mocha/Chai/Sinon

測試測試,測試到你很想吐嗎?這是很常發生的,因為需要一大堆引導指令,而且在前端開發的初始階段沒有設​​計好測試,那麼後面的工作往往會變得非常困難。

很幸運的是,我們現在有很棒的測試架構,就和你已經在使用的其他語言一樣,非常的有用和強大。兩個主要的框架是 JasmineMocha

過去我兩個都有使用過,最終選擇了後者,Mocha。它最主要的優勢在於,當你必須和非同步的編碼一同運作的時候,在 Javascript 的發展中它最普遍使用的方法。比如說,舉一個非常簡單的例子,這裡有兩個不同的規格,一個由 Jasmine 寫,另一個則是 Mocha/Chai

Jasmine 的句法選擇是預設的,並以官方的文檔作說明,非官方的擴充功能增進了 Jasmine 非同步特色,提供和 Mocha 一樣的功能。花一些時間,來了解這個範例以及觀察 Mocha 的語法有多清楚。

不像 Jasmine,Mocha 只提供行為的測試架構,更多關於 BDD(Behavior-driven development),而不是假物件(mock,主要存在的目的是協助單元測試程式可以順利進行)或是斷言(assertion,放在程式中的一階邏輯,如果一個結果為真或為假的邏輯判斷式)架構,因為它整合專用架構非常棒,就像是 Chai 和 Sinon,幾乎沒什麼不好的地方。Sinon 有完整的功能來 mock 假物件和 stub 假物件(用途和 mock 很接近)。

舉例來說,你可以如何評估的方法,一直以來都使用 Sinon 的間諜類型(擷取自很傑出的文檔):

Chai 的功能是在斷言這方面是非常傑出的,以和平常的語言非常相似的語法,舉例來說你可以看到以下的程式碼,就知道它很清楚簡單:

  • Karma

最後一個是 Karma,Karma(一個測試程式是否符合需求的測試工具)是 Javascript 的程式測試工具,由 AngularJS 的團隊寫的,現在你可以徜徉在 Mocha、Chai 和 Sinon 中寫測試程式,何不同時用它們持續地測試、跑程式,給你實時的回饋呢?

Karma 可以讓你從你的工作站到持續整合製造(CI,Continuous Integration)執行你的測試,它能同時發布到多個瀏覽器(Chrome、Firefox、IE 和 PhantomJS 等等),除此之外,還能跑你的測試來挑戰它們,給予你對你的程式碼最大的信心。

當然,我們甚至還沒有提到任何文字編輯器,SublimeTextVim 我們都有用,它們是我們生產力最最重要的基礎。

然而在作開發的過程中,最真實的快樂就是你第一次寫的程式進行監測然後得到結果,這是一種實時的成就感,然後接下來你就能將它們發佈到瀏覽器上。

現在你已經非常有能力成為前端的忍者,在你的開發旅途中已經準備好要迎接每個挑戰了。但如果您剛好是一名前端工程師,也歡迎您在下面和大家分享喜歡的工具。

延伸閱讀:

聽音樂能提高 Coding 神力!FB、Snapchat 工程師公開專屬歌單

工程師眼裡的 PM 分成兩種:有腦和沒腦的,後者佔 90%

(資料來源:TheNextWeb;圖片來源:TheNextWeb

Source: techorange.com

隨機商業新聞

Disney Plus