Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

「バンドラー」を説明・紹介するページを作る #728

Open
izumi1981 opened this issue Jun 20, 2023 · 8 comments
Open

「バンドラー」を説明・紹介するページを作る #728

izumi1981 opened this issue Jun 20, 2023 · 8 comments
Labels
chapter:作って学ぶ 「作って学ぶ」チュートリアル系のコンテンツです。 stage1:話し合い中 結論を出すために話し合いをしている最中です。まだ着手・プルリクエストの作成はしないでください。 volume:L 数セクションから1ページの大きめの執筆量。

Comments

@izumi1981
Copy link

  • 何をどうしたいか?
    複数の .tsファイルの tsc コンパイルを1つの .jsファイルにしたい。(require.jsを読み込んでindex.htmlから実行する)

  • そうしたい理由は何か? (誤植の修正など理由が自明な場合は不要)
    複数ファイルでチーム開発しやすい状態にしたいから。

  • やるとなったら自分が担当したいか? (自分がその変更のプルリクエストを作りたい場合)
    自分が担当したいです。

@izumi1981
Copy link
Author

@suin suin added the stage1:話し合い中 結論を出すために話し合いをしている最中です。まだ着手・プルリクエストの作成はしないでください。 label Jun 23, 2023
@suin suin changed the title 複数ファイルコンパイル 「バンドラー」を説明・紹介するページを作る Jun 23, 2023
@suin
Copy link
Contributor

suin commented Jun 23, 2023

読者の想定質問

  • バンドルとは?
  • なぜフロントエンド開発にはバンドルはなぜ必要なの?
  • バンドラーって何?
  • バンドラーにはどんなツールがあるの?

@suin
Copy link
Contributor

suin commented Jun 23, 2023

着手可になるまでに必要なこと

  • アウトラインを決める
  • どの章に書くか決める

@suin
Copy link
Contributor

suin commented Jun 23, 2023

  • どの章に書くか? → 作って学ぶ

@suin
Copy link
Contributor

suin commented Jun 23, 2023

どのバンドラーを体験してもらうか?

CleanShot 2023-06-23 at 20 08 30 png
CleanShot 2023-06-23 at 20 08 39 png

  • webpack → もうメンテしないと言われているので微妙
  • vite → 伸びがよくてTypeScriptのことを考えれていて、チュートリアルとしてちょうどいいかも

@suin
Copy link
Contributor

suin commented Jun 23, 2023

@minmin0530
Copy link

minmin0530 commented Jun 24, 2023

アウトライン

バンドラーとは

複数ファイルにまたがっているプロジェクトをまとめるモノ

フロントエンド開発にバンドラーが必要なのは何故

  • バンドラーがないと1つのファイルでプロジェクトを管理しないといけなくなるから
  • チーム開発がしやすくなる

バンドラーってなに?

「束ねる」という意味
TypeScriptでの意味は、複数のファイルを束ねて1つのプロジェクトにしてくれるモノ

バンドラーにはどんなツールがあるの?

  • webpack
  • vite
  • require.js

viteについて

  • viteとは
  • viteの特徴
  • viteの使い方

@suin
Copy link
Contributor

suin commented Jul 7, 2023

アウトラインを拝見しました。反応が遅くなり申し訳ございません!

全体としてよくまとまっており、バンドラーについての一般的な知識を伝えるための良い出発点になっていると思います。

ただし、いくつかフィードバックを提供させていただきますね。主に内容を詳しくすることと、一部の節に具体性を付けることを提案します。

  1. バンドラーとは: バンドラーが「複数ファイルを束ねて1つのプロジェクトにしてくれるもの」と説明するのは適切ですが、依存関係を解決し、最小限のフットプリントでブラウザが読み込みできる形式への変換という、バンドラーの役割について説明したほうが良いでしょう。

  2. フロントエンド開発にバンドラーが必要な理由: このセクションはもう少し詳しく解説することが望ましいです。例えば

  • ESモジュールのサポートが未だに完全には普及していない現代のウェブブラウジング環境。
  • 開発時と本番では異なるコードを提供しなければならない現実(開発モードでは読みやすくデバッグしやすいコードが必要、一方本番ではパフォーマンスを最適化するためにすべてを最小化する必要がある)。
  • HTTPでは複数の小さなファイルをロードするよりも、一つの大きなファイルをロードする方がユーザーエクスペリエンスが良い

これらの理由から「フロントエンド開発にバンドラーが必要」といった具体的な課題とその解決策も提案してはいかがでしょうか。

また、その逆にサーバーサイドJavaScriptではバンドラーが不要であるという事実に明確に触れ、それがなぜそうなのか理由を述べてみてはいかがでしょうか。

バンドラーがないと1つのファイルでプロジェクトを管理しないといけなくなる

これは具体的にどういう問題をイメージされてますでしょうか?

  1. バンドラーってなに?: これは前述の「バンドラーとは」と説明が重複しているように見えます。もう少し具体的な話題、例えばバンドラーの仕組み、またはどのように動作するかについて述べるなどして、読者に新たな情報を提供するほうが良いでしょう。

複数のファイルを束ねて1つのプロジェクトにしてくれるモノ

プロジェクトというと案件のようなものを連想してしまうせいか、「1つのプロジェクト」という表現はあまり見かけないように思いますが、「1つのJavaScriptファイル」または「1つのバンドル」と表現するのはいかがでしょうか?

  1. バンドラーにはどんなツールがあるの?: ここに「Parcel」や「Rollup」等、他の一般的なバンドラーも含めるとより完全なリストになります。Webpackは現在広く使われていますが、それの正統後継者となる新しいバンドラーTurbopackの開発も進行中です。こうした現状についても言及するといいかもしれません。また、CommonJSからESモジュールへ移行が進む現在では、実務ではあまり使用されることがなくなったRequire.jsはリストから外すことをお勧めします。

  2. viteについて: 流れはとてもいいと思います。チュートリアルの内容をより具体化して「viteで2つのTypeScriptファイルを1つのJavaScriptファイルにしてみよう」という演習にすると、より読者の理解が進むものになると思います。

ご提出いただいたアウトラインは全体的によくまとまっていますが、上記の点について考慮していただくことで、さらに洗練された記事になると思います。次のステップに進む前に、これらのフィードバックを検討してみてください。どんな質問でもお気軽にどうぞ。

@suin suin added volume:L 数セクションから1ページの大きめの執筆量。 chapter:作って学ぶ 「作って学ぶ」チュートリアル系のコンテンツです。 labels Jul 14, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
chapter:作って学ぶ 「作って学ぶ」チュートリアル系のコンテンツです。 stage1:話し合い中 結論を出すために話し合いをしている最中です。まだ着手・プルリクエストの作成はしないでください。 volume:L 数セクションから1ページの大きめの執筆量。
Projects
None yet
Development

No branches or pull requests

3 participants