SeaJs
Sea.js是一個很純粹小巧的模塊加載器,它只解決一個問題:前端代碼的模塊化。通過Sea.js,可以將大量JavaScript代碼封裝成一個個小模塊,然后輕松實現模塊的加載和依賴管理。核心目標是給前端開發提供簡單、極致的模塊化開發體驗.遵守 CMD (Common Module Definition)模塊定義規范。一個文件就是一個模塊。
關注源碼:please refers to https://github.com/seajs/seajs
官網:http://seajs.org/docs/
文檔:http://seajs.org/docs/#docs
社區:https://github.com/seajs/seajs/issues/271
項目構建工具:https://github.com/seajs/seajs/issues/538
SeaJs API:https://github.com/seajs/seajs/issues/266
http://yslove.net/seajs/
相關鏈接:http://docs.kissyui.com/
Sea.js的本質意義是通過模塊化開發,來提高代碼的可維護性。對工程師而言,是關注度分離,更將更多精力聚焦在代碼本身的邏輯上。
有了Sea.js,我們就可以書寫模塊了。Arale則是一套滿足支付寶需求的通用模塊集合,是一套基于模塊化的前端基礎類庫,目前具備100多個模塊,簡單易用。
Sea.js的核心設計思想:保持簡單,職責清晰、性能優先和適度完備。
1. 對外保持使用接口的簡單。Sea.js的常用API只有7個,使用者一旦了解,基本沒什么記憶成 本,可以快速上手。
2. 內部實現代碼盡可能簡單。追求內部實現的簡單有很多好處,比如,別人可以比較容易讀懂源碼,這樣就能參與進來協同開發。源碼簡單,往往也意味著不太會有晦澀的bug存在。Sea.js的內部實現,一直在往“簡單得明顯沒有bug”的方向努力。
3.職責清晰是讓Sea.js的范疇明確,隨時知道自己應該做什么,不應該做什么。一個框架,最怕的是需求膨脹,最怕的是復雜化。
4.性能優先是因為Sea.js是底層加載器,倘若性能不好,直接會影響頁面性能,因此源碼中有不少地方會刻意追求性能。
5.適度完備是從功能的層面看Sea.js的API是否能滿足常用需求,同時又能通過插件機制對外提供適度的可擴展性。Sea.js不追求能夠滿足所有需求,而是追求2/8原則。
通常把通用的、底層的功能抽象出來,獨立成一個個函數,比如,util.js
function each(arr) {// 實現代碼 }function log(str) {// 實現代碼 }如果遵守模塊定義規范,就變成下面這樣的:
define(function(require, exports) {exports.each = function (arr) {// 實現代碼};exports.log = function (str) {// 實現代碼}; });總結
- 上一篇: 什么是委托以及案例
- 下一篇: 开发一个Swing功能时的一点总结