盤點那些大牌互聯網公司內部使用的JavaScript庫

淘寶:KISSY
支付包&阿里巴巴: Arale
騰訊:JX
百度:Tangram Magiccss

KISSY
KISSY 是一款跨終端、模塊化、高性能、使用簡單的 JavaScript 框架。除了完備的工具集合如 DOM、Event、Ajax、Anim 等,它還提供了經典的面向對象、動態加載、性能優化解決方案。做爲一款全終端支持的 JavaScript 框架,KISSY 爲移動終端作了大量適配和優化,讓你的程序在全終端均能流暢運行。html

Arale
Arale 立足於支付寶的前端需求和國內前端社區,基於 Sea.js 和 CMD 規範,致力發展小而美的前端模塊架構,創建了一套從編碼測試到部署的開發體系, 是一個開放、簡單、易用的前端解決方案。前端

兼容性git

如無特別說明,Arale 模塊均兼容於 IE6+ 以及 Chrome/Firefox/Safari/Opera 的最新穩定版。github

簡介算法

Arale(阿拉蕾) 生在舊社會,長在新中國,本爲一個乖巧可愛的機器人女娃,在 Sea.js 大叔的蠱惑下,逐漸走上了作惡多端的不歸路。設計模式

在猥瑣的 Sea.js 的幫助下,Arale 脅迫了業界最優秀的開源類庫 (包括不限於 jQuery、underscore、momentjs、handlebars 等)爲己所用,而且始終保持對開源社區的邪惡目光,站在並將始終站在這些無辜巨人們的肩膀上。(歡迎加入多是最不肯意本身開發組件的前端團隊!)瀏覽器

Arale 手下擁有 popup、validator、position、autocomplete 等等等等下流狡猾的 CMD 模塊嘍囉們,他們手腳麻利,辦事幹淨,各自獨當一面講義氣,任你各類需求耀武揚威,上去就是一板磚,絕無二話。性能優化

Arale 有兩大幫兇,一是心狠手辣的包管理工具 spm 管家。spm 幫助她處理打包部署等繁瑣工做,讓她沒有後顧之憂,放心上街砍人。 spm 還精心炮製了 源 服務以供 Arale 發佈和管理代碼,實乃黑社會管家們之業界良心。前端框架

第二位是殺千刀的 nico 兄,這位兄弟擅長玩弄 Markdown 格式,幫助 Arale 用 Markdown 來起草各種文檔、演示、用例,方便本地開發,生成靜態站點。他打破了互聯網上的文檔生成舊秩序,對 寫文檔 和 寫演示 這兩位苦大仇深的人犯下了不可饒恕的罪行。

Arale 還有個漂亮的好姐妹 Alice 協理樣式方面的雜事; 有一隻 龍貓 安靜守護在她身邊,耐心進行各類兼容性測試;讓她了無後顧之憂。

最後,最重要的是,Arale 出生和成長在開源街區中,託管在 github 上,深諳互聯網的開源黑文化。都在江湖飄哪能不挨刀,Arale 會在不斷的悶棍、毒鏢暗器、黑吃黑、內訌、街頭火併中越挫越勇,但願道上的人擡愛,給個面子,你們同舟共濟。

JX

JX 是一個相似 Google Closure Library 的 Web 前端開發框架,服役於 WebQQ 等大規模的 WebApp。

簡介

JX 是模塊化的非侵入式Web前端框架,開發於2008年,並於2009年開源於GoogleCode – http://code.google.com/p/j-et/,於2012年切換到Github,開始咱們開源計劃的新徵途,請記住咱們的最新開源地址:https://github.com/AlloyTeam/JX,謝謝你們來支持^_^。 JX 框架同時適用於 Web Page 和 Web App 項目的開發,特別適合構建和組織大規模、工業級的Web App,騰訊 WebQQ、騰訊Q+等產品都是採用JX框架開發,兼容目前全部主流瀏覽器。

