h5开发,原生开发,混合开发
这里做一点对h5开发,原生开发,混合开发的笔记,记一点更新一点:
一.h5开发:html,css和js编写页面和业务逻辑。
1..页面栈上,h5通过history来管理回退或者前进。vue通过配置路由,设置路由跳转,query穿参,或者params,传参使用 this.$router.push({path: '/', query: {参数名: '参数值'}) 和this.$router.push({name: '/', params: {参数名: '参数值'})。这种页面切换是直接的,当然也可以通过vue的<transition/>标签设置切换动画,在页面切换时监听路由变化给与不同的切换效果。
2.页面原理:通过class名操作dom节点
3.开发周期:h5似乎就没有这方面的限制了,随改随修,立马上线
4.交互物理设备:可以通过扩展的JS API任意调用手机的原生能力,实现与原生App同样强大的功能和性能
5.打包:只需要写一套代码就基本可以同时适应安卓和ios,打包(只用过HBuilder)到原生的安装包(Android是apk包、iOS是ipa包)里的。集成应用云端打包系统,可真机运行环境,方便开发后即时在真机上查看运行效果;没有mac电脑的开发者,他们也可以通过云打包直接打出iOS的ipa包。苹果包打包需要AppID:iOS应用标识,必须与profile文件绑定的App ID匹配。
私钥证书:iOS Certificates文件(.p12);私钥密码:导入私钥证书的密码;Profile文件
缺点:webapp一旦断网就无法访问,但是在原生app中即使断网也可以访问原来下载好的数据,交互体验确实不如原生
优点:开发速度快
二.原生开发:比如Android是利用Java、Eclipse、Android studio;IOS是利用Objective-C 和Xcode进行开发。
1.页面切换时,原生app有自己的activity栈,在页面切换时能够将动画效果做的比较炫酷,拿Android来说是使用intent这种方式来跳转,后来出现的路由框架实际上跟h5的跳转也是一个原理,找到资源,在定位到资源上去,
2.页面原理:原生需要写一个动效函数来操作view,
3.开发周期:开发周期相比于h5长,同样的页面在安卓和ios上需要写两套代码,如果代码需要被更改,发布版本,需要等待审核,App Store最快也要1-2天吧,热补丁修复,App Store好像政策上不太允许,而h5似乎就没有这方面的限制了,随改随修,立马上线
4.交互物理设备:可访问手机所有功能(如GPS、摄像头等)、可实现功能最齐全。
5.打包需要部署xcode和Android sdk
优点:原生app因为采用的是由各移动厂商提供的SDK,基于特定的移动设备的操作系统所设计出来的,因此它的针对性强,与用户的交互体验非常好,性能很稳定
缺点:时间周期长,
三.混合App开发是未来的趋势,目前混合开发中使用的技术也很多,主要的混合开发技术有jQuery Mobile、React Native、Cordova、APICloud、AppCan等。虽然混合开发能够提高效率节省成本,但也有很多的限制,除了硬件、缓存等的限制,各大平台之间的兼容性也不足。有的也比较消耗资源
h5开发,原生开发,混合开发的更多相关文章
- Vue+原生App混合开发手记#1
项目的大致需求就是做一个App,里面集成各种功能供用户使用,其中涉及到很多Vue的使用方法,单独总结太麻烦,所以通过这几篇笔记来梳理一下.原型图如下: 路由配置 主界面会用到一些原生App方法,比如验 ...
- 移动web、webApp、混合APP、原生APP、androd H5混合开发 当无网络下,android怎么加载H5界面
PhoneGap是一个采用HTML,CSS和JavaScript的技术,创建移动跨平台移动应用程序的快速开发平台.它使开发者能够在网页中调用IOS,Android,Palm,Symbian,WP7,W ...
- H5混合开发app常用代码
1.Android与H5互调可以让我们的实现混合开发,至于混合开发就是在一个App中内嵌一个轻量级的浏览器(高性能webkit内核浏览器),一部分原生的功能改为Html 5来开发.然后这个浏览器又封装 ...
- 浅谈App原生开发、混合开发及HTML5开发的优劣
App混合开发(英文名:Hybrid App),是指在开发一款App产品的时候为了提高效率.节省成本即利用了原生的开发技术还应用了HTML5开发技术,是原生和HTML5技术的混合应用.目前App的开发 ...
- 移动端混合开发----ionic
目前移动端分为三大主流:纯原生.混合开发.web App,随着手机硬件的升级,公司们似乎偏好于web页面开发,而混合开发相对纯web App似乎更受大公司青睐,所谓混合开发俾人理解为,原生代码(iOS ...
- 混合开发Js bridge新秀-DSBridge iOS篇
这个DSBridge 和我之前开发做的混合开发 用的方式 很相似,所以觉得很是不错,推荐给你大家. DSBridge-IOS:https://github.com/wendux/DSBridge-IO ...
- 安卓混合开发——原生Java和H5交互,保证你一看就懂!
** 在Android开发中,越来越多的商业项目使用了Android原生控件与WebView进行混合开发,当然不仅仅就是显示一个WebView那么简单,有时候还需要本地Java代码与HTML中的Jav ...
- Android H5混合开发(3):原生Android项目里嵌入Cordova
前言 如果安卓项目已经存在了,那么如何使用Cordova做混合开发? 方案1(适用于插件会持续增加或变化的项目): 新建Cordova项目并添加Android平台,把我们的安卓项目导入Android平 ...
- H5、原生app、混合开发三者比较
一.概念 a) H5:即Html5,接触过互联网的都知道html,所以很明显h5是html的第5次重大修改的一项超文本标记语言的标准协议. b) 原生:使用原生制作APP(Native app),即在 ...
- uni-app&H5&Android混合开发三 || uni-app调用Android原生方法的三种方式
前言: 关于H5的调用Android原生方法的方式有很多,在该片文章中我主要简单介绍三种与Android原生方法交互的方式. 一.H5+方法调用android原生方法 H5+ Android开发规范官 ...
随机推荐
- ForkJoinPool在生产环境中使用遇到的一个问题
1.背景 在我们的项目中有这么一个场景,需要消费kafka中的消息,并生成对应的工单数据.早些时候程序运行的好好的,但是有一天,我们升级了容器的配置,结果导致部分消息无法消费.而消费者的代码是使用Co ...
- execute immediate 用法小结
1.常规用法 v_sql varchar2(1000); v_sql := 'update Test set name= ''lw112190'' where id= 1'; execute imme ...
- KingbaseES运维案例之---数据库启动“could not open shared memory segment”
案例说明: 在kylin系统下数据库启动出现"could not open shared memory segment xxxx"的故障,故障如下所示: 适用版本: Kingb ...
- Android记账本界面实现
<!--activity_main.xml-->1 <?xml version="1.0" encoding="utf-8"?> 2 & ...
- #Kruskal重构树,Dijkstra,倍增#洛谷 4768 [NOI2018]归程
题目传送门 分析 首先Dijkstra是必需的(关于SPFA,它死了233) 无向图,所以先求出1号节点到所有点的距离,然后肯定希望起点能驾驶到离一号点最短的汽车可到的地方 但是怎么办,考虑海拔大的边 ...
- 本周四晚19:00知识赋能第八期第2课丨ArkUI自定义组件
9月21日19:00~20:00,第八期知识赋能第2节直播就要开始啦!本次直播将为同学们带来涂鸦小游戏的趣味体验,让大家全面了解ArkUI框架的应用,帮助你们在自己已有专业的基础上拓宽知识边界,学习 ...
- C# Break 和 Continue 语句以及数组详解
C# Break 它被用于"跳出" switch 语句. break 语句也可用于跳出循环. 以下示例在 i 等于 4 时跳出循环: 示例: for (int i = 0; i & ...
- Python 注释:解释和优化代码可读性
注释可以用来解释Python代码.注释可以用来使代码更易读.注释可以用来在测试代码时防止执行. 创建注释 注释以#开始,Python会忽略它们: 示例:获取您自己的Python注释 # 这是一个注释 ...
- 第十四篇:JavaScript基础
一.CSS内容补充之position 10.position:fixed:固定div在页面的一个位置: top:0; right:0; left:0; position:absolute + rela ...
- 英语 one day
前言 I do not know if it work,but just go. 内容 1.quote vt:摘要,引用 n:引语 He quote a passage from the presid ...