Skip to content

ClojureScript

<img src="https://avatars2.githubusercontent.com/u/12118456?v=3&s=75" 对齐=“右”/>

Awesome ClojureScript

A community driven list of ClojureScript books, frameworks, libraries and wrappers.


Resources

Books

Courses

  • ClojureScript Koans – 通过交互式挑战在 Web 上开始学习 Clojure 和 ClojureScript 的好方法.
  • Lambda Island – 全栈网络开发课程,包括 ClojureScript 前端、Clojure 后端、语言基础、安全性、互联网标准和系统管理.
  • Learn Reagent – 为开发人员介绍带有 Reagent 的 ClojureScript. 提供 1 小时的免费内容. learn re-frame 是它的后续行动.
  • Learning ClojureScript – O'Really Online Learning 对 Clojurescript 的 2 小时 11 米长介绍. 也可在 Udemy.

Videos

Awesome ClojureScript

Canvas

  • Monet – 一个小型 ClojureScript 库,可以更轻松地处理画布和视觉效果.
  • Quamolit – 受 React 启发的小型声明式动画库.

Client/Server Communication

  • cljs-ajax – 用于 ClojureScript 和 Clojure 的简单 Ajax 客户端.
  • Fetch – 使客户端/服务器交互变得轻松的 ClojureScript 库.

Code Analysis

  • kibit – 静态代码分析器,用于查找可以用更惯用的函数或宏重写的代码模式.

Data Serialization

  • Cljson – 用于加速浏览器数据反序列化的 Clojure/ClojureScript 库.
  • Transit – 一种数据交换格式和一组库,用于在用不同编程语言编写的应用程序之间传递值.

Data Visualization

  • C2 – 它允许您基于数据以声明方式创建 HTML 和 SVG 标记.

Database

  • Datascript – ClojureScript 中的不可变内存数据库和 Datalog 查询引擎.
  • Jaki – 一个简单的 ClojureScript CouchDB 客户端.
  • Konserve – 具有 core.async 的 clojuresque 键值/文档存储协议.
  • specql – 用于使用命名空间键进行简单 PostgreSQL 查询的库.

Development

  • Ambly – A ClojureScript REPL into iOS JavaScriptCore.
  • cljs-devtools – 在 Chrome Devtools 中更好地呈现 ClojureScript 值.
  • Devcards – Devcards 旨在为 ClojureScript 提供可视化的 REPL 体验.
  • Instaparse – 它旨在成为在 ClojureScript 中构建解析器的最简单方法.
  • lein-cljsbuild – 使 ClojureScript 开发变得简单的 Leiningen 插件.
  • lein-figwheel – 将 ClojureScript 代码更改推送到客户端的 Leiningen 插件.
  • Lumo – 快速、跨平台、独立的 ClojureScript 环境.
  • Planck – 基于 JavaScriptCore 的适用于 macOS 和 Linux 的独立 ClojureScript REPL.
  • Ribol – clojure/clojurescript 的条件重启.
  • shadow-cljs – ClojureScript 编译变得简单
  • Truss – 用于 Clojure/ClojureScript 的自以为是的断言 API.

Document Object Model

  • cljs-binding – 它将 html 元素绑定到 ClojureScript 函数.
  • Crate – 打嗝的 ClojureScript 实现.
  • Dominator – ClojureScript 中的虚拟 Dom.
  • Dommy – 一个严肃的 ClojureScript 模板和 DOM 操作库.
  • Enfocus – 受 Enlive 启发的 ClojureScript 的 DOM 操作和模板库.
  • Freactive – 一个高性能、纯 Clojurescript、声明式 DOM 库,其灵感来自 reagent、om、reflex 和 hiccup.
  • Hiccups – 打嗝的 ClojureScript 端口.
  • Hickory – 它将 HTML 解析为 Clojure 数据结构,因此您可以分析、转换并输出回 HTML.
  • json-html – 提供 JSON 并获取具有该 JSON 的人工表示的 DOM 节点.
  • Kioo – ClojureScript 中用于 Facebook React 和 Om 的 DOM 操作和模板库.
  • Respo – 受 React 启发的响应式 DOM 库.
  • Sablono – ClojureScript 中 Facebook 的 React 的 Lisp/Hiccup 风格模板.

Documentation

  • codox – 用于从 Clojure 或 ClojureScript 源代码生成 API 文档的工具.

Graphics

  • geom – 用于 Clojure/Clojurescript 的 2D/3D 几何工具包.
  • Quil – 处理和图形编程库.

HTTP Handler

  • Castra – Clojure 的 HTTP 远程过程调用处理程序.

Internationalization

  • Tempura – Clojure(Script) i18n 库,接替 Tower
  • Tower – Clojure(Script) i18n 和 L10n 库.

JavaScript Interoperability

  • CLJSJS – Clojurescript 开发人员依赖 Javascript 库的一种简单方法.
  • Jayq – jQuery 的 ClojureScript 包装器.
  • Purnam – 一个 ClojureScript 库,旨在提供更好的 clojurescript/javascript 互操作、测试和文档工具.
  • Pylon – 100% Clojurescript 中的 Javascript 类系统.

CSS tools

  • Garden – 用于在 Clojure 和 ClojureScript 中呈现 CSS 的库.
  • stylefy – stylefy 可以将 UI 组件样式定义为 Clojure 数据并将它们轻松附加到组件中,而无需编写 CSS 选择器

