Clojure

Pisano

2019年11月6日

Pisano

您使用 Clojure 或 ClojureScript 多久了?

我们在 Pisano 使用 Clojure 和 ClojureScript 进行生产一年了。它现在是我们主要的语言,我们非常高兴能够使用它。

使用 Clojure 或 ClojureScript 的团队规模有多大?

我们有 6 名全栈开发人员使用 Clojure/Script 开发我们的前端和后端服务。

您使用 Clojure 或 ClojureScript 构建什么产品或服务?

在 Pisano,我们开发了一个优雅而创新的企业客户体验管理平台,使企业能够更好地了解其客户,并通过收集来自各个渠道的反馈、分析其行为并与其互动来提供卓越的体验。由于我们的座右铭是速度和可靠性,因此我们选择强大、可扩展和高效的工具来构建平台,因此我们必须选择 Clojure。

您最喜欢使用哪个 Clojure 或 ClojureScript 库?

在 ClojureScript 方面,我们喜欢 re-frame / reagent / shadow.cljs 组合。它真的易于使用。前端开发从未如此简单。我们可以快速开发我们想要的特性,并且在任何时候都可以,这是一种真正的乐趣。

在 Clojure 方面,我们使用 liberatorringcompojuremount 等。将代码传递给 REPL 时看到更改非常酷。此外,Specter 库(Clojure 和 ClojureScript)在数据处理方面为我们节省了时间。

使用 Clojure 或 ClojureScript 为您带来了哪些最大价值?

首先:Clojure 本身。没有偶然的复杂性(语言设计),因此我们可以专注于主要问题;业务逻辑。REPL 也非常酷,因此交互式开发帮助我们快速前进。我们无法避免 JVM 和 JavaScript 的大型库/框架生态系统,尤其是在开发企业平台时。

您最喜欢的 Clojure 或 ClojureScript 功能是什么?

使用数据结构建模我们的系统状态是一种令人愉快的体验,它看起来很自然,而且本应如此。这种方法使我们能够更好地理解/测试我们的系统。不变性、纯函数、REPL、主机互操作和宏等都是很棒的功能。

您的技术栈是什么?

我们使用 http-kit 作为我们的 Web 服务器。Postgres 用于 RDS,还使用 Redis 进行缓存。我们也有用 Ruby 编写的服务(大型 Ruby 代码库)。在前端,reagent/re-frame/shadow.cljs 组合用于我们的一些应用程序。

使用 Clojure 或 ClojureScript 对您的业务有何价值?

Clojure 使我们能够开发出健壮、简单、更小且易于理解的应用程序。除了 Clojure 之外,我们找不到任何其他语言能够提供此类功能。它对我们很有价值,因为我们可以用更少的资源做更多的事情。我们有一个非常小的团队,通常能够在短时间内(主要是几个小时)添加功能。Clojure/Script 允许我们通过 REPL 驱动的开发更快地开发代码。它使我们的产品更好,开发过程更快。现在,使用 Clojure 开发企业软件变得更加有趣了。

如果您想分享您的 Clojure 故事,请 填写此表单