- Clojure 教程
- Clojure - 主页
- Clojure - 概述
- Clojure - 环境
- Clojure - 基本语法
- Clojure-REPL
- Clojure - 数据类型
- Clojure - 变量
- Clojure - 运算符
- Clojure - 循环
- Clojure - 决策
- Clojure - 函数
- Clojure - 数字
- Clojure - 递归
- Clojure - 文件 I/O
- Clojure - 字符串
- Clojure - 列表
- Clojure - 集
- Clojure - 向量
- Clojure - 地图
- Clojure - 命名空间
- Clojure - 异常处理
- Clojure - 序列
- Clojure - 正则表达式
- Clojure - 谓词
- Clojure - 解构
- Clojure - 日期和时间
- Clojure - 原子
- Clojure - 元数据
- Clojure - 结构映射
- Clojure - 代理
- Clojure - 观察者
- Clojure - 宏
- Clojure - 参考值
- Clojure - 数据库
- Clojure - Java 接口
- Clojure - 并发编程
- Clojure - 应用程序
- Clojure - 自动化测试
- Clojure - 库
- Clojure 有用资源
- Clojure - 快速指南
- Clojure - 有用的资源
- Clojure - 讨论
Clojure - 应用程序
Clojure 有一些贡献的库,可以创建桌面和基于 Web 的应用程序。让我们逐一讨论一下。
先生。 | 应用及说明 |
---|---|
1 | 桌面-跷跷板
See-saw 是一个可用于创建桌面应用程序的库。 |
2 | 桌面版 – 更改文本值
窗口中内容的值可以通过使用“config!”来更改。选项。在下面的示例中,配置!选项用于将窗口内容更改为新值“Good Bye”。 |
3 | 桌面 - 显示模式对话框
可以使用 see-saw 类的alert 方法来显示模式对话框。该方法采用文本值,该文本值需要显示在模式对话框中。 |
4 | 桌面 - 显示按钮
可以借助按钮类来显示按钮。 |
5 | 桌面 - 显示标签
标签可以在标签类的帮助下显示。 |
6 | 桌面 - 显示文本字段
文本字段可以在文本类的帮助下显示。 |
Web 应用程序 - 简介
要在 Clojure 中创建 Web 应用程序,您需要使用 Ring 应用程序库,可通过以下链接获取该库:https://github.com/ring-clojure/ring
您需要确保从站点下载必要的 jar,并确保将其添加为 Clojure 应用程序的依赖项。
Ring框架提供以下功能 -
设置一些东西,使 http 请求作为常规 Clojure HashMap 进入您的 Web 应用程序,并且同样使您可以作为 HashMap 返回响应。
提供准确描述这些请求和响应映射应该是什么样子的规范。
带来一个 Web 服务器 (Jetty) 并将您的 Web 应用程序连接到它。
Ring 框架可以自动启动 Web 服务器并确保 Clojure 应用程序在此服务器上运行。然后还可以使用 Compojure 框架。这允许人们创建路由,这就是现在大多数现代 Web 应用程序的开发方式。
创建您的第一个 Clojure 应用程序- 以下示例展示了如何在 Clojure 中创建您的第一个 Web 应用程序。
(ns my-webapp.handler (:require [compojure.core :refer :all] [compojure.route :as route] [ring.middleware.defaults :refer [wrap-defaults site-defaults]])) (defroutes app-routes (GET "/" [] "Hello World") (route/not-found "Not Found")) (def app (wrap-defaults app-routes site-defaults))
让我们看看该计划的以下几个方面 -
“ defroutes ”用于创建路由,以便向 Web 应用程序发出的不同路由请求可以定向到 Clojure 应用程序中的不同功能。
在上面的示例中,“/”被称为默认路由,因此当您浏览到 Web 应用程序的基础时,字符串“Hello World”将被发送到 Web 浏览器。
如果用户点击 Clojure 应用程序无法处理的任何 url,则会显示字符串“Not Found”。
当您运行 Clojure 应用程序时,默认情况下您的应用程序将加载为 localhost:3000,因此如果您浏览到此位置,您将收到以下输出。
Web 应用程序 – 向您的 Web 应用程序添加更多路由
您还可以向 Web 应用程序添加更多路由。以下示例展示了如何实现这一目标。
(ns my-webapp.handler (:require [compojure.core :refer :all] [compojure.route :as route] [ring.middleware.defaults :refer [wrap-defaults site-defaults]])) (defroutes app-routes (GET "/" [] "Hello World") (GET "/Tutorial" [] "This is a tutorial on Clojure") (route/not-found "Not Found")) (def app (wrap-defaults app-routes site-defaults))
您可以看到,在应用程序中添加路由就像使用 url 路由添加另一个 GET 函数一样简单。(GET“/Tutorial”[]“这是关于 Clojure 的教程”)
如果您浏览到位置http://localhost:3000/Tutorial,您将收到以下输出。