8

注:私はバックエンド(Java)開発者であり、暇なときにClojureで働いているので、無知であることを許してください。

私はClojurescriptに頭を悩ませようとしています。そして、Clojurescriptが現在取り組んでいるプロジェクト、または将来取り組む予定のプロジェクトにどのように適合する可能性があるかを考えています。私は「古典的な」Web開発の考え方(たとえば、Clojureがバックエンドを実行する、JSONを介してフロントエンドにデータを配布してJSで処理する、またはブラウザーがレンダリングするHTMLページを返す)で育ったため、問題が発生しています。 Clojurescriptがこのモデルよりも優れている可能性があることを理解しようとしています。

「ClojurescriptOne」プロジェクトのモニカは、アプリケーション開発が1つの言語に統合されることを意味するため、Clojurescript / Clojure開発の一般的なアプローチを誰かに説明してもらえますか?

  • アプリケーションのClojurescript部分で通常実行されるタスクは何ですか?
  • アプリケーションのClojure(バックエンドなど)の部分で通常実行されるタスクは何ですか?

何か助けていただければ幸いです。あるいは、誰かが私にいくつかの図や説明などを教えてくれるなら、それも素晴らしいことです。

4

4 に答える 4

7

Clojure/ClojureScript アプリケーションは、X バックエンド技術 + JavaScript と非常によく似た構造になると思います。

Clojure と ClojureScript を使用してアプリケーションを設計することの大きな利点の 1 つは、コンパクトさを失うことなく、JSON よりも豊富なデータ形式 (任意のキーでハッシュ マップとセットを表すことができる) です。

JavaScript はすばらしい言語ですが、ClojureScript にはかなりの利点があります。意味論的にシンプル (機能的) で、豊富な標準ライブラリ、強力なテスト済みアプリケーション ライブラリ (Google Closure)、およびマクロを介した構文抽象化の洗練されたアプリケーションから得られるすべての利点が付属しています。

とは言っても、これはまだ非常にアルファ版のソフトウェアであり、ツールにはまだ多くの作業が必要です。

于 2012-02-10T15:55:44.703 に答える
2

私について少し背景を説明します。Clojurescript、JQuery、Vaadin、サーブレット、JSP、およびその他の多くの Web テクノロジを使用して開発を行ってきました。

1) Clojurescript は、Java、Clojure、Closure (with s ;)、Closure Lib、Closurescript 固有の知識など、必要に応じて使用した他の Web テクノロジよりもはるかに習得が困難です。

2) Clojurescript は小さなアプリには意味がありません。クライアント側の処理が大量にある場合にのみ意味があります

3) 私が見る限り、Clojurescript の唯一の用途は、より優れた JavaScript としてです (これが、より大きなアプリに適している理由です)。Clojurescript の縮小部分は JavaScript でも利用できるからです

4) クライアント エンドのみが Javascript で記述され、サーバーは Clojure/Java サーブレットになります。

于 2012-02-10T06:11:56.217 に答える
1

私にとって、clojure と clojurescript は混合スタックよりもクリーンなコードを提供します。考えるべき言語は 1 つだけで、コードは非常に読みやすいものです。

バックエンドでは、clojure は Java が通常行うことを行います。入力の検証、データベースへの保存、そして何よりもビジネス ロジックの実装。また、バックエンドは、プリズマティック スキーマを使用して、受信/送信データをタイプ別に検証します。

フロントエンドを一言で言うと、ClojureScript を使用してきれいなコードを取得し、高速に記述できます。UI コンポーネントを作成するときは、ClojureScript バージョンのmaterial-uiを使用しています。JavaScript に比べてコードを書く必要が少なく、UI コンポーネントのコードは JavaScript よりも読みやすいと思います。主な理由の 1 つは、終了タグが短く、コーディング言語によるノイズが少ないことです。ClojureScript を使用した開発は非常に高速です。

もちろん、ClojureScript は、電話番号などの RegExp などの単純な入力検証に使用されます。

おそらく気づいている clojure の欠点の 1 つは、関数に適切な名前を付けた後の長い行です。それに対処する特効薬はまだ見つかっていません。

dnolenが言ったように: ClojureScript はまだ開発中です。6 か月前よりもはるかに改善されているため、定期的に成熟度を確認する必要があります。

于 2016-12-24T22:36:32.633 に答える
1

Ganelon マイクロ フレームワーク (ちなみに私が作成したものです) がニーズに合うかもしれません。実行モデルは Vaadin のものに似ています。サーバー側の Clojure コードは、AJAX/JavaScript を介して UI の更新をブラウザーにプッシュしますが、アプリケーションの状態は保存しません。デフォルトでセッション中。

デモとドキュメントはhttp://ganelon.tomeklipski.com/で入手できます。

于 2013-04-04T17:17:04.923 に答える