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

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

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

来源:LearnFk无涯教程网

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的教程")

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

Localhost

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

技术教程推荐

零基础学Python -〔尹会生〕

Android开发高手课 -〔张绍文〕

DDD实战课 -〔欧创新〕

To B市场品牌实战课 -〔曹林〕

物联网开发实战 -〔郭朝斌〕

讲好故事 -〔涵柏〕

手把手带你写一个Web框架 -〔叶剑峰〕

大厂设计进阶实战课 -〔小乔〕

Python实战 · 从0到1搭建直播视频平台 -〔Barry〕

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