2017-07-31 6 views
0

私はちょうどclojurescriptで始まったばかりです。私が気づいた最初のことは、Reactの周りに複数のラッパーライブラリを持つことです。私はJavascript(バックボーン、エバー、アングルなどの選択肢)のような豊かな選択肢は見つけられませんでした。 CLJSコミュニティのように、どちらも不変のデータ構造を好むのでReactに向かって自然に傾いているようです。clojurescriptで書かれたフレームワーク/ラッパーライブラリは何ですか

私たちは間違いなく外国のライブラリをインポートすることができますが、彼らはCLJSよりもJSデータ構造を使用する傾向があるので自然に適合しません。

Reactラッパーを使わずに冒険を始めたいのであれば、どのような選択肢がありますか?

+0

私はこの質問がStackOverflowの上で釈明ことが広すぎると思います。あなたが好きなフレームワークを持っている場合は、クロージャースクリプトで使いたいと思っていることについて具体的な質問をしてください。それを言っている:私はそれが大きなjsフレームワークとclojurescriptを組み合わせることは非常に難しいと思うし、あなたが自分自身を言及する理由のために自然な感じにする。 –

+0

まあ、私はそれほど好きなフレームワークを持っていません。私は可能性を探っているだけです。 – user103054

答えて

0

私はそれが1つのジョブもないため、ほとんどのCLJS枠組みが反応上に構築だと思う:DOMの反応更新を管理します。データ(すなわち、コンポーネントの小道具)が変化すると、アプリケーションのデータ(すなわち、状態)を管理することは別個の関心事であるが、Reactはビューをレンダリングするためにのみ使用することができる。状態管理は、ClojureScriptフレームワーク(例えば、Om NextRe-frame)が互いにより多く異なるようになるところです。 (多くのフレームワークは、事の特別な種類のようにそれを扱うことがルートは、同様のデータの単なる一部であることに注意してください。)

をので、リアクトはCLJSコミュニティで人気がある理由の一つは、それはモジュラーを好むということです建築。さらに、Reactのドキュメントでは、関数型プログラミングスタイルを奨励しています。ここでは、ほとんどのコンポーネントがという純粋な関数として記述されています。 Reactは不変のデータでもうまくいきますが、JavaScriptで強制するには特別なトリッキー(例:Immutable.js)が必要です。

これはClojureScriptのより大きなモノリシックフレームワーク(POC Angular 2 site hereを参照)を使用することは確かに可能ですが、かなり面倒かもしれません。最低レベルでは、直接DOMを操作するために、(CLJS cheatsheetを参照してください)直接JavaScriptの相互運用機能を使用することができます。

(-> js/document 
    (.getElementById "app") 
    (.-innerHTML) 
    (set! "CLJS rocks!") 
+0

私は同意します。 Cljsはデータを管理する上でかなり優れていますし、Reactはdomの突然変異を処理するだけです。しかし、誰かがライセンス問題のためにReactを使いたくない場合はどうでしょうか?代替案はありません。 私が前に述べたように、他のJSフレームワークを使用しようとすると、それらは適合しません。 cljsでフレームワークを開発するための努力があれば知っていますか?_view_ layerリアクションなし)、または新しいものを使用することができます。 – user103054

+0

私はちょうど[Enfocus](http://ckirkendall.github.io/enfocus-site/)を "Enlive CLJS"でグーグルで見つけました。 [ビューバインディング](http://ckirkendall.github.io/enfocus-site/index.html#view-binding)のドキュメントでは、状態が変化したときの反応的なUIの更新について説明しています。 –

+0

興味深い。私は探検します。ありがとうございました。 – user103054

関連する問題