Clojure - 应用程序

Clojure - 应用程序 首页 / Clojure入门教程 / Clojure - 应用程序

Clojure提供了一些有助于创建 Desktop桌面和基于Web网站的应用程序的库,让我们讨论其中的每一个。

Sr.No.Applications & 描述
1 Desktop – See-saw

一个可用于创建桌面应用程序的库。

2 Desktop – Changing the Value of Text

可以使用" config!"  选项更改窗口中内容的值。

3 Desktop – Displaying a Modal Dialog Box

可以使用alert方法显示模式对话框。

4 Desktop – Displaying Buttons

可以在按钮类的帮助下显示按钮。

5 Desktop – Displaying Labels

可以在标签类的帮助下显示标签。

6 Desktop – Displaying Text Fields

文本字段可以在文本类的帮助下显示。

Web应用程序

要在Clojure中创建Web应用程序,您需要使用Ring应用程序库,该库可在以下链接中找到: https://github.com/ring-clojure/ring

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,则它将show character串" Not Found"。

运行Clojure应用程序时,默认情况下,您的应用程序将以localhost:3000的形式加载,因此,如果浏览到此位置,则将收到以下输出。

Clojure Application

添加路由

您还可以将更多路由添加到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函数一样容易, (获取"/Tutorial" []"这是有关Clojure的教程")

链接:https://www.learnfk.comhttps://www.learnfk.com/clojure/clojure-applications.html

来源:LearnFk无涯教程网

如果浏览到位置 http://localhost:3000/Tutorial ,您将收到以下输出。

无涯教程网

Localhost

祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)

技术教程推荐

Web协议详解与抓包实战 -〔陶辉〕

玩转webpack -〔程柳锋〕

Spring Boot与Kubernetes云原生微服务实践 -〔杨波〕

性能工程高手课 -〔庄振运〕

动态规划面试宝典 -〔卢誉声〕

Spark核心原理与实战 -〔王磊〕

零基础实战机器学习 -〔黄佳〕

技术领导力实战笔记 2022 -〔TGO 鲲鹏会〕

AI 应用实战课 -〔黄佳〕

好记忆不如烂笔头。留下您的足迹吧 :)