Clojure-applications
Clojure-アプリケーション
Clojureには、デスクトップ*および Webベースのアプリケーション*の作成を可能にするいくつかの寄贈ライブラリがあります。 それらのそれぞれについて説明しましょう。
Sr.No. | Applications & Description |
---|---|
1 |
See-sawは、デスクトップアプリケーションの作成に使用できるライブラリです。 |
2 |
Desktop – Changing the Value of Text ウィンドウ内のコンテンツの値は、 ‘config!’ オプションを使用して変更できます。 次の例では、config! オプションを使用して、ウィンドウの内容を「Good Bye」の新しい値に変更します。 |
3 |
Desktop – Displaying a Modal Dialog Box シーソークラスのアラートメソッドを使用して、モーダルダイアログボックスを表示できます。 メソッドは、モーダルダイアログボックスに表示する必要があるテキスト値を受け取ります。 |
4 |
ボタンは、ボタンクラスの助けを借りて表示できます。 |
5 |
ラベルは、ラベルクラスを使用して表示できます。 |
6 |
Desktop – Displaying Text Fields テキストフィールドは、テキストクラスを使用して表示できます。 |
Webアプリケーション-はじめに
ClojureでWebアプリケーションを作成するには、次のリンクhttps://github.com/ring-clojure/ringから入手できるRingアプリケーションライブラリを使用する必要があります
サイトから必要なjarをダウンロードし、Clojureアプリケーションの依存関係として追加する必要があります。
- リングフレームワーク*は次の機能を提供します-
- http要求が通常のClojure HashMapとしてWebアプリケーションに届くように設定し、同様に応答をHashMapとして返すことができるようにします。
- それらの要求および応答マップがどのように見えるかを正確に記述する仕様を提供します。
- Webサーバー(Jetty)を持ち込み、Webアプリケーションをそれに接続します。
Ringフレームワークは自動的にWebサーバーを起動し、Clojureアプリケーションがこのサーバーで動作することを確認できます。 その後、Compojureフレームワークも使用できます。 これにより、ルートを作成できるようになりました。これが、現在の最新のWebアプリケーションの開発方法です。
最初のClojureアプリケーションの作成-次の例は、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アプリケーションのベースを参照すると、文字列「Hello World」がWebブラウザーに送信されます。
- ユーザーがClojureアプリケーションで処理できないURLをヒットすると、文字列「Not Found」が表示されます。
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 を参照すると、次の出力が表示されます。