天天看點

邊城工具集:Fiddle 類工具助力線上測試和協作代碼

邊城就是我,我熱愛程式設計!

我在《JavaScript 全棧工程師養成記》中基于 JavaScript 介紹了較為完整的軟體開發知識,卻沒有提及日常使用的各種工具。我使用的工具集中大部分都會與程式設計相關,今天跟大家分享一些用于分享代碼的線上工具。因為這些工具的名稱好多都包含“Fiddle”,是以統稱為 Fiddle 類工具。

因為這些工具的名稱好多都包含“Fiddle”,是以統稱為 Fiddle 類工具。順手查了下詞典,心都涼了半截!難道 fiddle 就這麼不正經嗎?

fiddle

英 [ˈfɪdl] 美 [ˈfɪdl]
  • n.

    小提琴;[航]桌面櫃;〈非〉胡扯,無聊;欺詐,欺騙行為

  • vi.

    拉小提琴;神經質地擺弄手指或手;瞎搞,胡混;幹預,篡改

  • vt.

    用提琴演奏(樂曲);欺詐,欺騙;僞造

實際上 fiddle 這個詞有不斷擺弄和調整、調校的意思。是以這裡分享的 Fiddle 類工具有讓你不斷修改、調整、試錯的功能,而且他們中的大部分還具有分享和協作的功能,可以讓大家一起來修改程式。

JS Fiddle

邊城工具集:Fiddle 類工具助力線上測試和協作代碼

JS Fiddle 是一款線上嘗試 HTML/JavaScript/CSS 的工具。換句話說,它用于嘗試和分享前端代碼。我在社群回答需要呈現頁面的前端問題時,非常喜歡使用 JS Fiddle 來分享代碼。有一些問答社群,比如 SegmentFault,可雙通過粘貼一個 Fiddle 的位址,自動完整的嵌入這個 Fiddle,就像這樣

邊城工具集:Fiddle 類工具助力線上測試和協作代碼

作為一個資深答者,我也很希望提問的同學可以将遇到的問題寫在一個 Fiddle,以便于回答問題的人可以基于産生問題的代碼和環境進行調試。

JS Fiddle 除了支援最基本的 HTML/JavaScript/CSS 之外,還支援

  • 多種 HTML/XHTML 版本
  • CSS 相關
    • SCSS
  • 多種前端語言
    • TypeScript
    • CoffeeScript
    • Babel + JSF
  • 多種 JavaScript 庫
    • Vue
    • React
    • AngularJS
    • jQuery
    • ……
  • 不同的腳本位置
    • On Load
    • On DOM Ready
    • </head>

    • </body>

如果需要使用的資源不在 JS Fiddle 預備的資源之内,可以在從左側面闆的

Resources

處添加資源。添加資源支援粘貼 URL(最好是 HTTPS 的)或者直接輸入資源名稱,它會在 CDNJS 中搜尋比對的資源供選擇。

邊城工具集:Fiddle 類工具助力線上測試和協作代碼

JS Fiddle 界面右上角的

Settings

可以配置布局、顯示網絡和代碼風格等;左上的

Run

在完成代碼之後檢視運作效果(也可以配置成自動運作);而

Run

右邊的

Save/Update

用來儲存和分享 Fiddle —— 不得不贊的是 Fiddle 可以多版本并存,它每次更新都會産生了一新的 URL(在 Fiddle Key 的基礎上字尾一個持續累加的數字),原來儲存的 Fiddle 并不會被覆寫掉。

JS Fiddle 的功能很強大,不過因為是國外的服務,有時候速度會稍顯遲滞。

.NET Fiddle

邊城工具集:Fiddle 類工具助力線上測試和協作代碼

顧名思義,.NET Fiddle 就是用來嘗試和分享 .NET 程式的線上工具了。它非常适合進行 .NET 代碼段的臨時性單元測試。

.NET Fiddle 支援 C#、VB.NET、F# 等語言,支援 .NET 4.5 和 Roslyn 2.0 兩種編譯工具。一般我們隻需要在預設的 Console 類型項目環境中嘗試代碼,不過 .NET Fiddle 提供的 Script 方式也是個不錯的選擇。甚至它還支援 Nancy 和 MVC 兩個 Web 架構(上圖就是 Nancy 項目示例)。

SQL Fiddle

邊城工具集:Fiddle 類工具助力線上測試和協作代碼

沒想到,SQL 也有 Fiddle 工具。SQL Fiddle 支援好幾種資料庫,而且版本都還比較新

  • MySQL 5.6
  • Oracle 11g
  • PostgreSQL 9.6
  • PostgreSQL 9.3
  • SQLite (WebSQL)
  • SQLite (SQL.js)
  • MS SQL Server 2017

寫 SQL Fiddle 分兩步:第 1 步建立表和插入試驗資料,記得完成後點選

Build Schema

按鈕執行。第 2 步寫查詢語句并執行。

Build Schema

之後,位址欄的 URL 就可以用于分享,不過這個分享隻包含鍵表相關的 SQL。如果需要分享查詢語句和結果,需要在右側完成 SQL 并執行查詢後,通過結果表格下面的

Link

連結分享。

jdoodle

邊城工具集:Fiddle 類工具助力線上測試和協作代碼

這是一個神奇的 Fiddle 工具,支援數十種語言,如果找不到更專業的 Fiddle,不妨來試試 jdoodle。不過 jdoodle 在儲存代碼之前需要先登入。

RunJS

邊城工具集:Fiddle 類工具助力線上測試和協作代碼

RunJS 是國産的前端試驗基地,和 JS Fiddle 相似。RunJS 的生态比 JS Fiddle 更好,提供了廣場和插件兩大功能區,加強了使用者之間的展示、分享和交流。

RunJS 的儲存和分享都需要事先登入,如果需要修改别人的代碼需要先 Fork。是以與 JS Fiddle 相比,RunJS 适合更純粹、更系統的代碼交流,而 JS Fiddle 則适用于臨時性協作和交流。

CodePen

邊城工具集:Fiddle 類工具助力線上測試和協作代碼

老實說我從來沒用過 CodePen。之是以把它拿出來,純粹是因為我這麼多年翻譯英文部落格的過程中,CodePen 的出境率太高了。看起來是和 RunJS 非常相似的一個工具。如果讀者們經常在外文網站分享技術,可以考慮使用這個工具。

後記

上述幾個工具用,使用頻次較高的恐怕都是前端類的 JS Fiddle、RunJS 等,但除此之外,還有一些工具的官方網站提供的試驗場,比如

  • TypeScript 的 Playground
  • Babel 的 Try it out
  • Kotlin 的 Try online

如果寫 .NET 程式,打開 .NET Fiddle 确實比打開 Visual Studio 容易一些。但是如果已經打開了 Visual Studio (2015+),它自帶的 C# Interactive 和 F# Interactive 都很不錯。

至于資料庫,我相信大家更喜歡使用專業的用戶端工具,比如 SQL Server Management Studio、HeidySQL,Navicat 等。如果需要線上分享,從這些工具裡導出 SQL 再拷貝到 SQL Fiddle 也不失為一個好辦法。

除了這次分享的 Fiddle 類工具,我還有好多日常使用的其他工具想分享給大家,将在後續部落格中陸續分享出來,請大家關注品鑒。

彩蛋

繼續閱讀