前言

现在介绍一款只需要懂html+css+js就能开发app的框架,不需要懂原生语言,完全只需要前端web工程师就能独立开发出android和ios的应用,且一套代码搞定,效率很高。(其实更省事可以wap,android和ios一套带走,一下R闪秒3个平台,没毛病)


框架介绍

这套框架源于DCloud社区,DCloud的社区工程师们通过对h5的扩张,通过运用js在webview调用原生接口,最后通过DCloud的打包做成和h5+的产品,生成一个app。以app分类来定是Hybrid App。这套框架具备开发工具、调试、打包、ui库和工具库,是一套完整地解决开发app框架,且功能和性能效果接近原生。包括二维码、语言输入、支付、推送、陀螺仪等各种手机设备能力,均可通过JS简单调用。方便懒人们,不用学新语言看看API写app就可以了。

技术架构

HTML5+ 基座扩展采用三层结构,JS层、PluginBridge层和Native层。 三层功能分别是:
JS层: 在Webview页面调用,触发Native层代码,获取执行结果。
PluginBridge层: 将JS层请求进行处理,触发Native层扩展插件代码。
Native层: 插件扩展的平台原生代码,负责执行业务逻辑并执行结果返回到请求页面。如果需要写原生功能,就需要用到Native.js技术,简称NJS,是一种将手机操作系统的原生对象转义,映射为JS对象,在JS里编写原生代码的技术。


开始

1.下载工具

万事皆为工具起,必先利其器。下载hbuilder和H5+sdk,mui。
http://www.dcloud.io/runtime.html

2.helloword

1.新建
开始第一个app吧

2.新建项目
建项目的时候可以选择是否引用mui库,还可以选择编译的js语言版本ES5/ES6。下面还有教程和案例的连接给你看,不懂直接点。再不懂来@我吧。哈哈

3.文件夹介绍
css,fonts和js文件夹就是方mui库的。大家应该都清楚,而我只需要介绍manifest.json。unpakckage就是方编译后文件,这个不用管的。

*什么是manifest.json?

就是要打包的原生应用,其各种配置均在此处,一个配置文件。学过android和ios的朋友们应该不陌生吧。

appid是DCloud给的来用来调试开发用的。如果是需要打包,请填上自己appid。

资源都是经过压缩的,学web开发的朋友们,不用想着自动化什么的?
可以像idea那样直接边敲代码边编译,就编译和构造都交给编辑器吧。可视化编辑工具更加友好。

开发过android和ios的朋友们,都为图标的多个尺寸头疼吧。尤其同事开发2个平台的。直接上传一张256*256尺寸的图片,自动转成19个尺寸,且路径都已经写到配置文件上。继续懒着开发吧。

模块权限配置:打开一个app的时候需要一堆授权。在这里点击你app需要授权的功能。

4.运行app
编写index.html页面。
index.html内容如下:

<!DOCTYPE html>
<html>
<head><meta charset="utf-8"><meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" /><title></title><div>HelloWorld</div><script src="js/mui.min.js"></script><link href="css/mui.min.css" rel="stylesheet"/><script type="text/javascript" charset="utf-8">mui.init();</script>
</head>
<body></body>
</html>

写好页面,点击运行->手机运行->找到你刚刚连接的手机,在设备上运行。

5.打包
(1).点击发行->发行为原生安装包。


(2).填入自己的证书,证书如果没有可以使用DCloud公用证书的。


(3).上传到DCloud进行打包。


(4).打包成功!

总结

经过我使用且多次重构后,觉得MUI+H5plus+HBuilder使用起来不太难。遇到问题现百度,不google(国内大神开发的,哈哈),加qq多来聊,通常遇到的都是小问题,基本上文档上都有写清楚的。而开发出来的app动画修改流畅,打包后的文件也很满意(打包前的资源40m打包后20m还减肥不少啊)。也一点都看不出web那种闪啊闪啊,等啊又等的感觉。
最后一点提醒web开发工程师,在开发app的时候,要把思维转换一下。你开发的是一个app必须有app的交互。还有使用的组建,能用原生就尽量调用原生的,别在webview里面用html写个title栏。或者直接写一个webview里面打开一个web做成一个app。这种的app体验性很差,太依赖于网络根本,设计app尽量使用l/s方式。

ps

1.react native对比有什么区别?

react native只使用js,而Mui这套使用的是html+css+js。两者区别最大是no HTML5 和 h5+。这点对于渲染方式要及其大的区别。react native也就是使用js语言编程,但不使用浏览器引擎渲染,而是用独立v8引擎解析指定的js语法,然后由js操作绘制界面。而h5+主要就是靠webview来渲染html界面的。这个渲染方面的区别,还有就是react native是学一套做一套模式,这点就是学ios写ios app,学andriod写android app。这点和Mui app一套双平台,有所区别。


2.phoneGap、cordova对比有什么区别?

phonegap出来的很早,phonegap支持平台很多,能支持windows phone、blackberry,Mui做不了这么多平台支持,起码是现在。而两者的渲染方式很接近。但phonegap学习门槛还是Mui这个高,起码需要懂原生这一点就有所难度。不适合web工程师入门学习。


3.superwebview对比有什么区别?

之前看到我国开发的另一款 Hybrid App 框架,api不够Mui的多,社区活跃度差点。但我有空也会用它来重构一下,支持一下我国开发项目。


