Clojure - Applications

Clojure a contribué à certaines bibliothèques qui permettent de créer Desktop et Web-based applications. Discutons de chacun d'eux.

N ° Sr. Applications et description
1 Bureau - See-saw

See-saw est une bibliothèque qui peut être utilisée pour créer des applications de bureau.

2 Bureau - Modification de la valeur du texte

La valeur du contenu de la fenêtre peut être modifiée à l'aide de la ‘config!’option. Dans l'exemple suivant, le fichier config! L'option est utilisée pour changer le contenu de la fenêtre à la nouvelle valeur de «Good Bye».

3 Bureau - Affichage d'une boîte de dialogue modale

Une boîte de dialogue modale peut être affichée en utilisant la méthode alert de la classe de balançoire. La méthode prend la valeur de texte, qui doit être affichée dans la boîte de dialogue modale.

4 Bureau - Affichage des boutons

Les boutons peuvent être affichés à l'aide de la classe de boutons.

5 Bureau - Affichage des étiquettes

Les étiquettes peuvent être affichées à l'aide de la classe d'étiquettes.

6 Bureau - Affichage des champs de texte

Les champs de texte peuvent être affichés à l'aide de la classe de texte.

Applications Web - Introduction

Pour créer une application Web dans Clojure, vous devez utiliser la bibliothèque d'applications Ring, disponible sur le lien suivant https://github.com/ring-clojure/ring

Vous devez vous assurer de télécharger les fichiers JAR nécessaires à partir du site et de l'ajouter en tant que dépendance pour l'application Clojure.

le Ring framework fournit les fonctionnalités suivantes -

  • Configure les choses de telle sorte qu'une requête http entre dans votre application Web en tant que Clojure HashMap classique, et la fait également pour que vous puissiez renvoyer une réponse sous forme de HashMap.

  • Fournit une spécification décrivant exactement à quoi devraient ressembler ces mappages de demandes et de réponses.

  • Apporte un serveur Web (Jetty) et y connecte votre application Web.

Le framework Ring peut démarrer automatiquement un serveur Web et garantit que l'application Clojure fonctionne sur ce serveur. Ensuite, on peut également utiliser le framework Compojure. Cela permet de créer des itinéraires, ce qui est maintenant la façon dont la plupart des applications Web modernes sont développées.

Creating your first Clojure application - L'exemple suivant montre comment créer votre première application Web dans 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))

Examinons les aspects suivants du programme -

  • le ‘defroutes’ est utilisé pour créer des itinéraires afin que la demande faite à l'application Web vers différents itinéraires puisse être dirigée vers différentes fonctions de votre application Clojure.

  • Dans l'exemple ci-dessus, le «/» est connu comme la route par défaut, donc lorsque vous naviguez jusqu'à la base de votre application Web, la chaîne «Hello World» sera envoyée au navigateur Web.

  • Si l'utilisateur rencontre une URL qui ne peut pas être traitée par l'application Clojure, alors il affichera la chaîne «Not Found».

Lorsque vous exécutez l'application Clojure, par défaut, votre application sera chargée en tant que localhost: 3000, donc si vous accédez à cet emplacement, vous recevrez la sortie suivante.

Applications Web - Ajout de routes supplémentaires à votre application Web

Vous pouvez également ajouter d'autres itinéraires à votre application Web. L'exemple suivant montre comment y parvenir.

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

Vous pouvez voir que l'ajout d'un itinéraire dans l'application est aussi simple que d'ajouter simplement une autre fonction GET avec l'itinéraire url. (GET "/ Tutorial" [] "Ceci est un tutoriel sur Clojure")

Si vous accédez à l'emplacement http://localhost:3000/Tutorial, vous recevrez la sortie suivante.