这里做一点对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开发,原生开发,混合开发的更多相关文章

  1. Vue+原生App混合开发手记#1

    项目的大致需求就是做一个App,里面集成各种功能供用户使用,其中涉及到很多Vue的使用方法,单独总结太麻烦,所以通过这几篇笔记来梳理一下.原型图如下: 路由配置 主界面会用到一些原生App方法,比如验 ...

  2. 移动web、webApp、混合APP、原生APP、androd H5混合开发 当无网络下,android怎么加载H5界面

    PhoneGap是一个采用HTML,CSS和JavaScript的技术,创建移动跨平台移动应用程序的快速开发平台.它使开发者能够在网页中调用IOS,Android,Palm,Symbian,WP7,W ...

  3. H5混合开发app常用代码

    1.Android与H5互调可以让我们的实现混合开发,至于混合开发就是在一个App中内嵌一个轻量级的浏览器(高性能webkit内核浏览器),一部分原生的功能改为Html 5来开发.然后这个浏览器又封装 ...

  4. 浅谈App原生开发、混合开发及HTML5开发的优劣

    App混合开发(英文名:Hybrid App),是指在开发一款App产品的时候为了提高效率.节省成本即利用了原生的开发技术还应用了HTML5开发技术,是原生和HTML5技术的混合应用.目前App的开发 ...

  5. 移动端混合开发----ionic

    目前移动端分为三大主流:纯原生.混合开发.web App,随着手机硬件的升级,公司们似乎偏好于web页面开发,而混合开发相对纯web App似乎更受大公司青睐,所谓混合开发俾人理解为,原生代码(iOS ...

  6. 混合开发Js bridge新秀-DSBridge iOS篇

    这个DSBridge 和我之前开发做的混合开发 用的方式 很相似,所以觉得很是不错,推荐给你大家. DSBridge-IOS:https://github.com/wendux/DSBridge-IO ...

  7. 安卓混合开发——原生Java和H5交互,保证你一看就懂!

    ** 在Android开发中,越来越多的商业项目使用了Android原生控件与WebView进行混合开发,当然不仅仅就是显示一个WebView那么简单,有时候还需要本地Java代码与HTML中的Jav ...

  8. Android H5混合开发(3):原生Android项目里嵌入Cordova

    前言 如果安卓项目已经存在了,那么如何使用Cordova做混合开发? 方案1(适用于插件会持续增加或变化的项目): 新建Cordova项目并添加Android平台,把我们的安卓项目导入Android平 ...

  9. H5、原生app、混合开发三者比较

    一.概念 a) H5:即Html5,接触过互联网的都知道html,所以很明显h5是html的第5次重大修改的一项超文本标记语言的标准协议. b) 原生:使用原生制作APP(Native app),即在 ...

  10. uni-app&H5&Android混合开发三 || uni-app调用Android原生方法的三种方式

    前言: 关于H5的调用Android原生方法的方式有很多,在该片文章中我主要简单介绍三种与Android原生方法交互的方式. 一.H5+方法调用android原生方法 H5+ Android开发规范官 ...

随机推荐

  1. protected和private继承方式的不同

    环境:QT 5.12 继承方式规定了子类如何访问从基类继承的成员.继承方式有public.protected.private三种.继承方式不影响派生类的访问权限,影响了从基类继承而来的成员的访问权限, ...

  2. kingbaseES V8R6 备份恢复案例 -- sys_rman备份“DSO support..."故障

    案例说明: 在通过sys_rman执行备份时,出现"DSO support...."错误,如下图所示: sys_log日志: 适用版本: KingbaseES V8R6 一.问题分 ...

  3. 4 HTML表格标签

    4 表格标签 表格标签也是一种复合标签.由:table,tr,td,th,thead,tbody组合,由行和列组合成,行和列交叉的地方就是单元格.在HTML中使用table来定义表格.网页的表格和办公 ...

  4. #前缀和,后缀和#洛谷 4280 [AHOI2008]逆序对

    题目传送门 分析 首先填的数字单调不降,感性理解 那可以维护\([a_1\sim a_{i-1}]\)的\(cnt\)后缀和以及 \([a_{i+1}\sim a_n]\)的\(cnt\)前缀和,那可 ...

  5. [一本通1677/JZOJ1217/CJOJ1101]软件开发 题解

    题目描述 一个软件开发公司同时要开发两个软件,并且要同时交付给用户,现在公司为了尽快完成这一任务,将每个软件划分成\(m\)个模块,由公司里的技术人员分工完成,每个技术人员完成同一软件的不同模块的所用 ...

  6. Docker学习路线11:Docker命令行

    Docker CLI (命令行界面) 是一个强大的工具,可让您与 Docker 容器.映像.卷和网络进行交互和管理.它为用户提供了广泛的命令,用于在其开发和生产工作流中创建.运行和管理 Docker ...

  7. Matplotlib绘图设置---坐标轴上下限/标题设置

    坐标轴上下限设置 plt.plot(x, np.sin(x)) #设置坐标轴上下限 plt.xlim(-1, 11) plt.ylim(-1.5, 1.5) plt.plot(x, np.sin(x) ...

  8. 配置java.library.path加载库文件

    前言:本文将告诉你Java加载dll或so库文件,配置 java.library.path路径 规避异常:java.lang.UnsatisfiedLinkError: no XXX in java. ...

  9. Maven 读取pom.xml

    方法一 1.编写配置文件,要读取的内容用@@包裹. spring: application: # @变量名@ 读取pom.xml中的值 version: @project.version@ 2.pom ...

  10. TensorRT C# API 项目更新 (1):支持动态Bath输入模型推理

    1. 项目介绍    NVIDIA TensorRT 是一款用于高性能深度学习推理的 SDK,包括深度学习推理优化器和运行时,可为推理应用程序提供低延迟和高吞吐量.基于 NVIDIA TensorRT ...