The re-frame Logo

ClojureScriptでModern Web Appsを構築するためのフレームワークです。Reagentを介してReactを活用しています。

マッコイは「MVCだよ、ジム、でも我々が知っているようなものではない」と報告するかもしれません。 そしてあなたは次のように答えます。 “マッコイ、君はトラブルメーカーだね、なぜ OO パターンに言及するんだい? re-frameは関数的なフレームワークなんだよ」と答えるでしょう。

つまり、「データ」と、そのデータを変換する「関数」のことです。 データと、そのデータを変換する「関数」のことです。 そして、re-frameは反応型フレームワークなので、データ関数を調整します。 「関数」を調整するのであって、その逆ではありません。

なぜ気にする必要があるのか?

たぶん。

  1. ClojureScriptを使って、最新のWebアプリケーションを開発したい方。
  2. コードの行数を減らすことで、開発者の生産性を最大化したい。頭の中でシミュレーションできるような、シンプルな動的プロセスを求めている。エフェクトや状態管理にすっきりとしたアプローチをしたい。
  3. データ指向設計の利点に興味がある。
  4. 安定性と生産性を求めて、技術的な混乱から逃れようとしている。6年間、ClojureScript、Reagent、re-frameはほとんど変わっていません。必要ない。まだまだ最先端です。
  5. リアクティブプログラミング」「関数型プログラミング」「不変データ」が、これらのパラダイムを純粋に受け入れる言語の中で、どのように組み合わされるのかを見てみたい。
  6. あなたはサンディエゴ州立大学のFunctional Design and Programming Courseを受講していて、リフレームの課題が出ています。 あなたは読書を少し遅らせましたね?
  7. あなたは、より良いRedux、Elm、Cycle.js、Puxを求めています。このスペースでは、re-frameは、願わくばガンダルフ的な意味でとても古いものです。2014年後半に設計され、公式のElm Architectureよりも少し前のものですが、ありがたいことに、初期のElmゲームから foldp のアイデアを拾いました。私たちの主なインスピレーションは、ClojureプロジェクトのPedestal AppHoplonOmでした。それ以来、re-frameは、イベントハンドラミドルウェア、coeffect accretion、de-duplicated signal graphなどのアイデアを開拓してきました。
  8. そして、最も重要なポイントにたどり着きます。RE-FRAMEは素晴らしいバズワードに準拠しています。反応性、一方向性のデータフロー、純粋な関数、インターセプター、共同効果、ベルトコンベア、代数的効果、ステートチャートへの親和性を持ち、無傷のハンモックの概念を主張しています。すべてがシンプルで簡単なのです。また、魅力的なxkcdのリファレンス(近日公開)や、会議に最適な陽気なインサイダージョークTシャツ(デザイン中)もあります。

    何がいけないのでしょうか?

それは成熟している

re-frameは2015年初頭にリリースされ、それ以来、多くの企業や個人が複雑なアプリを構築するために使用することに成功しており、その多くはClojureScriptの40K行を超えています。

スケールがすべてを変えます。 フレームワークは、小規模では厄介なオーバーヘッドでしかありません。代わりに、大規模なアプリケーションの複雑さを抑えるのに役立つかどうかで評価します。この点において、re-frameはうまく機能しています。

確かに、re-frameは箱から出してすぐに使える速さがあります。また、テスト機能も充実しています(ユニットテストと行動テスト)。また、figwheelやshadow-cljsのようなツールと連携して、強力なホットローディング型の開発ストーリーを作ることができます。そして、楽しいスペシャリストツール、コミュニティ、便利なサードパーティライブラリもあります。