1. 程式人生 > >邊城工具集:在線 Fiddle 類工具

邊城工具集:在線 Fiddle 類工具

打開 otn 修改 行為 11g image 前端 gem 中大

邊城就是我,我熱愛編程!我使用的工具集中大部分都會與編程相關,但也不全是,今天跟大家分享一些用於分享代碼的在線工具。因為這些工具的名稱好多都包含“Fiddle”,所以統稱為 Fiddle 類工具。順手查了下詞典,心都涼了半截!難道 Fiddle 類工具就這麽不正經嗎?

fiddle

英 [?f?dl] 美 [?f?dl]

  • n.
    >小提琴;[航]桌面櫃;〈非〉胡扯,無聊;欺詐,欺騙行為
  • vi.
    > 拉小提琴;神經質地擺弄手指或手;瞎搞,胡混;幹預,篡改
  • vt.
    > 用提琴演奏(樂曲);欺詐,欺騙;偽造

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

JS Fiddle

技術分享圖片

JS Fiddle 是一款在線嘗試 HTML/JavaScript/CSS 的工具。換句話說,它用於嘗試和分享前端代碼。我在社區回答需要呈現頁面的前端問題時,非常喜歡使用 JS Fiddle 來分享代碼。有一些問答社區,比如 SegmentFault,可雙通過粘貼一個 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 中搜索匹配的資源供選擇。

技術分享圖片

JS Fiddle 界面右上角的 Settings 可以配置布局、顯示網絡和代碼風格等;左上的 Run 在完成代碼之後查看運行效果(也可以配置成自動運行);而 Run 右邊的 Save/Update 用來保存和分享 Fiddle —— 不得不贊的是 Fiddle 可以多版本並存,它每次更新都會產生了一新的 URL(在 Fiddle Key 的基礎上後綴一個持續累加的數字),原來保存的 Fiddle 並不會被覆蓋掉。

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

.NET 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

技術分享圖片

沒想到,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,不妨來試試 jdoodle。不過 jdoodle 在保存代碼之前需要先登錄。

RunJS

技術分享圖片

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

RunJS 的保存和分享都需要事先登錄,如果需要修改別人的代碼需要先 Fork。所以與 JS Fiddle 相比,RunJS 適合更純粹、更系統的代碼交流,而 JS Fiddle 則適用於臨時性協作和交流。

CodePen

技術分享圖片

老實說我從來沒用過 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 類工具,我還有好多日常使用的其他工具想分享給大家,將在後續博客中陸續分享出來,請大家關註品鑒。

在這個工具滿天飛的年代,相信你一定會找到適合自己的工具。如果你找到了,不妨在評論中分享!

最後,歡迎大家訂閱我的專欄《JavaScript 全棧工程師養成記》,這是我 20 年軟件開發生涯的經驗總結,力求通過輕松簡潔的描述和示例,以 JavaScript 為線,帶領大家了解軟件開發的全過程。

技術分享圖片

邊城工具集:在線 Fiddle 類工具