Clojure - Aplicativos
Clojure tem algumas bibliotecas contribuídas que têm a habilitação para criar Desktop e Web-based applications. Vamos discutir cada um deles.
Sr. Não. | Aplicativos e descrição |
---|---|
1 | Desktop - gangorra See-saw é uma biblioteca que pode ser usada para criar aplicativos de desktop. |
2 | Desktop - Mudando o valor do texto O valor do conteúdo na janela pode ser alterado usando o ‘config!’opção. No exemplo a seguir, o config! opção é usada para alterar o conteúdo da janela para o novo valor de “Good Bye”. |
3 | Desktop - Exibindo uma caixa de diálogo modal Uma caixa de diálogo modal pode ser exibida usando o método de alerta da classe gangorra. O método assume o valor do texto, que precisa ser mostrado na caixa de diálogo modal. |
4 | Desktop - Exibindo botões Os botões podem ser exibidos com a ajuda da classe de botões. |
5 | Desktop - Exibindo rótulos Os rótulos podem ser exibidos com a ajuda da classe de rótulos. |
6 | Desktop - Exibindo Campos de Texto Os campos de texto podem ser exibidos com a ajuda da classe de texto. |
Aplicativos da Web - Introdução
Para criar um aplicativo da web em Clojure você precisa usar a biblioteca de aplicativos do Ring, que está disponível no seguinte link https://github.com/ring-clojure/ring
Você precisa fazer o download dos jars necessários do site e adicioná-los como uma dependência para o aplicativo Clojure.
o Ring framework fornece os seguintes recursos -
Configura as coisas de forma que uma solicitação http entre em seu aplicativo da web como um Clojure HashMap regular e, da mesma forma, faz com que você possa retornar uma resposta como um HashMap.
Fornece uma especificação que descreve exatamente como esses mapas de solicitação e resposta devem ser.
Traz um servidor web (Jetty) e conecta seu aplicativo web a ele.
A estrutura Ring pode iniciar automaticamente um servidor da web e garante que o aplicativo Clojure funcione neste servidor. Então também se pode usar a estrutura Compojure. Isso permite criar rotas que agora são a forma como a maioria dos aplicativos da web modernos são desenvolvidos.
Creating your first Clojure application - O exemplo a seguir mostra como você pode criar seu primeiro aplicativo da web no 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))
Vejamos os seguintes aspectos do programa -
o ‘defroutes’ é usado para criar rotas de forma que a solicitação feita ao aplicativo da web para diferentes rotas possa ser direcionada para diferentes funções em seu aplicativo Clojure.
No exemplo acima, o “/” é conhecido como a rota padrão, portanto, quando você navegar até a base do seu aplicativo da web, a string “Hello World” será enviada ao navegador da web.
Se o usuário acessar qualquer url que não possa ser processada pelo aplicativo Clojure, ele exibirá a string “Não encontrado”.
Ao executar o aplicativo Clojure, por padrão, seu aplicativo será carregado como localhost: 3000, portanto, se você navegar até este local, receberá a seguinte saída.
Aplicativos da Web - Adicionando mais rotas ao seu aplicativo da Web
Você também pode adicionar mais rotas ao seu aplicativo da web. O exemplo a seguir mostra como fazer isso.
(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))
Você pode ver que adicionar uma rota no aplicativo é tão fácil quanto adicionar outra função GET com a rota url. (GET "/ Tutorial" [] "Este é um tutorial sobre Clojure")
Se você navegar até o local http://localhost:3000/Tutorial, você receberá a seguinte saída.