Clojure-アプリケーション
Clojureには、作成を可能にするいくつかの寄稿ライブラリがあります Desktop そして Web-based applications。それぞれについて話し合いましょう。
シニア番号 | アプリケーションと説明 |
---|---|
1 | デスクトップ–シーソー シーソーは、デスクトップアプリケーションの作成に使用できるライブラリです。 |
2 | デスクトップ–テキストの価値の変化 ウィンドウ内のコンテンツの値は、を使用して変更できます。 ‘config!’オプション。次の例では、config!オプションは、ウィンドウの内容を「さようなら」の新しい値に変更するために使用されます。 |
3 | デスクトップ–モーダルダイアログボックスの表示 シーソークラスのalertメソッドを使用すると、モーダルダイアログボックスを表示できます。このメソッドはテキスト値を取ります。これはモーダルダイアログボックスに表示する必要があります。 |
4 | デスクトップ–ボタンの表示 ボタンは、ボタンクラスを使用して表示できます。 |
5 | デスクトップ–ラベルの表示 ラベルは、ラベルクラスを使用して表示できます。 |
6 | デスクトップ–テキストフィールドの表示 テキストフィールドは、テキストクラスを使用して表示できます。 |
Webアプリケーション-はじめに
ClojureでWebアプリケーションを作成するには、次のリンクから入手できるRingアプリケーションライブラリを使用する必要があります。 https://github.com/ring-clojure/ring
必要なjarをサイトからダウンロードし、Clojureアプリケーションの依存関係として追加する必要があります。
ザ・ Ring framework 以下の機能を提供します-
httpリクエストが通常のClojureHashMapとしてWebアプリケーションに入るように設定し、同様に、HashMapとして応答を返すことができるようにします。
それらの要求マップと応答マップがどのように見えるかを正確に説明する仕様を提供します。
Webサーバー(Jetty)を持ってきて、Webアプリケーションをそれに接続します。
Ringフレームワークは自動的にWebサーバーを起動し、Clojureアプリケーションがこのサーバーで動作することを保証します。次に、Compojureフレームワークを使用することもできます。これにより、ルートを作成できます。これが、最新のWebアプリケーションの開発方法です。
Creating your first Clojure application −次の例は、Clojureで最初のWebアプリケーションを作成する方法を示しています。
(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))
プログラムの次の側面を見てみましょう-
ザ・ ‘defroutes’ はルートを作成するために使用され、Webアプリケーションに対して行われたさまざまなルートへの要求をClojureアプリケーションのさまざまな機能に送信できるようにします。
上記の例では、「/」がデフォルトルートとして知られているため、Webアプリケーションのベースを参照すると、文字列「HelloWorld」がWebブラウザーに送信されます。
ユーザーがClojureアプリケーションで処理できないURLをヒットすると、「NotFound」という文字列が表示されます。
Clojureアプリケーションを実行すると、デフォルトでアプリケーションはlocalhost:3000としてロードされるため、この場所を参照すると、次の出力が表示されます。
Webアプリケーション–Webアプリケーションへのルートの追加
Webアプリケーションにルートを追加することもできます。次の例は、これを実現する方法を示しています。
(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))
アプリケーションにルートを追加するのは、URLルートを使用して別のGET関数を追加するのと同じくらい簡単であることがわかります。(GET "/ Tutorial" [] "これはClojureのチュートリアルです")
あなたがその場所を閲覧する場合 http://localhost:3000/Tutorial、次の出力が表示されます。