专为webkit内核而生的javascript库mango正式发布

Mango(芒果) javascript库

求fork

https://github.com/willian12345/mango

什么是mango

mango是以webkit为内核的浏览器专门编写的javascript库, api高仿jquery api

mango在BSD协议下开源发布

为什么会写mango.js

因为webkit,现在越来越多的公司产品是用native程序包一个webkit内核用html5 来实现UI交互界面,而交互界面javascript又扮演着至关重要的角色。 Jquery几乎成了大多数公司选择的javascript库,如果你作为一个jser连jquery都不会用,那你就别混了,亲。

但是jquery并不是专门针对webkit的

jquery的包袱

jquery的特点就是write less do more并兼容各型浏览器,这是伟大的创举,同时也是其包袱,各种兼容浏览器的代码,各种为了write less而发明的选择器,方便我们程序人员的同时它却是自己的包袱,这也至使其付出性能代价。

如果你的应用是安装在移动端,或者是应用在硬件性能并不怎么好的android设备上,你就会关心jquery的性能问题了

mango放下了jquery的包袱

1、抛弃了各形浏览器兼容的代码专为webkit内核的浏览器而写;

2、直接使用了html5所原生支持的selector选择器;

3、使用最新的html5 提供的api 最大可能提升性能;

4、提供与jquery 95%一至的api,减少学习成本;

mango是否是重复造轮子?

mango只是提供了与jquery api几乎一至的api,但它却是纯为webkit而生的,也有别于zepto之类的javascript库。Mango就是用来写webkit内核的web app的,更纯粹。

mango的性能

经过测试mango的api性能

全面超越jquery1.3、jquery1.7、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

 
 

专为webkit内核而生的javascript库mango正式发布的更多相关文章

  1. 深入了解webkit内核第一篇:JavaScript引擎深度解析

    看到HorkeyChen写的文章<[WebKit] JavaScriptCore解析--基础篇(三)从脚本代码到JIT编译的代码实现>,写的很好,深受启发.想补充一些Horkey没有写到的 ...

  2. [WebKit内核] JavaScript引擎深度解析--基础篇(一)字节码生成及语法树的构建详情分析

    [WebKit内核] JavaScript引擎深度解析--基础篇(一)字节码生成及语法树的构建详情分析 标签: webkit内核JavaScriptCore 2015-03-26 23:26 2285 ...

  3. 八大Webkit内核浏览器

    列举出时下最流行的Webkit内核浏览器,所以我们并不会做出评测和对比.PS:本文列举的浏览器有一部分为IE+Webkit双核浏览器,如果您对其他IE内核浏览器很感兴趣<抛弃数据!用体验和感觉告 ...

  4. iOS:WebKit内核框架的应用与解析

    原文:http://www.cnblogs.com/fengmin/p/5737355.html 一.摘要: WebKit是iOS8之后引入的专门负责处理网页视图的框架,其比UIWebView更加强大 ...

  5. 浅谈关于QT中Webkit内核浏览器

    关于QT中Webkit内核浏览器是本文要介绍的内容,主要是来学习QT中webkit中浏览器的使用.提起WebKit,大家自然而然地想到浏览器.作为浏览器内部的主要构件,WebKit的主要工作是渲染.给 ...

  6. Webkit内核探究【1】——Webkit简介

    出处:http://www.cnblogs.com/jyli/archive/2010/01/31/1660355.html作者:李嘉昱 研究Webkit内核已经有一段时间了,在这期间我花了很多时间去 ...

  7. 从webkit内核简单看css样式和css规则优先级(权重)

    目录 webkit中样式相关类及类间关系 样式规则匹配 权重(优先级)计算 权重相同时的覆盖原则 webkit中样式相关类及类间关系 资料来源: <webkit技术内幕> 结构相关类: 1 ...

  8. WebKit内核分析之Page

    参考地址:http://blog.csdn.net/dlmu2001/article/details/6213377 注:本系列博客是在原博主博客基础上增加了自己的理解和片段,可以看源博文获得清晰的结 ...

  9. 【转】.NET多种WebKit内核/Blink内核浏览器初步测评报告

    第1篇:.NET多种WebKit内核/Blink内核浏览器初步测评报告 本文转自“吾乐吧软件站”,原文链接:http://www.wuleba.com/?p=23590 报告研究时间:2013-10- ...

随机推荐

  1. Codeforces 442C Artem and Array(stack+贪婪)

    题目连接:Codeforces 442C Artem and Array 题目大意:给出一个数组,每次删除一个数.删除一个数的得分为两边数的最小值,假设左右有一边不存在则算作0分. 问最大得分是多少. ...

  2. 对象javascript

    //对象 var lennon=Object(); lennon.name="John"; lennon.year=1940; lennon.living=false; conso ...

  3. navicat连接oracle数据库报ORA-28547: connection to server failed, probable Oracle Net admin error错误的解决方法

    原文:navicat连接oracle数据库报ORA-28547: connection to server failed, probable Oracle Net admin error错误的解决方法 ...

  4. each与list的用法

    each与list的用法(PHP学习) 1.each的用法 先看API array each ( array &$array ) api里是这么描述的:each — 返回数组中当前的键/值对并 ...

  5. bootstrap基本标签总结2

    [布局]bootstrap基本标签总结2   缩略图 <div class="container"> <div class="row"> ...

  6. ORACLE经常使用的命令

    一个.ORACLE启动和关机 1.在独立环境中 要启用或禁用ORACLE该系统必须切换到ORACLE用户,例如以下 su-oracle a.启动ORACLE系统 oracle>svrmgrl S ...

  7. JS解析DataSet.GetXML()方法产生的xml

    在实际的项目制作过程中,经常要采用ajax方式来进行,当然,这就免不了要进行数据交换.如果采用拼接字符串的方式来进行,不仅拼接的时候麻烦,而且在拆解的时候更加麻烦,一旦遇到特殊字符,那么就是灾难了.因 ...

  8. android 背景图片的设置

    在java文件中对控件设置背景图片 layout.setBackgroundDrawable(getResources().getDrawable(R.drawable.bgimage)) 在设置中, ...

  9. 使用javaservice 将jboss 注册为服务

    近来做项目,需要jboss定期重新启动.不想再看到jboss启动那个黑洞洞的窗口,就想着把它注册为服务,然后在net start.恰好objectweb上有个open source的javaservi ...

  10. ASP.NET MVC之单元测试

    ASP.NET MVC之单元测试分分钟的事2014-07-15 13:05 by 书洞里的猫, 550 阅读, 4 评论, 收藏, 编辑 一.为什么要进行单元测试? 大部分开发者都有个习惯(包括本人在 ...