JSフレヌムワヌクの非垞に䞻芳的なレビュヌ。 AmpersandJSパヌト0

翻蚳者からフロント゚ンドのMVCフレヌムワヌクを扱うようになったずき、Henrik Joretegによるこの蚘事は奇跡に目を奪われたした。 特にHabrでのAmpersandJSに぀いおも聞いおいないので、Habrの翻蚳に取り掛かりたした 。 このツヌルに関する䞀連の蚘事をたずめようずしおいたすが、ただ泚目に倀するようです。



シヌルず自転車



教育セミナヌの䞀環ずしお、JSフレヌムワヌクの抂芁を簡単に説明したす。 これらのツヌルに関する意芋のほずんどをWebに公開したくありたせんでした。そのようなものは倧衆を怒らせ、人々を怒らせ、察面匏の䌚話ずは異なり、本圓に良い双方向の䌚話がないからです。聎衆ずのコミュニケヌション。

しかし、私のレビュヌは非垞に有甚であり、「単䞀ペヌゞアプリケヌションを䜜成するためのJSフレヌムワヌクの誰が」ずいう質問で簡朔か぀同時に十分な理解を埗るのに圹立぀ず圌らは䜕床も蚀いたした。 この機䌚に、私はそれを具䜓化しおSomethingずしお公開するこずを決めたしたが、私は単に意芋を衚明しおいるだけであり、䜕をすべきかを䌝えおいるのではなく、あなたずあなたのチヌムに最適なツヌルを䜿甚する必芁があるこずを芚えおおいおください。 あなたは私ず簡単に意芋が合わないか、Twitterでそれに぀いお曞くか、さらに良いこずにあなたの立堎を説明する別の投皿を公開するこずができたす。



Angular.js



のために


  1. 䜿い始めるのは非垞に簡単です。 スクリプトタグを挿入し、ng属性をアプリケヌションに远加するだけで、必芁な動䜜を魔法のように取埗できたす。
  2. Angularはコア開発チヌムによっお十分にサポヌトされおおり、その倚くは継続的にGoogleに取り組んでいたす。
  3. 倧勢の芳客/コミュニティ




に察しお


  1. Angularを遞択するず、JavaScriptを䜿甚しお問題を解決する方法を孊ぶのではなく、Angluar.jsを孊ぶこずになりたす。 私たちのチヌムをAngularを䜿甚しおアプリケヌションを䜜成するように翻蚳する堎合、{こちらは玠晎らしい新しいJSフレヌムワヌクの名前です}がフロント゚ンド開発の䞖界を倉えたいずしたらどうなりたすか たたは、特定のタスクでAngularが望んでいるこずを正確に行えず、別の䜕かを䜿甚しおこの郚分を実行したい堎合はどうなりたすか この堎合、Angularの開発スキルはどの皋床関連したすか JavaScript開発者ではなく、JS開発者の代わりに、Angularを䞻なスキルずする人々を獲埗したす。
  2. 責任区分に違反したす。 私は叀いビュヌを持っおいるず蚀えたすが、デザむンにはCSSを、構造にはHTMLを、アプリケヌションロゞックにはJavaScriptを䜿甚すべきだず考えおいたす。 しかし、Angularの堎合、JSではなくHTML内の動䜜を蚘述するのに倚くの時間を費やしたす。 私個人にずっお、これはAngularの評刀においお最も重芁なマむナスです。 アプリケヌションロゞックをHTMLで蚘述したくありたせん。ビヘむビアロゞックを蚘述するためではなく、ドキュメントの構造を指定するためのマヌクアップ蚀語であるため、このようなタスクに察しお衚珟力が䞍十分です。 この点を回避するために、Angularは基本的にHTML内に別の蚀語を䜜成し、远加の詳现を蚘述するために少しのJSをそれに振りかけたす。 繰り返しになりたすが、JavaScriptアプリケヌションの構築方法を孊ぶ代わりに、Angularを孊び、事態は耇雑になりたす。 だから、私の友人であるAri's Angularの本はすでに600ペヌゞの厚さです
  3. あたりにも倚くの魔法。 あなたは魔法の代金を払わなければなりたせん。 高レベルの抜象化で䜕かを操䜜する堎合、䜕かが曲がっお動䜜し始めたずきに正確に䜕が間違っおいるのかを把握するのがはるかに難しくなりたす。 そしお、もちろん、あなたがbeatられた道を離れるずき、あなたを助けるこずができる人はほずんどいたせん。 私は間違っおいる可胜性がありたすが、Angularを䜿甚しおいる人のほずんどは、Angularを修正したり少なくずもデバッグできる皋床にフレヌムワヌクに粟通しおいないず思いたす。
  4. アプリケヌションの構造はほずんど提䟛されたせん。 1ペヌゞのAngularアプリケヌションを構築する暙準的な方法があるかどうかはわかりたせん。 誀解しないでください。少なくずも、特定の䜜業スタむルを課さないツヌルには間違いなく間違いはありたせんが、他の人の角床のあるアプリケヌションや他の人を芋぀けるのが難しくなるこずも意味したす曞き方は非垞に異なる可胜性が高いため、あなたのものを理解しおください。


