这里做一点对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. CA:用于移动端的高效坐标注意力机制 | CVPR 2021

    论文提出新颖的轻量级通道注意力机制coordinate attention,能够同时考虑通道间关系以及长距离的位置信息.通过实验发现,coordinate attention可有效地提升模型的准确率, ...

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

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

  3. SSL加密以及http和https的区别是什么

    SSL加密是建立在非对称加密算法的基础上的.非对称加密算法会产生一对长字符串,称为密钥对(公钥.私钥).数据使用公钥进行加密后, 唯一只能使用私钥才能解开.安装了服务器证书的网站,其实是把私钥保存在服 ...

  4. net.sf.json.JSONObject,将MySQL数据库的数据读出转化为json数据

    maven依赖: 1 <dependency> 2 <groupId>net.sf.json-lib</groupId> 3 <artifactId>j ...

  5. OpenHarmony如何切换横竖屏?

    前言 在日常开发中,大多APP可能根据实际情况直接将APP的界面方向固定,或竖屏或横屏.但在使用过程中,我们还是会遇到横竖屏切换的功能需求,可能是通过物理重力感应触发,也有可能是用户手动触发.所以本文 ...

  6. amcap使用方法

    1.选择设备 device 里面显示的是设备,分割线上面是视频设备,分割线下面是音频设备 2.打开图像 options > Preview  勾选上就是打开视频,再次点击取消勾线就是关闭视频 3 ...

  7. Batch Normalization 和 DropOut

    Batch-Normalization https://www.cnblogs.com/guoyaohua/p/8724433.html 有几点需要注意: \(x^{(k)}\)指的是t层的输入. 也 ...

  8. Telnet qsnctfwp

    Windows 安装 Telnet 在控制面板的程序和功能中选择打开或关闭Windows功能 启用 Telnet 客户端并单击确认退出 启动终端,输入命令 telnet 打开 Telnet 客户端 在 ...

  9. c# 如何在一般处理程序中返回json

    前言 迁移以前的笔记. 正文 无论是一般处理程序,还是其他程序,处理事项,肯定在于HttpResponse. 这种情况就可以操作,至于字符是自己转换还是由HttpResponse中的信息默认转换,都没 ...

  10. nginx 如何代理websocket

    前言 下面是配置nginx websocket 的代码. # HTTPS server map $http_upgrade $connection_upgrade { default upgrade; ...