Clojure - Aplikacje

Clojure ma kilka współtworzonych bibliotek, które mają możliwość tworzenia Desktop i Web-based applications. Omówmy każdy z nich.

Sr.No. Aplikacje i opis
1 Pulpit - See-saw

See-saw to biblioteka, której można używać do tworzenia aplikacji desktopowych.

2 Pulpit - zmiana wartości tekstu

Wartość zawartości w oknie można zmienić za pomocą ‘config!’opcja. W poniższym przykładzie plik config! Opcja służy do zmiany zawartości okna na nową wartość „Good Bye”.

3 Pulpit - wyświetlanie modalnego okna dialogowego

Modalne okno dialogowe można wyświetlić za pomocą metody alertu klasy see-saw. Metoda przyjmuje wartość tekstową, która musi być pokazana w modalnym oknie dialogowym.

4 Pulpit - wyświetlanie przycisków

Przyciski można wyświetlać za pomocą klasy przycisków.

5 Komputer stacjonarny - wyświetlanie etykiet

Etykiety można wyświetlać za pomocą klasy etykiety.

6 Pulpit - wyświetlanie pól tekstowych

Pola tekstowe można wyświetlać za pomocą klasy tekstowej.

Aplikacje internetowe - wprowadzenie

Aby stworzyć aplikację internetową w Clojure, musisz skorzystać z biblioteki aplikacji Ring, która jest dostępna pod poniższym linkiem https://github.com/ring-clojure/ring

Musisz upewnić się, że pobierasz niezbędne słoiki z witryny i dodasz je jako zależność dla aplikacji Clojure.

Plik Ring framework zapewnia następujące możliwości -

  • Ustawia rzeczy w taki sposób, że żądanie http przychodzi do twojej aplikacji internetowej jako zwykła Clojure HashMap i podobnie sprawia, że ​​możesz zwrócić odpowiedź jako HashMap.

  • Zawiera specyfikację opisującą dokładnie, jak powinny wyglądać te mapy żądań i odpowiedzi.

  • Przenosi serwer WWW (Jetty) i łączy z nim twoją aplikację internetową.

Struktura Ring automatycznie może uruchomić serwer WWW i zapewnia, że ​​aplikacja Clojure działa na tym serwerze. Wtedy można też skorzystać z frameworka Compojure. Pozwala to na tworzenie tras, tak jak obecnie opracowuje się większość nowoczesnych aplikacji internetowych.

Creating your first Clojure application - Poniższy przykład pokazuje, jak możesz stworzyć swoją pierwszą aplikację internetową w 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))

Spójrzmy na następujące aspekty programu -

  • Plik ‘defroutes’ służy do tworzenia tras, dzięki czemu żądania skierowane do aplikacji internetowej dotyczące różnych tras mogą być kierowane do różnych funkcji w aplikacji Clojure.

  • W powyższym przykładzie znak „/” jest znany jako trasa domyślna, więc po przejściu do bazy aplikacji internetowej do przeglądarki zostanie wysłany ciąg „Hello World”.

  • Jeśli użytkownik trafi na dowolny adres URL, którego aplikacja Clojure nie może przetworzyć, wyświetli komunikat „Nie znaleziono”.

Po uruchomieniu aplikacji Clojure aplikacja zostanie domyślnie załadowana jako localhost: 3000, więc jeśli przejdziesz do tej lokalizacji, otrzymasz następujące dane wyjściowe.

Aplikacje internetowe - dodawanie większej liczby tras do aplikacji sieci Web

Możesz także dodać więcej tras do swojej aplikacji internetowej. Poniższy przykład pokazuje, jak to osiągnąć.

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

Widać, że dodanie trasy w aplikacji jest tak proste, jak dodanie kolejnej funkcji GET z trasą url. (GET "/ Tutorial" [] "To jest samouczek dotyczący Clojure")

Jeśli przejdziesz do lokalizacji http://localhost:3000/Tutorial, otrzymasz następujący wynik.