1. MUI框架介绍
mui是DCLOUD的HTML5混合移动应用前端框架,mui技术是最接近原生App体验的前端框架。
使用mui框架可以快速搭建手机移动原生界面应用开发,配合着Hbuilder开发工具可以达到更加快速的开发模式。
MUI特点:
1. 极小
100k的js文件,60k的css文件。原生编写,不依赖任何三方框架
2. 极强
xcode和Android studio里所有原生控件都具备
3. 高性能
精练的代码、适时的5+原生动画调用,达到原生应用的体验
4. 多端发布
编写一套代码,发布到iOS、Android、浏览器、微信App、百度直达号、流应用全覆盖
2. MUI的实现原理
2.1 HTML5+
HTML5+也可以称为HTML5 Plus
H5+ 是一种基于 HTML5 技术的跨平台移动应用开发框架。
H5+ 框架核心特性包括:跨平台开发,原生功能支持,性能优化,开发工具支持,社区生态
HTML5+文档补充 : https://ask.dcloud.net.cn/article/89
2.2 H5开发APP的痛点
1) 无法调用手机硬件上的功能,比如拍照、通讯录等
2) 为弥补H5能力的不足,中国成立了HTML5中国产业联盟组织,推出HTML5+规范。
2.3 什么是 HTML5+ ?
- HTML5+规范是一个开放规范
- HTML5+新增了JavaScript对象plus,使得js可以调用各种浏览器无法实现或实现不佳的设备能力
- 简单来说就是HTML5+可以调用一些设备硬件上的API,如摄像头、陀螺仪、文件系统、通讯录等
2.4 HTML5+提供的plus对象
- mui中有个plus对象,他不是简单的使用html5的功能,而是提供了一个叫html5+的API集,并且将他们封装在了这个plus对象中,里面有陀螺仪,map,定位,相机,文件流等等的原生功能调用接口!
- plus对象就必须在mui.plusReady()之中使用,如果不需要用HTML5+提供的API,你并不需要使用plusReady方法,只需要在用mui之前mui.init()一下就可以,这也是mui.init()和plusReady()的区别
- mui.plusReady()是为“html5+”而生的,最终需要打包成了app级别才能使用,因为这plus对象里面的东西最终会被映射成为java,objective-c的代码
- 这些底层的实现都已经由dcloud团队领导的“中国html5+产业联盟”(社区)实现了,我们只要知道我们写的plus对象的js代码都会被转化为原生代码,app就能实现很多原生功能的调用。
- plus这些东西在浏览器级别是不支持的,所以不可以在浏览器中调用plusReady,以及plus.xxx.xxx方法等
- 要使用html5+就要求我们打包成app,有5+Runtime运行环境,这样即可运行plus对象下的对象和方法,这个打包可以由hbuilder实现
3. HBuilder开发工具介绍
HBuilder是DCloud(数字天堂)推出的一款支持HTML5的Web开发IDE。HBuilder的编写用到了Java、C、Web和Ruby。HBuilder本身主体是由Java编写。它基于Eclipse,所以顺其自然地兼容了Eclipse的插件。数字天堂公司是HTML5联盟成员,在前端方面非常具有权威的。
DCloud.io,数字天堂(北京)网络技术有限公司。
专业的开发工具厂商。小程序先行者。为开发者提供各种开发工具,包括HBuilder、uni-app、uniCloud等流行产品,拥有800万开发者,手机端引擎月活过13亿。
开发工具特点:
- 编码比其他工具快5倍够不够?对极客而言,追求快,没有止境!
- 代码输入法:按下数字快速选择候选项
- 可编程代码块:一个代码块,少敲50个按键
- 内置emmet:tab一下生成一串代码
- 无死角提示:除了语法,还能提示ID、Class、图片、链接、字体…
- 跳转助手、选择助手,不用鼠标,手不离键盘
- 多种语言支持:php、jsp、ruby、python、nodejs等web语言,less、coffee等编译型语言均支持
- 边改边看:一边写代码,一边看效果
- 强悍的转到定义和一键搜索
- 这里还有最全的语法库、最全的语法浏览器兼容库