專爲webkit內核而生的javascript庫mango正式發佈

Mango(芒果) javascript庫

求forkjavascript

https://github.com/willian12345/mangocss

什麼是mango

mango是以webkit爲內核的瀏覽器專門編寫的javascript庫, api高仿jquery apihtml

mango在BSD協議下開源發佈html5

爲何會寫mango.js

由於webkit,如今愈來愈多的公司產品是用native程序包一個webkit內核用html5 來實現UI交互界面,而交互界面javascript又扮演着相當重要的角色。 Jquery幾乎成了大多數公司選擇的javascript庫,若是你做爲一個jser連jquery都不會用,那你就別混了,親。java

可是jquery並非專門針對webkit的jquery

jquery的包袱

jquery的特色就是write less do more併兼容各型瀏覽器,這是偉大的創舉,同時也是其包袱,各類兼容瀏覽器的代碼,各類爲了write less而發明的選擇器,方便咱們程序人員的同時它倒是本身的包袱,這也至使其付出性能代價。android

若是你的應用是安裝在移動端,或者是應用在硬件性能並不怎麼好的android設備上,你就會關心jquery的性能問題了git

mango放下了jquery的包袱

一、拋棄了各形瀏覽器兼容的代碼專爲webkit內核的瀏覽器而寫;github

二、直接使用了html5所原生支持的selector選擇器;web

三、使用最新的html5 提供的api 最大可能提高性能;

四、提供與jquery 95%一至的api,減小學習成本;

mango是不是重複造輪子?

mango只是提供了與jquery api幾乎一至的api,但它倒是純爲webkit而生的,也有別於zepto之類的javascript庫。Mango就是用來寫webkit內核的web app的,更純粹。

mango的性能

通過測試mango的api性能

全面超越jquery1.三、jquery1.七、jquery2.0、zepto、jq.mobi

自行選用mango的模塊

根據web app的簡繁程度能夠自由選擇mango所須要的模塊來選擇mango文件,達到最小化mango文件


mango的模塊及api

DOM模塊

  • find
  • remove
  • empty
  • html
  • text
  • show
  • hide
  • siblings
  • add
  • addBack
  • end
  • closest
  • parents
  • parentsUntil
  • children
  • contents
  • eq
  • get
  • first
  • last
  • each
  • prop
  • removeProp
  • attr
  • removeAttr
  • val
  • data
  • parent
  • offset
  • css
  • has
  • is
  • filter
  • index
  • addClass
  • removeClass
  • toggleClass
  • hasClass
  • before
  • after
  • scrollLeft
  • scrollTop
  • append
  • appendTo
  • prepend
  • prependTo
  • next
  • nextAll
  • nextUntil
  • prev
  • prevall
  • prevUntil
  • width
  • innerWidth
  • outerWidth
  • height
  • innerHeight
  • outerHeight

Events模塊

注:支持自定義事件及事件命名空間 ,命名空間以’/’符分隔

  • On
  • Off
  • Hover
  • Trigger
  • One

(各類快捷事件)

click,dblclick,focusout,mousedown,mousemove,mouseout,mouseover,mouseup, change,select, focus, blur, scroll, resize,submit,keydown,keypress,keyup,error

Ajax模塊

  • $.ajax
  • $.getJson

靜態方法

  • $.extend
  • $.param
  • $.isArray
  • $.isBoolean
  • $.isDate
  • $.isNumber
  • $.isObject
  • $.isFunction
  • $.isRegExp
  • $.isString
  • $.each

Todo list

#ajax模塊完善

#更多的靜態方法增長

#更多的jquery api

#完善Deferreds、Callbacks、Broadcast模塊


如何使用

在html中引用mango

"mango.js"

接下來就能夠像使用jquery同樣使用mango了

 

==========================================================================================

轉載處請註明:博客園偷飯貓willian12345@126.com

相關文章
相關標籤/搜索