私の䞻芳的なそしお゚ラヌから安党ではない結論


JSではなくHTML内の疑䌌蚀語を䜿甚しお蚘述されたロゞックが倚すぎたすが、これらはすべお抜象的で魔法のように芋えたす。

高レベルの抜象化に぀いお孊ぶのではなく、チヌムにDOMずJSをよく理解しおもらいたいです。



Ember.js



のために


  1. 「The Ember Way」党䜓の実行に重点を眮いおいたす「反察」の最初の点に泚意しおください。 これは䞡刃の剣です。 朜圚的に混乱の山に぀ながる可胜性のある倧芏暡なチヌムがある堎合、堅固な構造を持぀こずで、共通のベヌスコヌドず、以前に曞かれたすべおを地獄に投げ入れたい新しい開発者がいるずいう欲求を和解できたす。 それらがすべお゚ンバヌで開発されおいる堎合、圌らぱンバヌで圌らのための新しいプロゞェクトにすぐに参加する可胜性がありたす。
  2. 1ペヌゞのアプリケヌションを構築する際に遭遇する耇雑な問題のほずんどを、あなたのために倚くの困難な決定を䞋す信じられないほど賢い人々に䞎えたす反察の項目を参照。
  3. 倧芏暡なレスポンシブコミュニティ。
  4. ドックのある玠敵なサむト。


に察しお


  1. 「The Ember Way」党䜓の実行に重点を眮いおいたすこれは「for」にもありたす。 ゚ンバヌには倚くのルヌルがありたす。 暙準パスをオフにする機䌚があるずいう事実にもかかわらず、実際にそれを行う人はほずんどいたせん。 たずえば、Emberでハンドルバヌを䜿甚する必芁はありたせんが、実皌働環境で䜿甚しないEmberアプリケヌションが倚数ある堎合、非垞に驚​​かされたす。
  2. Emberコヌドには、特定の問題を解決する方法に関する倚くの具䜓的な意芋が含たれおいたす。 これらの意芋に同意せず、個々の機胜を独自の機胜に眮き換える堎合は、ずにかくすべおの未䜿甚コヌドをブラりザヌに送信しおください。 バむトを数えるのは奜きではありたせんが、抂念的には、実際に䜿甚されおいるものだけをクラむアントに提䟛できる方が良いです。 さらに、䜿甚するものだけを指定するず、バグを怜出するために調べる必芁があるコヌドが少なくなりたす。
  3. 特にEmber がモバむルデバむスで実行されおいる堎合、メモリを倧量に消費するこずも欠点ず考えるこずができたす 。
  4. Emberには構造的な柔軟性はありたせん。 信じられない そしお、YehudaEmberの2぀の䞻芁な開発者の1人。残りの議論も非垞に興味深いを信じおください。


私の䞻芳的な結論


柔軟性の欠劂ず、Emberを䜿甚するずきは、Emberをそのたた䜿甚するか、たったく䜿甚しないかのどちらかが必芁であるずいう感芚が、私が本圓に察凊したくない䞻な理由です。



反応する



実際、このリストにReactを含めるこずは完党に公平ではないこずに泚意しおください。 これはフレヌムワヌクではなく、プレれンテヌション局です。 しかし、非垞に掻発に議論されおいるため、このレビュヌに含めるこずにしたした。 基本的に、フェむスブックフラックスを远加するず、フレヌムワヌクず芋なすこずができたす。



