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.