Clojure有一些有用的庫,它們能夠創(chuàng)建桌面和基于Web的應用程序。 讓我們來討論它們中的每一個。
S.No. | 方法和說明 |
---|---|
Desktop – See-saw | See-saw是一個可用于創(chuàng)建桌面應用程序的庫。 |
Desktop – Changing the Value of Text | 可以使用“config!”選項更改窗口中內容的值。 在下面的示例中配置! 選項用于將窗口內容更改為新值“Good Bye”。 |
Desktop – Displaying a Modal Dialog Box | 可以使用蹺蹺板類的警報方法顯示模態(tài)對話框。該方法采用文本值,需要在模態(tài)對話框中顯示。 |
Desktop – Displaying Buttons | 按鈕可以在按鈕類的幫助下顯示。 |
Desktop – Displaying Labels | 可以在標簽類的幫助下顯示標簽。 |
Desktop – Displaying Text Fields | 文本字段可以在文本類的幫助下顯示。 |
要在Clojure中創(chuàng)建Web應用程序,您需要使用Ring應用程序庫,該應用程序庫在以下鏈接中提供 https://github.com/ring-clojure/ring
您需要確保從網站下載必要的jar,并確保將其添加為Clojure應用程序的依賴關系。
Ring框架提供以下功能:
設置事情,使得http請求作為常規(guī)的Clojure HashMap進入您的Web應用程序,同樣使得您可以返回作為HashMap的響應。
提供一個規(guī)范,描述那些請求和響應映射應該是什么樣子。
沿著Web服務器(Jetty)啟動,并將您的Web應用程序連接到它。
Ring框架可以自動啟動Web服務器,并確保Clojure應用程序在此服務器上工作。 然后還可以使用Compojure框架。 這允許創(chuàng)建路線,現在是大多數現代web應用程序的開發(fā)。
創(chuàng)建您的第一個Clojure應用程序 -以下示例顯示如何在Clojure中創(chuàng)建第一個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'用于創(chuàng)建路由,以便對Web應用程序對不同路由的請求可以指向您的Clojure應用程序中的不同函數。
在上面的示例中,“/”被稱為默認路由,因此當您瀏覽到Web應用程序的基礎時,字符串“Hello World”將被發(fā)送到Web瀏覽器。
如果用戶命中任何無法由Clojure應用程序處理的URL,那么它將顯示字符串“未找到”。
當運行Clojure應用程序時,默認情況下,應用程序將作為localhost:3000加載,因此如果瀏覽到此位置,您將收到以下輸出。
您還可以向您的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))
你可以看到,在應用程序中添加一個路由就像添加另一個GET函數一樣簡單。 (GET“/ Tutorial”[]“這是一個關于Clojure的教程”)
如果瀏覽到位置http:// localhost:3000 / Tutorial,您將收到以下輸出。
更多建議: