Clojure - Anwendungen
Clojure hat einige Bibliotheken beigesteuert, die die Möglichkeit zum Erstellen haben Desktop und Web-based applications. Lassen Sie uns jeden einzelnen von ihnen diskutieren.
Sr.Nr. | Anwendungen & Beschreibung |
---|---|
1 | Desktop - Wippe
See-saw ist eine Bibliothek, mit der Desktop-Anwendungen erstellt werden können. |
2 | Desktop - Ändern des Textwerts
Der Wert des Inhalts im Fenster kann mithilfe von geändert werden ‘config!’Möglichkeit. Im folgenden Beispiel wird die Konfiguration! Mit dieser Option wird der Fensterinhalt auf den neuen Wert "Auf Wiedersehen" geändert. |
3 | Desktop - Anzeigen eines modalen Dialogfelds
Ein modales Dialogfeld kann mithilfe der Alarmmethode der Wippe-Klasse angezeigt werden. Die Methode verwendet den Textwert, der im modalen Dialogfeld angezeigt werden muss. |
4 | Desktop - Anzeigen von Schaltflächen
Schaltflächen können mit Hilfe der Schaltflächenklasse angezeigt werden. |
5 | Desktop - Beschriftungen anzeigen
Beschriftungen können mit Hilfe der Beschriftungsklasse angezeigt werden. |
6 | Desktop - Anzeigen von Textfeldern
Textfelder können mit Hilfe der Textklasse angezeigt werden. |
Webanwendungen - Einführung
Um eine Webanwendung in Clojure zu erstellen, müssen Sie die Ring-Anwendungsbibliothek verwenden, die unter dem folgenden Link verfügbar ist https://github.com/ring-clojure/ring
Sie müssen sicherstellen, dass Sie die erforderlichen Gläser von der Site herunterladen und als Abhängigkeit für die Clojure-Anwendung hinzufügen.
Das Ring framework bietet die folgenden Funktionen -
Richtet die Dinge so ein, dass eine http-Anfrage als reguläre Clojure-HashMap in Ihre Webanwendung eingeht, und macht sie ebenfalls so, dass Sie eine Antwort als HashMap zurückgeben können.
Bietet eine Spezifikation, die genau beschreibt, wie diese Anforderungs- und Antwortkarten aussehen sollten.
Bringt einen Webserver (Jetty) mit und verbindet Ihre Webanwendung damit.
Das Ring-Framework kann automatisch einen Webserver starten und stellt sicher, dass die Clojure-Anwendung auf diesem Server funktioniert. Dann kann man auch das Compojure-Framework verwenden. Auf diese Weise können Routen erstellt werden, auf die jetzt die meisten modernen Webanwendungen entwickelt werden.
Creating your first Clojure application - Das folgende Beispiel zeigt, wie Sie Ihre erste Webanwendung in Clojure erstellen können.
(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))
Schauen wir uns die folgenden Aspekte des Programms an:
Das ‘defroutes’ wird zum Erstellen von Routen verwendet, sodass Anforderungen an die Webanwendung an verschiedene Routen an verschiedene Funktionen in Ihrer Clojure-Anwendung gerichtet werden können.
Im obigen Beispiel wird das "/" als Standardroute bezeichnet. Wenn Sie also zur Basis Ihrer Webanwendung navigieren, wird die Zeichenfolge "Hello World" an den Webbrowser gesendet.
Wenn der Benutzer eine URL trifft, die von der Clojure-Anwendung nicht verarbeitet werden kann, wird die Zeichenfolge "Nicht gefunden" angezeigt.
Wenn Sie die Clojure-Anwendung ausführen, wird Ihre Anwendung standardmäßig als localhost geladen: 3000. Wenn Sie also zu diesem Speicherort navigieren, erhalten Sie die folgende Ausgabe.
Webanwendungen - Hinzufügen weiterer Routen zu Ihrer Webanwendung
Sie können Ihrer Webanwendung auch weitere Routen hinzufügen. Das folgende Beispiel zeigt, wie dies erreicht wird.
(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))
Sie können sehen, dass das Hinzufügen einer Route in der Anwendung so einfach ist wie das Hinzufügen einer weiteren GET-Funktion mit der URL-Route. (GET "/ Tutorial" [] "Dies ist ein Tutorial zu Clojure")
Wenn Sie zum Speicherort navigieren http://localhost:3000/Tutorialerhalten Sie die folgende Ausgabe.