专为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. Windows平台配置Appium+Java环境

    1) 安装JDK 下载地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html 安装 ...

  2. 【LeetCode】 sort list 单清单归并

    称号:Sort a linked list in O(n log n) time using constant space complexity. 思路:要求时间复杂度O(nlogn) 知识点:归并排 ...

  3. IOS启动其他应用程序

    从app1打开app2.主要的思路就是,能够为app2定义一个URL,在app1中通过打开这个URL来打开app2,在此过程中.能够传送一些參数. 在app1的代码中打开刚才定义的URL.代码例如以下 ...

  4. 在SQL Server中对视图进行增删改

    原文:在SQL Server中对视图进行增删改 Lesktop开源IM发布以后,有一些网友问及如何在嵌入IM后与自己网站的用户系统整合(即如何让嵌入的IM直接使用网站原有的用户数据库,而不需要将已有的 ...

  5. 模板专业化和模板偏特样片(template specialization and partial template specialization)

    测试环境: win7 64 g++ 4.8.1 /*************************************************************************** ...

  6. Android学习小Demo(21)ListView的联动选择

    在日常的App开发中,尤其是在开发生活服务的应用上,非常多时候,我们会须要联动地展现省市区的数据等,需求大概例如以下: 1)展现全部省份 2)当点击某省份的时候,在二级菜单上展现此省份以下所属的城市列 ...

  7. 硬盘安装Archlinux「2013-12-26」

    按照Archlinux的中文WIKI安装完成,最后安装引导失败.原因未知. 折腾的脑袋好大,本来都要放弃了,幸好在贴吧发帖求助,吧友@atmouse耐心热心的帮助 最后重启成功启动.帖子地址:http ...

  8. Spring Resource之内置的Resource实现

    Spring提供了大量的并且可以直接使用的Resource实现 1.UrlResource UrlResource封装了一个java.net.URL,而且可以通过一个URL用于访问任何对象,例如文件. ...

  9. SQL实现多行合并一行 .

    ORACLE纯SQL实现多行合并一行[转] 项目中遇到一个需求,需要将多行合并为一行.表结构如下:NAME                            Null           Type ...

  10. C#的StringBuilder 以及string字符串拼接的效率对照

    今天公司一个做Unity3d的人在说字符串拼接的一个效率问题,他觉得string拼接会产生新的一个内存空间,假设不及时回收会产生大量的碎片,特别是在Unity3d这样一个Updata环境下,由于每一帧 ...