这里做一点对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. verilog模型概述

    模型功能 verilog是硬件描述语言的一种,主要用于ASIC和FPGA中,用于实现数字逻辑控制. 相较于VHDL,verilog的语法更加接近C语言,格式也更加宽松,具备更强的灵活性. 模型框图 v ...

  2. KingbaseES特殊权限介绍

    用户需求:新建一个用户B,需要能够查询A用户的所有表,并且对以后新建的表也要有select权限. 对于现有的表可以通过动态sql批量进行授权,但是未来新建的表要如何进行授权呢? 查询了帮助文档发现通过 ...

  3. KingbaseES V8R6 备份恢复案例 -- 自定义表空间指定目录恢复

    ​ 案例说明: KingbaseES V8R6在通过sys_rman执行物理备份恢复时,可以通过参数'--kb1-path',指定恢复的数据(data)目录,但如果原备份中包含自定义表空间时,需要建立 ...

  4. 【Java基础知识】东软面试(一面)

    01 面向对象的特征 封装:隐藏部分对象的属性和实现细节,以不同的访问级别来保护对象内部的数据,防止外部程序的不当访问,对外提供公开的接口.[私有的属性,共有的方法] 继承:子类自动共享父类数据和方法 ...

  5. 冒泡排序【Java】

    1 public class Paixu { 2 public static void main(String args[]) { 3 int myNum[] = {2,6,4,1,5}; 4 //从 ...

  6. 06 PSP成熟度模型【软件过程与管理】

    PSP成熟度模型(Personal Software Process) 个体度量过程 PSP3 周期开发 个体计划过程 PSP2 代码评审 设计评审 PSP2.1 设计模板 个体质量管理过程 PSP1 ...

  7. io_utils/time_utils

    io_utils.h #pragma once #include<stdio.h> #include<stdarg.h> void PrintBinary(unsigned i ...

  8. mybatis踩坑之integer类型是0的时候会被认为0!=''是假

    当你的参数类型是integer类型,并且传的是0的时候,在SQL里面做if判断的时候 <if test="auditStatus != null and auditStatus != ...

  9. #树形dp,树链剖分#CF442D Adam and Tree

    题目 初始有一个点 1,每次新加入点 \(2\sim n+1\),给这条边染上新的颜色, 并且一种颜色只能出现在一条路径上,使得每个点到根节点的路径上颜色种类数尽量少 每次询问输出每个点到根节点路径上 ...

  10. #线段树,离线#CF1000F One Occurrence

    题目 给定一个长度为\(n\)序列,\(m\)个询问,每次询问给定一个区间\([l,r]\), 如果这个区间里存在只出现一次的数,输出这个数(如果有多个就输出任意一个),没有就输出0 分析 考虑离线, ...