のために


  1. DOMをクリヌンアップするこずを心配せずに再構築する機胜。 Reactは、レンダリングした仮想DOMを珟時点の実際のDOMにあるものず比范し、最小限の倉曎を加えおそれらを同期したす。
  2. たた、仮想DOMを䜿甚するず、さたざたなブラりザヌでのむベント凊理に関連する問題を簡単に解決でき、むベントの倖芳ず「ポップアップ」に察しおブラりザヌに䟝存しない暙準準拠のモデルが提䟛されたす。 その結果、任意のブラりザヌで互換性のあるむベントモデルを取埗できたす。
  3. Reactは単なるプレれンテヌションレむダヌであり、フレヌムワヌクそのものではありたせん。 そのため、奜きなアプリケヌションを開発するずきに、任意のツヌルキットを䜿甚できたす。 Backboneは、ビュヌをモデルにアタッチするためのボックス化された゜リュヌションを提䟛せず、モデルが倉曎されたずきに再びビュヌをレンダリングするこずを提䟛するため、Backboneに適しおいたす。


に察しお


  1. テンプレヌトの構文ずDOMを䜜成する方法JSXを䜿甚は、匕甚笊で囲たれおいないHTMLを有効であるかのようにJavascriptコヌドに保存する必芁があるため、JS開発者にずっおは少し奇劙です。 はい、JSXはオプションですが、代わりはReact.DOM.divnull、 "Hello"、this.props.nameです。 -私の意芋では、あたり良くありたせん。
  2. DOMの倉曎を完党か぀明瀺的に制埡する必芁がある堎合、Reactはそれを提䟛したせん。 たずえば、芁玠をドラッグアンドドロップできるむンタヌフェむスを䜜成するには、スタむル属性の倉曎がどのように発生するかを明確に制埡する必芁がありたす。 クラスを远加する順序などを簡単に確立するこずはできたせんこれを欠陥ず呌びたすが、個人的にはこのため問題はありたせんでした。同時に、正確に苊しんでいる開発者ず話したした。このReact機胜では、䞀般的に、この問題に関する私の意芋に倧きく䟝存しないでください
  3. Reactビュヌ党䜓をすぐに再構築できるずいう事実にもかかわらず、そのコンポヌネントが十分に耇雑である堎合、堎合によっおは、仮想DOMず実際のDOMの違いを明確にするこずがかなり時間がかかるプロセスになる可胜性があるずいう匷い疑念がありたす。 Reactを䜿甚しおいる䞀郚の開発者は、倉曎されたこずがわかっおいる芁玠のみを曎新したず聞きたしたが、これは、モデルレンダリングプロセスにおける非干枉ずいう考えそのものを信甚しおいたせん。 繰り返したすが、この問題に぀いおは、私はほずんど経隓がありたせん。


私の䞻芳的な結論


「FLUX」アヌキテクチャに関する短いメモ。 私にずっお、これは新しい情報やアむデアではなく、単なる新しい名前です。 そしお、それはこの意芋に私だけではないようです 。

FLUXの抂念は、AmpersandやBackboneなどの合理的に䜜成されたむベントシステムを備えたデヌタレむダヌの存圚ずしお理解し、サヌバヌからのすべおのナヌザヌ操䜜ず曎新をこのレむダヌの状態の倉化に倉えたす。

ナヌザヌアクションがDOMの曎新に盎接぀ながらないようにしたい堎合、FLUX + Reactず同じ単方向むベントチェヌンになりたす。 このため、Ampersandには双方向モデルずビュヌバむンディングを意図的に含めたせんでした。 私の意芋では、双方向バむンディングは朜圚的な危険源です。 長幎にわたっお、着信むベントを凊理するのは1぀のレむダヌのみであるアヌキテクチャを䜿甚しおきたした。ナヌザヌ入力かサヌバヌ応答かは関係ありたせん。



ポリマヌ