Miscellaneous

  • Automat – 受 Ragel 启发,用于定义和使用有限状态自动机的 Clojure(Script) 库.
  • Bardo – 用于功能插值和转换的 Clojure(Script) 库.
  • core.async – 一个 Clojure(Script) 库,旨在为异步编程和通信提供便利.
  • Entanglement – 它从其他原子创建原子并将数据链接在一起.
  • inflections-clj – 用于 Clojure 和 ClojureScript 的类 Rails 变形库.
  • Keybind – 用于处理浏览器中的键绑定(快捷方式)的库.
  • markdown-clj – Clojure/ClojureScript 中的 Markdown 解析器.
  • namespacefy – 一个简单的 Clojure(Script) 库,旨在使映射键的命名空间变得容易,无论您的数据来自何处.
  • om-tools – 它旨在提供在使用 Om 的 API 构建组件时经常有用的高阶抽象和实用程序.
  • reforms – 用于 Om 和 Reagent 的漂亮的 Bootstrap 3 形式.
  • reagent-forms – 试剂的 Bootstrap 表单组件.
  • Sepal.clj – 一个从字符串向量和带有宏系统的向量生成 Clojure 代码的库.

React.js Interface

  • Brutha – React 的简单实用的 ClojureScript 接口.
  • cljsxJSX 对于 Clojure 和 ClojureScript,也适用于 Inferno, Nerv, Preact, Snabbdome 和别的.
  • Helix – 一个简单易用的库,用于在 ClojureScript 中进行 React 开发,在 React 之上只有很少的语义.
  • hx – 另一个简单易用的库,用于 ClojureScript 中的 React 开发.
  • Om – 强大的 React 接口,利用其面向对象的结构.
  • Quiescent – 它支持函数式风格,完全无状态.
  • re-com – Reagent 的可重用组件的 ClojureScript 库.
  • Reagent – 简约,功能齐全.
  • Rum – 分解、可扩展、简单.

Reactive Programming

  • Javelin – ClojureScript 的函数式响应式编程库.
  • Manifold-cljs – 一个端口 Manifold 到 ClojureScript.
  • Reagi – 用于 Clojure 和 ClojureScript 的 FRP 库,构建在 core.async 之上.
  • rx-cljs – 用于 Javascript 的 Reactive Extensions (Rx) 的 ClojureScript 包装器.
  • Yolk – 围绕 bacon.js 的薄 ClojureScript 包装器.

Routing

  • Bidi – Clojure(script) 数据驱动的路由库.
  • Router – Clojure/Script 的双向环形路由器. 面向休息.
  • Secretary – ClojureScript 的客户端路由器.
  • Silk – Clojure 和 ClojureScript 的同构路由库.

State Management

  • component – Clojure(Script) 中有状态对象的托管生命周期.
  • hodgepodge – HTML5 存储的惯用 ClojureScript 接口.
  • mount – 一个漂亮的惯用状态管理库.
  • plato – 在 ClojureScript 中将原子状态增量保存到本地存储.
  • storage-atom – 由 HTML5 网络存储支持的 ClojureScript 原子.
  • Tuck – 用于构建 Reagent 应用程序的微框架,这些应用程序将视图代码和事件处理代码完全分开.
  • Waltz – 一个 ClojureScript 库,可帮助使用非确定性有限状态机管理客户端应用程序中的状态.

Testing

Validation

  • Bouncer – 用于 Clojure 和 Clojurescript 应用程序的验证 DSL.
  • form-validator-cljs – 使用 spec 和 fn 验证表单.
  • Validateur – 受 Ruby 的 ActiveModel 启发的 Clojure 验证库.

Web Framework & Template

  • atw-om – 带有 Clojure/Compojure、ClojureScript/Om 和 core.async 的 Web 应用程序模板.
  • Chestnut – 用于 ClojureScript/Om 的应用程序模板,具有实时重新加载功能.
  • Clops – 一个固执己见、全栈且易于使用的 Web 框架.
  • descjop – 基于 Web 的电子桌面应用程序模板.
  • electron-template – 使用 Electron、ClojureScript 和 Reagent 创建基于 Web 的桌面应用程序的模板.
  • Fulcro – 用于在 clj/cljs 中开发单页全栈 Web 应用程序的库.
  • Hoplon – 在客户端和服务器端用 Clojure 和 ClojureScript 编写所有内容.
  • Keechma – ClojureScript 和 Reagent 的微前端框架.
  • Luminus – 它旨在提供一个健壮、可扩展且易于使用的平台.
  • Macchiato – 它旨在为 Node.js 提供一个易于使用的平台.
  • Mies – 一个最小的 ClojureScript 项目模板.
  • Mr-Clean – 没有 react.js 依赖的试剂兼容库.
  • Precept – 声明式编程框架.
  • re-frame – 用 Clojurescript 编写 SPA 的试剂框架.
  • Tenzing – 没有使用 Boot 后端的 ClojureScript 模板.
  • WebFUI – ClojureScript 的客户端 Web 框架.

WebSockets

  • Chord – 旨在弥合 CLJ/CLJS、web-sockets 和 core.async 这三者之间的差距.
  • Sente – Clojure(脚本)+ core.async + WebSockets/Ajax.

Contributing

欢迎所有贡献. 请阅读 Contributing 在打开拉取请求之前. tl;dr - 用于项目符号, 用于链接和描述之间的分隔符,列表应按字母顺序排列.

License

CC0

Han Tuzun 根据版权法,在法律允许的范围内放弃其在全球范围内对作品的所有权利,包括所有相关和邻接权利,从而将作品献给公共领域.

您可以复制、修改、分发和执行作品,甚至可以用于商业目的,所有这些都无需征得许可.