|
6 | 6 |
|
7 | 7 | JavaScriptの世界では1つの大きなライブラリよりも小さいなものを組み合わせていくようなスタイルが多く見られます。 |
8 | 8 |
|
9 | | -小さなものを組み合わせて使えるようなエコシステムの土台となるものを書く際には、プラグインアーキテクチャが重要になると言えます。 |
| 9 | +小さなものを組み合わせて使えるようなエコシステムの土台を作るには、プラグインアーキテクチャが重要になると言えます。 |
10 | 10 |
|
11 | | -> ソフトウェアの構造に「プラグイン機構」を設け、ユーザコミュニティから開発者コミュニティへの質的な転換を図るのは、ソフトウェア設計からエコシステム設計へとつながる |
| 11 | +> ソフトウェアの構造に「プラグイン機構」を設け、ユーザコミュニティから開発者コミュニティへの質的な転換を図るのは、ソフトウェア設計からエコシステム設計へとつながる |
12 | 12 | > -- [OSS開発の活発さの維持と良いソフトウェア設計の間には緊張関係があるのだろうか? - t-wadaのブログ](http://t-wada.hatenablog.jp/entry/active-oss-development-vs-simplicity "OSS開発の活発さの維持と良いソフトウェア設計の間には緊張関係があるのだろうか? - t-wadaのブログ") |
13 | 13 |
|
14 | | -この書籍では、そのプラグインアーキテクチャ、そのエコシステムを形成してるライブラリやツールなどの実装を学ぶことが目的となっています。 |
| 14 | +この書籍では、JavaScriptにおけるプラグインアーキテクチャ、そのエコシステムを形成してるライブラリやツールなどの実装を学ぶことが目的となっています。 |
15 | 15 |
|
16 | | -## Installation |
17 | | - |
18 | | - npm install |
19 | | - |
20 | | -## Usage |
21 | | - |
22 | | -この書籍は[GitBook](https://github.com/GitbookIO/gitbook "GitBook")を使い書かれています。 |
| 16 | +## Contributing |
23 | 17 |
|
24 | | -### 表示の確認 |
| 18 | +この書籍は無料で読みことができ、同時に修正や新しいページを書く権利があります。 |
25 | 19 |
|
26 | | -`npm start`でGitBookのローカルサーバを立ち上げて表示を確認出来ます。 |
| 20 | +[CONTRIBUTING.md](https://github.com/azu/JavaScript-Plugin-Architecture/blob/master/CONTRIBUTING.md)に、書籍で扱うべきプラグインアーキテクチャのProposalの書き方や |
| 21 | +Pull Request、コミットのやりかたなどが書かれています。 |
27 | 22 |
|
28 | | - npm start |
| 23 | +間違いやライブラリのアップデートへの追従など何かあれば、IssueやPull Requestをよろしくお願いします。 |
29 | 24 |
|
30 | | -### テスト |
| 25 | +ソースコードは全てGitHubに公開されています。 |
31 | 26 |
|
32 | | -`npm test`でコードや文章の単語チェックを行えます |
| 27 | +- [azu/JavaScript-Plugin-Architecture](https://github.com/azu/JavaScript-Plugin-Architecture) |
33 | 28 |
|
34 | | - npm test |
| 29 | +## License |
35 | 30 |
|
36 | | -### 文章カバレッジ |
| 31 | +MIT/CC BY-NC © azu |
37 | 32 |
|
38 | | -[textlint](https://github.com/textlint/textlint "textlint")と[textlint-formatter-codecov](https://github.com/azu/textlint-formatter-codecov "textlint-formatter-codecov")を使って出してる文章に対するカバレッジ |
| 33 | +- コードはMITライセンスで利用できます |
| 34 | +- 文章は[CC BY-NC 4.0](http://creativecommons.org/licenses/by-nc/4.0/ "CC BY-NC 4.0")で利用できます |
39 | 35 |
|
40 | | -100%を理想的目標として、それに対する現実的な値をカバレッジの%として表現しています。 |
| 36 | +## この書籍の内容について |
41 | 37 |
|
42 | | -[](https://codecov.io/github/azu/JavaScript-Plugin-Architecture?branch=master) |
| 38 | +### [jQuery](ja/jQuery/README.md) |
43 | 39 |
|
44 | | - |
| 40 | +jQueryのプラグインについて解説しています。 |
| 41 | +`<script>`タグをベースとしたプラグインアーキテクチャについて解説しています。 |
45 | 42 |
|
46 | | -現在の文章カバレッジは以下のコマンドでも確認することができます。 |
| 43 | +### [ESLint](ja/ESLint/README.md) |
47 | 44 |
|
48 | | -``` |
49 | | -npm run textlint:coverage |
50 | | -``` |
| 45 | +ESLintのルールを拡張する仕組みについて解説しています。 |
| 46 | +ESLintではJavaScriptのコードをパースして作成されたASTを元にコードのLintを行います。 |
| 47 | +実際にESLintのルールを解釈できる小さな実装を作りながらプラグインの仕組みについて学びます。 |
51 | 48 |
|
52 | | -## Contributing |
| 49 | +### [Connect](ja/connect/README.md) |
53 | 50 |
|
54 | | -[CONTRIBUTING.md](./CONTRIBUTING.md)に、書籍で扱うべきプラグインアーキテクチャのProposalの書き方や |
55 | | -Pull Request、コミットのやりかたなどが書かれています。 |
| 51 | +Connectの **middleware** と呼ばれるプラグインアーキテクチャについて解説しています。 |
| 52 | +Node.js以外においても_Rack_などHTTPサーバーでよく見られるプラグインを使った階層構造について学びます。 |
56 | 53 |
|
57 | | -## License |
| 54 | +### [gulp](ja/gulp/README.md) |
58 | 55 |
|
59 | | -© azu |
| 56 | +**タスク自動化ツール** であるgulpのプラグインアーキテクチャについて解説しています。 |
| 57 | +gulpではデータの流れとして既存のNode.js Streamを使い、そこで流すデータとしてvinylオブジェクトを利用します。 |
| 58 | +実際にgulpプラグインを書きながら、gulpのプラグインの仕組みについて学びます。 |
60 | 59 |
|
61 | | -コードはMITライセンスで利用できます。 |
62 | | -文章は[CC BY-NC 4.0](http://creativecommons.org/licenses/by-nc/4.0/ "CC BY-NC 4.0")で利用できます。 |
| 60 | +### [Redux](ja/Redux/README.md) |
63 | 61 |
|
| 62 | +アプリケーションのStateを管理するライブラリであるReduxのプラグインアーキテクチャについて解説しています。 |
| 63 | +Reduxでは **Middleware** と呼ばれる拡張の仕組みを持っていますが、Connectとの類似点や相違点があります。 |
| 64 | +小さなReduxの実装を作りながら **Middleware** の仕組みについて学びます。 |
0 commit comments