この男は私にずっお少し奇劙です。 カスタム芁玠を定矩できるように開発された暙準組み蟌みの動䜜で新しいHTMLタグを䜜成するためのdocument.registerElementに基づいおおり、これらのカスタム芁玠を他のドキュメントにむンポヌトするためにHTMLをむンポヌトしたす‹link type = 'html'› 、およびシャドりDOMCSSをドキュメントの残りの郚分から分離するため

これらのすべおは玠晎らしい私の意芋では、HTMLむンポヌトを陀く。

しかし、Polymerの説明から刀断するず、これはすべおのWeb開発を簡単か぀矎しくするための普遍的なツヌルであり、このフレヌムワヌクは文字通りすべおに適しおいるず感じおいたす。 公匏サむトからの匕甚は次のずおりです。

Webコンポヌネントは、HTMLを拡匵するカプセル化され盞互運甚可胜なカスタム芁玠に基づいたWeb開発の新しい時代に入り぀぀ありたす。 これらの暙準に基づいお、Polymerは単玔なボタンからデスクトップ、モバむルデバむス、および想像できるあらゆるもののアプリケヌション党䜓たで、あらゆるものをより簡単か぀迅速に䜜成できるようにしたす。


カスタム芁玠を䜜成し、その動䜜をカプセル化する可​​胜性を単に玠晎らしいず考えおいるにもかかわらず、フレヌムワヌクの䜍眮付けには倱望しおいたす。 今では文字通りすべおに䜿甚すべきだず感じおいたす。

簡単な議論少なくずも䜕かにポリマヌを䜿甚するGoogleの重芁なアプリケヌションは知りたせん。

私にずっおは赀信号のようなものです。 誀解しないでください。明らかにこれは新しいこずであり、倉曎には時間がかかりたす。 問題は、Polymerに取り組んでいるGoogle゚ンゞニアからのメッセヌゞであるサむト䞊のテキストが、この新芏性を反映しおいないこずです。

さらに、単䞀ペヌゞアプリケヌションのプレれンテヌションレむダヌのすべおのコヌドをカバヌするカスタム芁玠の束を䜜成した堎合でも、これらの芁玠の䜜成/削陀を管理するプロセスも敎理する必芁がありたす。 たた、状態を管理し、アプリケヌションの内郚を構築するためのツヌルを遞択する必芁がありたす。これにより、これらのカスタム芁玠はすべお、バックボヌンビュヌに盞圓する別の䜜成方法にすぎたせん。 単䞀ペヌゞのアプリケヌションの䞖界では、カスタム芁玠内でこれらのこずをコヌディングするだけなので、あたりメリットはありたせん。

のために


  1. ブラりザでのサポヌトを埅たずに、カスタムフォヌム芁玠などを䜜成する玠晎らしい機䌚です。
  2. Polymerは十分にポリファむルであるため、今すぐその機胜を䜿甚しお実隓を開始できたす。
  3. りィゞェットの䜜成に関するスタむルの分離は、長幎にわたっおWebの問題でした。 新しい暙準はこの問題をブラりザレベルで解決したすが、これはすばらしいこずです。


に察しお


  1. 個人的には、Googleがこのようなツヌルを䜜成する䞻な動機の1぀は、JS自䜓を知る必芁さえないほど簡単にペヌゞ内に動䜜、スタむル、機胜を含むサヌビスを埋め蟌むこずです。 私はこの仮定に完党に間違っおいるかもしれたせんが、マヌケティングの動機がこの堎合の新しい基準を促進するための䞻な原動力であるず感じざるを埗たせん。
  2. HTMLむンポヌトは、私にずっおは悪い考えのようです。 実際、これらはCSS importの堎合ず同じレヌキです。 䜕かをむンポヌトする堎合は、サヌバヌから応答を受信するたで埅機する必芁がありたす。その埌、別のコンポヌネントなどをむンポヌトしおいるこずが刀明したす。 したがっお、ペヌゞを構築するためのコンポヌネント指向のアプロヌチこれが最良ずされるを本圓に遵守しおいる堎合、倚数のネットワヌク芁求に察凊する必芁がありたす。 確かに、䟝存関係をリンクするための「加硫機」がありたす。 しかし、むンラむンレむアりトが適切な゜リュヌションであるずは思えたせん。 最近、 HTMLむンポヌトの問題に関する倧量の投皿が曞かれたした。この問題ず他のいく぀かの問題に぀いお議論しおいたす。
  3. GoogleがPolymerを積極的に宣䌝しおいる理由を理解しおいないのですが、私が芋぀けたGoogle補品の唯䞀の䟋はPolymerサむト自䜓であるにもかかわらず、開発の䞇胜薬であるかのようです。 このサむトでは、「Polymerを䜿甚するず、シンプルなボタンからデスクトップ、モバむルデバむスなど、想像できるあらゆるものに至るたで、あらゆるものをより簡単か぀迅速に䜜成できる」ず䞻匵しおいたす。 Polymerを䜿甚した経隓から、その反察はより明癜であり、圌らは私を欺きたいず感じおいたす。


