- Notifications
You must be signed in to change notification settings - Fork0
Book of JavaScript plugin architecture(中文版)
License
ash0080/JavaScript-Plugin-Architecture
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
本书讨论数种javascript库和工具的插件架构设计
提供以下阅读格式
你也可以从GitHub直接获取Markdown格式建议阅读Web版
本文关联的Twitter话题标签是#js_plugin_book
Javascript是一门十分自由的语言.相比其他语言,Javascript的既有库可谓浩瀚,实际工作中我们往往拿来主义
,通过数个既有库,我们能够较为轻松地完成工作,当我们有能力完成Application层面的工作之后,下一步该往何处去? 我们该如何写出框架
级别的东西呢?这时我们面对的第一个问题往往是: 如何去规划一个插件架构?带着这个问题,我很偶然地发现了@azu的这本书,受益良多,于是花了一些时间翻译,希望也能与更多人分享,不仅仅是这些分析案例,更重要的是学习方法.
在Javascript的世界中, 存在着多种编码风格,用于将许多细小的功能组合在一起,而不是直接创建一个臃肿庞大的库.为了将细小的功能组合在一起,就需要一种称作「插件扩展」的机制.另外, 插件架构对于创建一个拥有诸多插件的软件生态非常重要.
插件架构的引入会推进从「用户社区」向「开发者社区」, 从「软件开发」向「软件生态」的质的转变--开源软件开发和维护活跃度与良好的软件设计之间是否存在着必然的联系? - t-wada 的博客
本书聚焦于从这类生态中研究和学习javascript的插件架构
剖析了jQuery 插件机制,一种基于<script>
标签的插件架构
本章解释ESLint的rules的扩展机制ESLint将javascript代码转换为AST,然后在AST的基础上实现代码检查通过试写一个实例插件来了解ESLint rules是如何工作的.
展示了Connect中,称为middleware的插件架构这种分层插件结构常见于HTTP servers库,除Node.js之外,还可以在比如Rack 中见到
展示了著名自动化任务工具gulp的插件架构Gulp使用Node.js的Stream实现其数据流,并使用vinyl对象作为其流数据通过实写一个gulp插件来学习gulp的插件架构
解释了Redux应用状态(state)管理框架的插件架构Reduxe使用middelware作为其扩展机制, 不过这里的middelware和Connect既有相似之处,也有所不同.我们通过实际编写一个Redex的middleware 我来学习Redux的插件架构
本书供免费阅读,同时您也有权利增改其内容.
CONTRIBUTING.md关于提交本书建议, Pull Request, commit 等, 可阅读此链接
关于文本错误报告,事例使用的相关库文件更新,请通过Issue或Pull Request提交
本书所有源代码均公开于Github.
MIT/CC BY-NC © azu本中文版由圈爷 翻译
- 源代码基于MIT license
- 文章基于CC BY-NC 4.0 license
About
Book of JavaScript plugin architecture(中文版)
Topics
Resources
License
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Packages0
Languages
- JavaScript94.1%
- Shell5.5%
- HTML0.4%