GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — GitHub - azu/JavaScript-Plugin-Architecture: JavaScriptプラグインアーキテクチャの本

BranchesTags
Open more actions menu

Latest commit

 

History

425 Commits
425 Commits

Folders and files

NameName
Last commit message
Last commit date
.github
.github
 
 
fonts/IPAexfont00201
fonts/IPAexfont00201
 
 
ja
ja
 
 
src
src
 
 
test
test
 
 
.babelrc
.babelrc
 
 
.eslintrc
.eslintrc
 
 
.gitignore
.gitignore
 
 
.md.eslintrc
.md.eslintrc
 
 
.mocharc.json
.mocharc.json
 
 
.textlintrc
.textlintrc
 
 
CONTRIBUTING.md
CONTRIBUTING.md
 
 
Dockerfile
Dockerfile
 
 
LICENSE
LICENSE
 
 
README.md
README.md
 
 
SUMMARY.md
SUMMARY.md
 
 
book.json
book.json
 
 
codecov.yml
codecov.yml
 
 
coverage.textlintrc
coverage.textlintrc
 
 
package-lock.json
package-lock.json
 
 
package.json
package.json
 
 

Repository files navigation

JavaScript Plugin Architecture Actions Status: test

この書籍はJavaScriptのライブラリやツールにおけるプラグインアーキテクチャについて見ていくことを目的としたものです。

次の形式で読むことができます。

  • Web版
  • PDF形式
  • ePub形式
  • Mobi形式

この書籍のソースコードは、次のGitHubリポジトリに公開されています。

  • azu/JavaScript-Plugin-Architecture: JavaScriptプラグインアーキテクチャの本

Twitterのハッシュタグは#js_plugin_book

更新情報はRSSやリリースノートから見ることができます。

GitHub はてなブックマークに追加

はじめに

JavaScriptの世界では1つの大きなライブラリよりも小さなライブラリを組み合わせていくようなスタイルが多く見られます。 小さなものを組み合わせて作るためには、プラグインと呼ばれる拡張の仕組みが必要となります。 またそのようなプラグインがたくさんあるエコシステムの土台を作るには、プラグインアーキテクチャが重要になるといえます。

ソフトウェアの構造に「プラグイン機構」を設け、ユーザコミュニティから開発者コミュニティへの質的な転換を図るのは、ソフトウェア設計からエコシステム設計へとつながる
-- OSS開発の活発さの維持と良いソフトウェア設計の間には緊張関係があるのだろうか? - t-wadaのブログ

この書籍では、JavaScriptにおけるプラグインアーキテクチャやそのエコシステムを形成してるライブラリやツールなどの実装を学ぶことが目的となっています。

JavaScriptの基本的な文法などについては解説していないため、次の書籍を参照してください。

  • JavaScript Primer - 迷わないための入門書 #jsprimer

この書籍の内容について

jQuery

jQueryのプラグインについて解説しています。 <script>タグをベースとしたプラグインアーキテクチャについて解説しています。

ESLint

ESLintのルールを拡張する仕組みについて解説しています。 ESLintではJavaScriptのコードをパースして作成されたASTを元にコードのLintを行います。 実際にESLintのルールを解釈できる小さな実装を作りながらプラグインの仕組みについて学びます。

Connect

Connectの middleware と呼ばれるプラグインアーキテクチャについて解説しています。 Node.js以外においても_Rack_などHTTPサーバーでよく見られるプラグインを使った階層構造について学びます。

gulp

タスク自動化ツールとして知られるgulpのプラグインアーキテクチャについて解説しています。 gulpではデータの流れとして既存のNode.js Streamを使い、そこで流すデータとしてvinylオブジェクトを利用します。 実際にgulpプラグインを書きながら、gulpのプラグインの仕組みについて学びます。

Redux

アプリケーションのStateを管理ライブラリのReduxのプラグインアーキテクチャについて解説しています。 Reduxでは middleware と呼ばれる拡張の仕組みを持っていますが、Connectとの類似点や相違点があります。 小さなReduxの実装を作りながら middleware の仕組みについて学びます。

Contributing

この書籍は無料で読むことができ、同時に修正や新しいページを書く権利があります。

CONTRIBUTING.mdに、書籍で扱うべきプラグインアーキテクチャのProposalの書き方や Pull Request、コミットのやりかたなどが書かれています。

間違いやライブラリのアップデートへの追従など何かあれば、IssueやPull Requestをよろしくお願いします。

ソースコードはすべてGitHubに公開されています。

  • azu/JavaScript-Plugin-Architecture

Author

  • github/azu
  • twitter/azu_re

License

MIT/CC BY-NC © azu

  • コードはMITライセンスで利用できます
  • 文章はCC BY-NC 4.0で利用できます

About

JavaScriptプラグインアーキテクチャの本

azu.github.io/JavaScript-Plugin-Architecture/

Resources

Readme
MIT license

Code of conduct

Code of conduct

Contributing

Contributing

Security policy

Security policy
Activity

Stars

257 stars

Watchers

14 watching

Forks

10 forks
Report repository

Releases

Sponsor this project

Used by

Contributors

Languages

You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.