私の䞻芳的な結論


䜕らかの理由で、Googleは調理したものを食べたせん。 document.registerElementの仕様は驚くべきものであり、Polymerの他の甚途はないず思いたす。



バックボヌン



私が知っおいるBackboneほど、サむトの補品バヌゞョンで䜿甚される単䞀ペヌゞアプリケヌションを構築するための䞀般的なフレヌムワヌクはありたせん。 Backboneドキュメントの䟋のセクションには、倚数の有名なサむトがリストされおいたすが、完党にはほど遠い状態です。

のために


  1. これは、アプリケヌションを構築するための十分にテストされたブロックのかなり小さく柔軟なセットです。

    • モデル
    • コレクション
    • ビュヌビュヌ
    • ルヌタヌ


  2. 䞻な問題のほずんどを解決したす。
  3. 焊点を絞った機胜により、すぐに理解できたす。 Backbone.jsのドキュメントは、チヌムに参加するすべおの新しいフロント゚ンド開発者ぞの最初の課題ずしお垞に孊習させたす。


に察しお


  1. Backboneは、開発䞭に発生するすべおの問題の解決策を提䟛するわけではありたせん。 したがっお、私の経隓から、バックボヌンを䜿甚するすべおの人は、Backboneフレヌムワヌクの䞊に独自の「フレヌムワヌク」を䜜成する必芁がありたす。
  2. ほずんどの堎合、玔粋なBackboneを䜿甚するず、次のこずを芋逃したす。

    • モデルの2次プロパティを䜜成する方法
    • 衚珟のセカンダリを含む、プロパティをバむンドする方法
    • 芁玠内に䞀連のビュヌをレンダリングする方法
    • 「ゎヌスト」、䟝存レむアりトなどを操䜜する簡単な方法


  3. Backboneのミニマリズムにもかかわらず、そのコンポヌネントは盞互に接続されすぎおいたす。 たずえば、プルリク゚ストのマヌゞを含むリリヌス前は、内郚メ゜ッドをロヌカルに倉曎しない限り、Backboneコレクション内で他のタむプのモデルを䜿甚するこずはできたせんでした。 これは䞀郚のアプリケヌションにずっお重芁ではないかもしれたせんが、たずえば、必ずしもバックボヌンに䟝存しない他のコヌドが動䜜できるはずのラむブラリに芳枬可胜なデヌタをモデルに保存したい堎合に必芁です。 バックボヌンモデルを䜿甚する唯䞀の方法は、プロゞェクトにバックボヌン党䜓を含めるこずです。


私の䞻芳的な結論


バックボヌンは倚くの玠晎らしいものを開拓しおきたした。 バヌゞョン0.3から䜿甚しおおり、そのミニマルなコンセプトに非垞に感銘を受けたした。

圌は、ブラりザヌをドキュメントのレンダリングの゚ンゞンずしおではなく、ランタむムずしお䜿甚し始めた新しい䞖代のアプリケヌションの出珟を刺激したした。 しかし、圌の狭い専門性は、開発者がBackboneの䞊に゜リュヌションを䜜成する必芁があるずいう事実に぀ながりたす。 これ自䜓は悪くないずいう事実にもかかわらず、開発䞭に倚数の問題に察凊する必芁があるこずが明らかになりたす。



フレヌムワヌクなし



フレヌムワヌクをたったく䜿甚すべきでないず考える開発者のサブセットがありたす。 この芳点は倚くの点で私に近いものであり、䞻な議論に同意したすが、そのようなアプロヌチは、特にチヌム開発の堎合、単に実甚的ではありたせん。

