(アーカイブ)マトリョーシカを試す10の理由

画像



1.純粋なJavaScriptおよびHTML



多くのフレームワークは、独自のプログラミング言語を作成してWebを修正しようとします。 マトリョーシカのアイデアはシンプルです。すべてがウェブで整然としています。 プログラマーが記述するすべてのロジックは、JavaScriptファイル内に配置され、HTMLはハイパーテキストマークアップ言語のままです。 HTMLプログラマーについての冗談は冗談のままにしておくべきです。



2.最小エンティティ



マトリョーシカは、冗長なエンティティの作成を必要としません。 バインディングの単純な構文のおかげで、JavaScriptとHTMLの関係はロジックと同じ場所で記述できます。 プログラマーは、オブジェクトの力のバランスを考えて、一度にいくつかのことを考える必要はありません。 問題は、ハンドラをどこに登録するかです。「ビュー」またはコントローラでは、ハンドラは自動的に消えます。 ただし、データとコントローラーを別々のJSファイルに配置することで、それらを分離することを禁止する人はいません。



3.データを操作し、提出を忘れる



人気のある(しかし、より現代的な製品の猛攻撃に劣る)バックボーンフレームワークを試してみると、深刻な不便に直面しています:UIに応じてデータを宣言するとき、UIはデータに応じて、通常2つのイベントハンドラーを作成する必要があります。 1つはデータの変更をキャッチし、2つ目はユーザーのアクションをキャッチします。 この問題は、HTMLエレメントが原則としてアプリケーション内で完全に同一であるという事実によってさらにサポートされています。入力、選択、jQuery UIからのカスタムウィジェットはページ上で繰り返し発生する可能性があります。 アプリケーションのさらに別の「ユニット」(たとえば、フォーム)を実装するプログラマーは、コピーと貼り付けを使用する必要があります。



マトリョーシカでは、すべてがはるかに簡単です。 バインディングを一度宣言するだけで(2箇所ではなく1箇所で)、データを操作し(通常のJavaScriptオブジェクトのように)、一般にビューがあることを忘れます。



4.柔軟性



多くの場合、初心者には新しいアーキテクチャに切り替える方法が明確ではありません。 サードパーティのウィジェットを追加するために、アダプタ、ディレクティブなどを勉強する必要があります。



これまたはそのスクリプト(たとえば、jQueryプラグイン)を固定する方法を尋ねると、正しい答えは、「私は知っているとおりにやる」などです。 Googleマップまたは多くのギャラリーの1つであるかどうかに関係なく、ウィジェットの出力は、ウィジェットの公式ドキュメントに示されているとおりに行われます。 マトリョーシカは、VanillaJSを愛して作成されました。



5.控えめなアーキテクチャ



最も一般的なフレームワークは、コードの構造化の原則を定め、ソフトウェアアーキテクトとしてのプログラマーの創造性を制限します。 「これをする必要があるのはなぜですか」とよく思うのですが、これはそれほど悪いとは思いません。



マトリョーシカは、特定のコード構造を使用することを強制しません。また、優れたソリューションを使用することを強制しませんが、おそらく最も成功したソリューションではありません。 アプリケーションを設計および構造化するパターンを自分で選択します。 マトリョーシカはフレームワークとして位置付けられていますが、むしろ作業の量を減らすライブラリです。



6.少ないコード



フレームワークの開発中に提起された最も重要なタスクは、可能な限り広い範囲のタスクを(合理的な制限内で)解決することでした。 したがって、結果として得られるコードは、原則として、特にECMAScript 6に頼って非常にコンパクトに見えます。



7.何が起こっているのか理解しやすい。



控えめな推奨事項と厳格な規制がないため、フレームワークに精通していないがJavaScriptをよく知っている人は、おそらくあなたのコードを理解しているでしょう(もちろん、あなた自身が優れたプログラマーでない限り:)。 メソッドを作成する際の重要な優先事項の1つは、その機能の証拠でした。



8.開始が簡単



マトリョーシカでの作業を開始するには、3つのクラスといくつかのメソッドの目的を知る必要があります。 残りは構文糖です。 ドキュメントでは、ナビゲートしやすいように赤いフラグが付いています。



9.小さいサイズ



マトリョーシカは、フレームワークとして十分にコンパクトです。 この記事の執筆時点では、マトリョーシカの重量は38K / 12K zip未満です。



10. ECMAScript 6構文のサポート



次世代のJavaScriptサポートは、最優先事項の1つです。 今日、マトリョーシカは、ECMAScript 6の主な機能に加えて、クラスとループのfor..ofをサポートしています。 将来的には、言語の開発に伴い、新しい機能が最初に追加されます。



11.ドキュメント(ボーナス理由)



ほとんどの関連資料および記事は主に英語で公開されているため、プログラマーは英語を知る必要があることを誰もが知っています。 しかし、この記事を読んでいる人の大部分は、英語の知識(平凡から優秀まで)にかかわらず、ロシア語の資料を好むでしょう。



今年から始まるドキュメントは、ロシア語と英語の2つの言語で公開されます。 さらに、公式バージョンである両方のバージョンは、常に関連したままです。



ここにそのような短い投稿があります。 金曜日みんな!



All Articles