专为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

相关文章
相关标签/搜索