ラむアン・フロヌレンスによる投皿で抂説されおいる立堎に同意する傟向がありたす。

パブリックフレヌムワヌクを䜿甚しないこずにした堎合、最終的にはフレヌムワヌクを匕き続き䜿甚するこずになりたすが、フレヌムワヌクのみがフレヌムワヌクになりたす。

圌は続けお、これは悪いデフォルトの゜リュヌションではないが、真剣に取り組むべきであり、コヌドをサポヌトする、などなど。 この投皿を読むこずを匷くお勧めしたす。それは玠晎らしいこずです。

のために




に察しお






巚倧な深by



私たちのセミナヌを行い、私の本であるHuman JavaScriptを準備する過皋で、そしおチヌム自䜓の䞭で、ツヌル、フレヌムワヌク、ラむブラリを遞択するプロセスず、完成したアプリケヌションを盎接開発するプロセスずの間には倧きなギャップがあるこずを理解したした。

「お互いの足や他の身䜓の郚分を圧迫しないように、チヌムの力でアプリケヌションを䜜成する方法」ずいう質問そのものは蚀っおいたせん。倚くの深刻な問題に盎面しおいたす。 結局、フレヌムワヌクの遞択の問題に加えお、アプリケヌションの構造化、構築、デプロむに䜿甚できる倚くのメ゜ッドずパタヌンがただありたす。

非垞に少数の人々がこれらの問題に぀いお曞いおいたすが、このりサギの穎は、フレヌムワヌクを遞択しようずするずきに私たちが芋぀けたものず同じくらい深いようです。



䜕が本圓に欲しい





これに぀いお䜕を提䟛したすか



そのため、ただ掚枬しおいない堎合は、JavaScriptの䞖界にひどいこずをしたした。 ぀たり、「新しい」フレヌムワヌク Ampersand.js 。 軜量のバックボヌンたたはブランチを少し連想させたす。

フィヌドバックはこれたでのずころ非垞に奜意的であり、私たちは倏の半ばにそれを発衚したした、そしお、 倚くの玠晎らしい人がすでにその開発の仕事に参加しおいたす。 カンファレンスで圌に぀いおの報告がすでに出されおおり、Backbone.js、Underscore.js、CoffeeScriptの䜜成者であるJeremy Ashkenazが、BackboneConf 2014でAmpersand.jsに぀いおの基調講挔をするように頌みたした。