設計理念

  1. 保持最優的執行效率
  2. 保持 Javascript 原有的代碼風格,下降學習難度
  3. 不作任何的過分封裝
  4. 更好的組織工業級 Javascript 應用程序
  5. 探索在前端使用 MVP、MVC 等模式來構建大型 WebApp
  6. 探索工業級 Javascript 的開發技術

特性

  1. 微內核設計:內核可徹底分離出來,用於構建其餘的框架
  2. 原生對象零污染:你懂的,隨着js的App越來約複雜,對原生對象的零污染也體現的愈來愈重要了
  3. 模塊封包:採用命名空間、閉包等方式創建了模塊封包的體系,幫助更好的組織海量js代碼
  4. 模塊自由拼裝:自身模塊作了良好的架構分離,儘量讓各個模塊之間能夠自由的拼裝組合
  5. 無縫集成各類js框架:與jQuery, YUI, Mootools, Prototype.js 等框架無縫集成;與多種局部框架無縫集成,如:Mini, Sizzle, cssQuery, xpath, JSON 等等
  6. 多版本共存:如採用的Jx版本過舊,舊有的Javascript代碼不能與新版本Jx兼容,則能夠採用多版本共存的方式保持程序的可延續性
  7. 分層設計:Javascript核心層,與Javascript解釋引擎無關的封裝和擴展;瀏覽器端Javascript層,對瀏覽器中的Javascript引擎部分的封裝和擴展

架構

  • 第一層:Core Javascript 擴展模塊 / 代碼組織模塊(可用於NodeJs等其餘js引擎,輕鬆組織大型應用,無縫接入其它js庫)
  • 第二層:Browser Javascript 擴展模塊(跨瀏覽器,基礎封裝) / 可選模塊(設計模式相關模塊,選擇器模塊…)
  • 第三層:UI 組件 / 實時動畫模塊 / 遊戲引擎模塊
  • 發展規劃
  • 核心底層 – 純Js底層功能封裝/代碼組織/無縫接入其它js庫 – [完成]
  • 基礎擴展 – 跨瀏覽器封裝/工具函數/設計模式相關 – [完成]
  • UI 基礎控件 – 按鈕/面板/窗口/樹形列表/Tab/lightbox/widgets…
  • 實時動畫系統 – 實時定時器/關鍵幀動畫/加速度公式/物理引擎/聲音控制器…
  • 遊戲引擎 – 角色控制/地圖系統/遊戲異步通信系統/尋路算法/鍵盤控制/人工智能/…

設計原則

不要重複造輪子

業界已經有不少優秀的局部框架,好比JSON、Mini Selector Engine、SWFObject等等,做爲一個綜合性的Web前端框架直接作兼容便可,沒有再寫一遍的必要了,因此JX框架針對出色的局部框架作了良好的兼容工做。

Tangram & Magic

Tangram 是一款實用的JavaScript基礎庫,經過她可快速構建出高度互動的Web應用程序,簡單而有效!

特性

  1. 全瀏覽器兼容
  2. 平滑升級體驗
  3. 自由定製輸出最小尺寸

Magic是用JavaScript腳本開發的輕量級UI組件,具備性能高效、代碼量小、支持多種初始化方式等方面的優點,Web前端開發者可使用Magic快速搭建前端功能比較複雜的網站。

Magic的每一個組件都有很是豐富的接口和事件處理,網站也提供了詳細的使用文檔和Demo演示。Web前端開發者能夠經過定製組件、初始化方式和插件得到最輕量級版本。

Magic的底層爲高效的Tangram庫。

特性

  1. 10個經常使用UI組件
  2. 可經過定製得到最輕量級的版本
  3. 全中文文檔,易上手
  4. 支持多種初始化方式
  5. 支持所有PC端瀏覽器
  6. 可自行更換皮膚
相關文章
相關標籤/搜索