最新のWeb開発。 どうやってこれに来たの?

Web開発の現代の世界は1つの大きな松葉杖になりました。 さらに、松葉杖は、どういうわけか機能するために、粘着テープで接着された数千の松葉杖を必要とします。



松葉杖はどこでも私たちを待っています:アプリケーションセキュリティ(CSP)を確保するために設計されたサーバーヘッダーから始まり、クロスオリジンリソース共有を提供するヘッダーからビルドツールで終わります。



1つの問題を解決するために、新しい問題をいくつか作成します。それらはすでに雪崩のように急いでおり、その経路のすべてを破壊しています。 疑わしい場合は、javascriptが議論の余地のないリーダーであるstackoverflowに関する質問の統計を見ることができます。



たとえば、Angular 2でプロジェクトを記述し、Webpackを使用してビルドしようとした視聴者がいますか? これは地獄です。



たとえば、ES6構文を使用することにしましたが、Typescriptは、target = es6を設定するまでMapを配列として使用できないと言います(より正確には、Googleに通知します)。 公開しますが、TypeScriptはes6-shim.d.tsの重複広告を誓います。 これらの広告を削除しますが、現在はletが何であるかを理解できないとuglifyが誓います(より正確には、letに関連していないエラーには聞き取れない何かがあるため、Googleに伝えます)... babelを固定します。 しかし今、Ulgifyは[ngClass]を[ngclass]に名前変更し、Angularは要素のそのようなプロパティを知らないと誓います...



その結果、サイズが2 MBのアセンブリが得られます(縮小後760 KB)。 そして、いくつかのモジュールのロードを適切なタイミングまで遅らせるWebpack松葉杖を書き始めます。 さらに、それはすべてレギュラーシーズンを通してひどく解決されます。



そして、この悪夢は何度も繰り返されます。



フレームワークとライブラリの状況は、すでに携帯電話の現代世界を連想させます。 1年後にはすでに道徳的に時代遅れになっているため、1週間よりも長いことを学ぶのは意味がありません。



グラント、ガルプ、ブロッコリー...

R.js、Browserify、SystemJS Builder、Webpack ...

フラックス、Redux、...



そして、これも無期限に続きます。 いくつかのプロジェクトは、すでに絶望的に陳腐化しているか、離陸していないため、ベータ版から抜け出す時間さえありません(たとえば、ポリマー)。 一部のプロジェクトは、理由が不明であり、既に存在するものを複製します(WebRX)。



私の場合、Webpackは一般的に松葉杖の構築に最適です。 少なくとも1か所で多くの松葉杖を集めてくれてありがとう。 (確かに、npmはraw-loader、base64-loaderなどのあいまいな名前のモジュールでいっぱいです。ローダーのプレフィックスを付けるのは困難でした)。



どうやら、ドキュメントを書くことはもはや流行ではありませんでした。 なんで? 同じオープナー。 人はソースを開くことができ、そこに、彼がそれを見つけてコピーするでしょう。



All Articles