这里做一点对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. ubuntu18.04如何运行.exe文件

    在Ubuntu上安装Wine 到wine官网查看的安装步骤 如果您之前安装过来自其他仓库的 Wine 安装包,请在尝试安装 WineHQ 安装包之前删除它及依赖它的所有安装包(如:wine-mono. ...

  2. 开发必会系列:《深入理解JVM(第二版)》读书笔记

    一  开始前 HotSpot:http://xiaomogui.iteye.com/blog/857821 http://blog.csdn.net/u011521890/article/detail ...

  3. .NET分布式Orleans - 2 - Grain的通信原理与定义

    Grain 是 Orleans 框架中的基本单元,代表了应用程序中的一个实体或者一个计算单元. 每个Silo都是一个独立的进程,Silo负责加载.管理和执行Grain实例,并处理来自客户端的请求以及与 ...

  4. 懂一点前端—Vue快速入门

    01. 什么是 Vue Vue (读音 /vjuː/,类似于 view) 是一套用于构建用户界面的渐进式框架,是当下很火的一个 JavaScript MVVM 库,是以 数据驱动和组件化 的思想构建的 ...

  5. Linux实现远程登录基本操作

    Linux配置远程登录 1.实验目的 通过配置redhat的静态IPV4,通过xshell登录,实现远程指令控制.在实践过程中,了解linux的基本结构和操作,能够初步地使用linux的常用软件.目的 ...

  6. PyCharm字体大小快捷键设置(“ctrl+滚轮”实现字体的随时放大和缩小)

    前言:我们在使用PyCharm工具编写Python代码的时候,希望能够随时放大缩小字体,而PyCharm默认是没有设置快捷键的,我们可以自己设置,下面就教大家如何设置. 分为两步设置: PyCharm ...

  7. 访问数据库 与 Java框架各层级

    目录 访问数据库流程 Java框架各层级 4 层 对象的调用流程 耦合性与分层 项目地址:https://github.com/aijisjtu/Bot-Battle 访问数据库流程 flowchar ...

  8. 基于vue3的Crontab组件

    网上找的没有满意的,决定从若依前后端分离其前端vue2中的crontab进行转换,先上效果 若依: 改后: v2转v3没什么难度,其中有大量的将 this.*** 替换为 ***.value,笔者写了 ...

  9. 深入理解 Java 方法重载与递归应用

    Java 方法重载 方法重载 允许在同一个类中定义多个具有相同名称的方法,但 参数列表 必须不同. 语法: returnType methodName(parameter1, parameter2, ...

  10. Qt数据结构-QString一:常用方法

    一.拼接字符串 拼接字符串有两种方法: +=  .  append QString s; s = "hello"; s = s + " "; s += &quo ...