4.native app对比有什么区别?
我觉的native app的开发成本比较高,需要同时使用2种语言。而Mui app这点比起来绝对是低廉。而但性能上绝对native app占优。还有其实现在native app和hybrid app都是共同在app占有半边江山。而开发出是native app还是hybrid App更多应该在需求和产品设计来定。多少的成本,多少的资源,app的存活时间等等,都在考虑之内。而我个人虽然懂的开发hybrid App,但我还是会去学习java和Objective-C的。不应该满足能实现一个app而止,还需要多了解原生的东西。

MUI+H5plus+HBuilder开发app(android,ios)介绍相关推荐

  1. 前端MUI+H5+HBuilderX开发APP(IOS,android),后台Springboot,java学习与实践文章,更新中(二)

    前端MUI+H5+HBuilderX开发APP(IOS,android),后台Springboot,项目搭建,图标设置等,更新中(二) 新建我的第一个APP manifest.json: 图标设置: ...

  2. HBuilder开发App教程01-推开前端开发App的大门

    奇妙的前端,奇妙的js 众所周知,自从js有nodejs后,前端人员可以华丽的转身,去开发高并发非阻塞的服务端程序, 随着html5的出现,伴随一些amazing的特性,h5开发app的技术越发的成熟 ...

  3. Hbuilder开发app实战-识岁06-face++的js实现【完结】

    前言 因为识岁app比較简单.所以这节就完结吧, 当然另一些能够优化完好的地方,可是个人兴趣不是非常大, 有想继续完好的,源代码在这里:https://github.com/uikoo9/shisui ...

  4. Hbuilder开发app实战-识岁01-actionsheet实例

    前言 之前写了HBuilder开发App入门-滴石.相信大家看完后应该能够入门了, 之后会做一些简单的app.把nativejs一些经常使用的功能都过一遍,这样以后做app就没什么难的了. 识岁 借助 ...

  5. Delphi 开发跨平台 Android / iOS 程序的多语言

    使用 Delphi 的 FireMonkey 框架,开发跨平台的程序,可以做到一个源码,编译成 Windows, Mac OS, Android, iOS,甚至是 Linux 上面运行的程序. 简单说 ...

  6. mui hello html5 安装,HBuilder开发App Step1——环境搭建,HelloMUI 以及真机调试(示例代码)...

    No1. 必须搭建java环境 只需要最基础的java环境,也就是cmd下可以运行java和javac即可, 具体教程请自行百度,都会有很详细的教程,这里不重点介绍. No2. 下载安装HBuilde ...

  7. HBuilder开发App教程06-首页

    实战 前面几节基本是一些概念的普及, 正如前面提到的,本教程会以滴石作为范例进行讲解, 有兴趣的可以先行下载体验一下,或者下载源码研究下. 新建项目 打开HBuilder,在项目管理器中右键--新建- ...

  8. 【Android Camera开发】Android Automotive介绍

    什么是Android Automotive Android Automotive 是一个基本 Android 平台车载信息娱乐系统,简称IVI(In-Vehicle Infotainment). An ...

  9. 微信内置浏览器无法下载app(Android/ios)软件 微信内下载链接打不开的解决方法

    很多朋友的APP推广链接需要在微信中进行的网页宣传.传播.下载等等,但是各位朋友一定发现了微信中是屏蔽掉了APP的下载链接的.但是微信最为一个最大的社交平台,为了自身的利益,屏蔽掉了所有APK的下载链 ...

最新文章

  1. java软件设计模式只单例设计模式
  2. JZOJ 3885. 【长郡NOIP2014模拟10.22】搞笑的代码
  3. YoloV3网络模型搭建
  4. Spring中的Ibatis之SqlMapClientDaoSupport
  5. SAP concur image download on request
  6. websocket 获取ip_Spark+Kafka+WebSocket+eCharts实时分析-完全记录(1)
  7. 使用dime传输大附件的设置(WSE Soap toolkit)
  8. idea2017显示maven Project菜单
  9. PDMS管道设计基础到精通视频教程
  10. 大数据简历 专业技能内容
  11. Nodejs 批量检测 Excel 中url链接是否可访问
  12. 放量十字星——黎明前的曙光还是黑暗前的夕阳
  13. 2020科目一考试口诀_科目一口诀顺口溜2020
  14. python—scrapy框架爬虫—链家二手房数据
  15. 爱思助手苹果服务器调整,爱思助手怎么改虚拟位置 爱思助手改虚拟位置方法...
  16. 关于MySQL联合索引和优化军规
  17. 服务条款和隐私_数据中心设备和条款| 第1部分
  18. 2022医院三基相关专业每日一练模拟题及答案
  19. 使用Windows Server Backup对Exchange进行备份与恢复(一)
  20. rsa加解密(兼容微信小程序环境)

热门文章

  1. Mac系统下的Sublime text3配置python3.6
  2. java xms xmx 默认值,JVM启动参数-Xmx的默认值是多少?
  3. PPT设计宝典!十招教你做出拿手的PPT
  4. 投资理财交易系统设计与开发
  5. 如颖随行 这款笔记本竟然承载着这样的赵丽颖
  6. 菜鸟浅解SpringSecurity基本原理
  7. 欧格教育:店铺装修注意哪些细节
  8. 微信公众号注销需要多长时间 微信公众号注销成功多久释放资源
  9. 第K小元素 时间复杂度n
  10. EMQX服务器搭建系列五:EMQX服务器动态添加用户名密码