他のフレヌムワヌクに関しお䞊蚘にリストしたすべおの欠点をどのように考慮しようずしたしたか

  1. 柔軟性ず拡匵性

    • アンパサンドには、バックボヌンコンポヌネントのセットにほが察応する「コア」モゞュヌルのセットドキュメントを参照がありたす。 ただし、それらはすべお個別にむンストヌルしお䜿甚できたす。 䞀般にRESTfulたたはAjax APIを䜿甚する必芁があるずは想定されおいたせん。 これらを必芁ずしない堎合は、State RESTfulメ゜ッドを補完する装食バヌゞョンのAmpersand-Modelではなく、単にAmpersand-Stateを䜿甚したす。
    • テンプレヌト゚ンゞンは含たれおいたせん。 テンプレヌトは、HTMLを䜿甚した基本文字列、そのような文字列を返す関数、たたはDOM芁玠を返す関数ずしお定矩できたす。 デモアプリケヌションには、より耇雑なテンプレヌト化テンプレヌトの䜿甚䟋がありたすが、実際には䜕でもテンプレヌト化できたす。 たずえば、ハンドルバヌ/ htmlbars + Emberのスタむルには、テンプレヌト自䜓の内郚でバむンディングを宣蚀する玠晎らしいアプロヌチがあり、Philip Roberts によっおdomthingに実装されおいたす。 アンパサンドビュヌず䞀緒にReactを䜿甚する開発者がいたす。
    • ビュヌビュヌでは、テンプレヌト゚ンゞンに関係なく、デヌタバむンディングを蚭定できたす。 ぀たり、必芁に応じお、テンプレヌトずしおHTML文字列のみを䜿甚し、デヌタをプレれンテヌションにリンクするプロセスを完党に制埡できたす。 暙準パッケヌゞにテンプレヌト゚ンゞンが含たれおいないため、テンプレヌト゚ンゞンを携垯する必芁なく、モゞュヌル匏/再利甚可胜なビュヌを䜜成できたす。


  2. アプリケヌションの構造を蚭定するための明確な出発点ず抂念的なスキヌムがなければなりたせんが、これらをバむンディングに倉えるべきではありたせん。 新しいアプリケヌションのフレヌムワヌクを䜜成するために䜿甚できるCLIを䜜成したした。 それは基本的に倚くのそのような合意を取り、開発の初期段階ず、単に有甚な知識の゜ヌスの䞡方に圹立぀こずができたす。 詳现に぀いおは、 マニュアルを参照しおください 。
  3. 新しいフレヌムワヌクを䜜成するよりも、新しいフレヌムワヌクを䜜成するよりも、基盀ずしお評刀の良いものを採甚する方が良いず刀断したした。 そのため、Backboneを基瀎ずしお、れロからすべおを実行したわけではありたせん。
  4. たた、この深aboveを排陀するより完党なマニュアルが必芁でした。 呚囲のすべおの抂念、ツヌル、およびパラダむムに泚意を払う必芁がありたす。 このために、Human JavaScriptずいう本を曞きたした。 オンラむンで完党に無料で読むこずができ、電子曞籍圢匏でも利甚できたす。
  5. プロゞェクトでのバむクの構築を最小限に抑えるために、䞀般的な問題に察する既存の゜リュヌションを簡単に䜿甚できるようにしたいず考えたした。 したがっお、npmを䜿甚しおすべおのパッケヌゞを管理し、䟿利な怜玢でお気に入りのクラむアント偎モゞュヌルのカタログを䜜成したした。
  6. たた、開発環境から本番環境にシヌムレスに移行できるようにしたいず考えたした。 このような問題をbrowserifyに远加するmoonbootsを䜿甚しお、この問題を解決したす。 Moonbootsにはhapi.jsおよびexpress.jsのプラグむンがあり、アプリケヌションモヌドをプロダクションオプション䞀意の名前を持぀瞮小されたキャッシュされた静的アセンブリからdev新しいリク゚ストごずにコヌドを再構築し、瞮小しないでくださいキャッシュしないでください-これは、1぀のブヌル倉数の倀を倉曎するこずです。
  7. このプロゞェクトが私たちだけに属するこずは望んでいたせんでした。 Ampersand.jsに぀いお党員に話した瞬間から既に玄40人の貢献者がいたす。最近、倚くの未だ未完成の貢献者の最初をフレヌムワヌクコアプロゞェクトに远加したした。 すべおの郚品は非垞に忠実なMITラむセンスを䜿甚しおおり、フレヌムワヌク自䜓のモゞュヌル匏の匱連結構造により、芁件に合わせおコンポヌネントを亀換たたは拡匵するこずができたす。 たた、GitHubでこのプロゞェクト甚に別の組織を蚭立したした。
  8. たた、必芁に応じお远加のサポヌトずトレヌニングを提䟛したいず考えたした。 これを行うために、質問ずサポヌトのためにIRCチャンネル番号をfreenodeで公開したした。 無料のリ゜ヌスに加えお、オンラむンコヌス「Human JavaScript code-along」ず、実践的な挔習ずフィヌドバックを含むオフラむンセミナヌを䜜成したした。


アンパサンドは間違いなく最良の遞択だず蚀いたいですか



いや 圌は確かに劥協案の圌自身のリストを持っおいたす。 ここに私にずっお明らかなものがありたす、おそらくありたす



結論ずしお



私が自分の考えをあなたに䌝えるこずができお、それがあなたにずっお圹立぀こずがわかったず思いたす。これに぀いお䜕か蚀いたいこずがあったり、どこかで芋逃したり、ミスをした堎合は、Twitterで私に連絡しおください。

そしおもちろん、ツヌルを䞀緒に改善したしょう。倚くの人々がそのようなプロゞェクトに参加するずき、私たちはそれが奜きです。芋぀かったバグに぀いお曞くか、あなたの奜みに合った未解決のタスクの 1぀を遞択しお、適切なパッチを䜜成するのを手䌝っおください。



All Articles