OCaml 有 GUI 了嗎?

還沒有完全準備好,但我們正在朝這個方向努力!

OCaml,傳統上以其在系統程式設計、形式驗證以及眾多學術研究中的強項而聞名,正逐漸在 GUI 開發領域中成熟。

憑藉其強大的靜態類型、對不可變性的強調以及卓越的效能,它正逐漸成為主流 GUI 開發語言的可行替代方案。

OCaml 擁有輔助輕鬆整合和使用圖形使用者介面 (GUI) 的函式庫。它提供了一系列 GUI 函式庫,每個函式庫都具有獨特的功能和特性。這些函式庫允許開發人員為其應用程式建立使用者介面。

想幫忙嗎?

查看我們的 GitHub 儲存庫並在那裡做出貢獻。

  • 🟢:穩定、經過測試且成熟
  • 🟡:正在發展中,穩定但仍在成熟
  • 🟠:尚未穩定,但正在進展中
  • 🔴:不穩定/不完整,需要努力
  • 🆘:幾乎不存在,需要大量工作

詳細資訊

🟡 框架

這些函式庫提供了開發 GUI 應用程式的豐富工具包。

  • bogue 用於 OCaml 的 GUI 函式庫,具有動畫效果,基於 SDL2
  • lablgtk GTK+ 的 OCaml 介面
  • lablqml OCamlfind 套件和 PPX 擴充功能,用於連接 OCaml 和 QtQuick
  • tsdl 用於 OCaml 的 SDL 輕量級綁定
  • sfml 對 SFML 多媒體函式庫的綁定

🟡 3D 圖形

這些是用於操作 3D 圖形的函式庫。它們提供廣泛的功能,包括幾何變換、渲染、著色和處理使用者輸入。

  • tgls 用於 OCaml 的 OpenGL {3,4} 和 OpenGL ES {2,3} 的輕量級綁定
  • glMLite 用於 OCaml 的 OpenGL 綁定
  • irrlicht Irrlicht 引擎的 OCaml 綁定

🟡 2D 圖形

這些函式庫提供了建立和操作 2D 圖形所需的必要功能。

  • vg 用於 OCaml 的宣告式 2D 向量圖形
  • gg OCaml 中用於電腦圖形的基本類型
  • async_graphics OCaml Graphics 函式庫的 Async 包裝
  • cairo2 與 Cairo 的綁定,Cairo 是一個 2D 向量圖形函式庫

🟢 影像處理

用於影像處理的套件。

🟢 繪圖

這些函式庫用於建立資料的視覺表示。它們提供產生各種圖表、圖形和示意圖的功能。

  • oplot 用於 OCaml 的數學繪圖函式庫
  • gr GR 繪圖函式庫的 OCaml 綁定
  • jupyter-archimedes 一個 Jupyter 友好的 2D 繪圖函式庫 (Archimedes 後端)
  • gnuplot Gnuplot 的簡單介面 Gnuplot-OCaml 提供從 OCaml 到 Gnuplot 的簡單介面。API 僅支援 2D 圖形,並受到 FnuPlot 的啟發
  • matplotlib 透過 python 使用 Matplotlib 繪圖
  • plplot PLplot 函式庫的綁定
  • plotly Plotly 開源繪圖函式庫的綁定

🟡 事件

這些函式庫用於處理事件,這些事件是程式環境中的訊號或事件,需要特定的動作或回應。

  • sel 簡單事件函式庫
  • react 用於 OCaml 的宣告式事件和訊號
  • telemetry 一個輕量級的函式庫,用於分派和處理事件,重點在指標和儀器化
  • note 用於 OCaml 的宣告式事件和訊號
  • iomux IO 多工器綁定

仍然需要協助嗎?

協助改善我們的文件

所有 OCaml 文件都是開源的。發現錯誤或不清楚的地方嗎?提交 Pull Request。

OCaml

創新。社群。安全。