Clojure - Ứng dụng

Clojure có một số thư viện đóng góp có khả năng tạo DesktopWeb-based applications. Hãy thảo luận về từng người trong số họ.

Sr.No. Ứng dụng & Mô tả
1 Máy tính để bàn - See-saw

See-saw là một thư viện có thể được sử dụng để tạo các ứng dụng máy tính để bàn.

2 Máy tính để bàn - Thay đổi giá trị của văn bản

Giá trị của nội dung trong cửa sổ có thể được thay đổi bằng cách sử dụng ‘config!’Lựa chọn. Trong ví dụ sau, cấu hình! tùy chọn được sử dụng để thay đổi nội dung cửa sổ thành giá trị mới của “Good Bye”.

3 Máy tính để bàn - Hiển thị Hộp thoại Phương thức

Một hộp thoại phương thức có thể được hiển thị bằng cách sử dụng phương thức cảnh báo của lớp see-saw. Phương thức này nhận giá trị văn bản, giá trị này cần được hiển thị trong hộp thoại phương thức.

4 Máy tính để bàn - Các nút hiển thị

Các nút có thể được hiển thị với sự trợ giúp của lớp nút.

5 Máy tính để bàn - Hiển thị Nhãn

Các nhãn có thể được hiển thị với sự trợ giúp của lớp nhãn.

6 Máy tính để bàn - Hiển thị các trường văn bản

Trường Văn bản có thể được hiển thị với sự trợ giúp của lớp văn bản.

Ứng dụng web - Giới thiệu

Để tạo một ứng dụng web trong Clojure, bạn cần sử dụng thư viện ứng dụng Ring, có sẵn tại liên kết sau https://github.com/ring-clojure/ring

Bạn cần đảm bảo rằng bạn tải xuống các lọ cần thiết từ trang web và đảm bảo thêm nó làm phụ thuộc cho ứng dụng Clojure.

Các Ring framework cung cấp các khả năng sau:

  • Thiết lập mọi thứ sao cho một yêu cầu http đi vào ứng dụng web của bạn dưới dạng một Clojure HashMap thông thường, và tương tự như vậy, làm cho nó để bạn có thể trả lại phản hồi dưới dạng HashMap.

  • Cung cấp thông số kỹ thuật mô tả chính xác bản đồ yêu cầu và phản hồi đó trông như thế nào.

  • Mang theo một máy chủ web (Jetty) và kết nối ứng dụng web của bạn với nó.

Ring framework tự động có thể khởi động máy chủ web và đảm bảo ứng dụng Clojure hoạt động trên máy chủ này. Sau đó, người ta cũng có thể sử dụng khung Compojure. Điều này cho phép người ta tạo các tuyến đường mà hiện nay là cách hầu hết các ứng dụng web hiện đại được phát triển.

Creating your first Clojure application - Ví dụ sau đây cho thấy cách bạn có thể tạo ứng dụng web đầu tiên của mình trong Clojure.

(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))

Hãy cùng xem xét các khía cạnh sau của chương trình -

  • Các ‘defroutes’ được sử dụng để tạo các tuyến sao cho yêu cầu được gửi đến ứng dụng web đến các tuyến khác nhau có thể được chuyển hướng đến các chức năng khác nhau trong ứng dụng Clojure của bạn.

  • Trong ví dụ trên, “/” được gọi là đường dẫn mặc định, vì vậy khi bạn duyệt đến cơ sở ứng dụng web của mình, chuỗi “Hello World” sẽ được gửi đến trình duyệt web.

  • Nếu người dùng truy cập vào bất kỳ url nào mà ứng dụng Clojure không thể xử lý, thì nó sẽ hiển thị chuỗi “Không tìm thấy”.

Khi bạn chạy ứng dụng Clojure, theo mặc định, ứng dụng của bạn sẽ được tải dưới dạng localhost: 3000, vì vậy nếu bạn duyệt đến vị trí này, bạn sẽ nhận được kết quả sau.

Ứng dụng web - Thêm nhiều tuyến đường hơn vào ứng dụng web của bạn

Bạn cũng có thể thêm nhiều tuyến đường hơn vào ứng dụng web của mình. Ví dụ sau đây cho thấy làm thế nào để đạt được điều này.

(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))

Bạn có thể thấy rằng việc thêm một tuyến đường trong ứng dụng cũng dễ dàng như chỉ cần thêm một hàm GET khác với tuyến đường url. (GET "/ Tutorial" [] "Đây là một hướng dẫn về Clojure")

Nếu bạn duyệt đến vị trí http://localhost:3000/Tutorial, bạn sẽ nhận được kết quả sau.