关于APP,原生和H5开发技术的争论
App的开发技术,目前流行的两种方式,原生和Html5。原生分了安卓平台和ios平台(还有小众的黑莓、死去的塞班就不说了),H5就是Html5。
目前争论不休的问题,在早先前争论CS,BS架构的软件系统是一样一样的。原先BS,CS对用户而言的区别是需不需要安装客户端。BS是通过浏览器来访问,用PC,平板,Win,Mac都能访问,用户不需要下载额外的客户端,同时运维和升级提供很大的便利。CS则需要下载客户端软件,安装,然后登录使用,升级的话,要么升级链接库,要么重新安装升级包,比较不方便,优势是很多算法在本地运行,对服务器要求不高。
CS、BS之争是在PC端,那么现在原生和H5之争是在移动端。
那么评判一个APP用什么技术来开发呢?经过总结,可以有如下判断依据:
1.如果APP中出现大段文字(如新闻、攻略等),且格式比较丰富(如加粗,字体多样),那么用H5会比较方便。原因是原生开发解析json对字符串格式处理不算很好。
2.如果讲究APP反应速度(含页面切换流畅性),则选用原生开发,因为H5其本质是网页,换页时,基本要加载整个页面,就像是浏览器打开一个新页面一样,显得较慢,而原生系统则只加载变化部分。
3.如果APP对有无网络、网络优劣敏感(譬如有离线操作,在线操作),那么,基本选用原生开发,虽然H5可以做到,但是很复杂。
4.如果APP需要频繁调用硬件(摄像头、麦克风、未来的湿度检测仪等等)那么,基本选用原生开发,这样支持硬件更多,更容易扩展,且调用速度更快,H5就望尘莫及了。
5.如果APP用户常见页面频换,如(淘宝首页各种不同活动),那么用H5,维护起来更容易。
6.如果预算有限(H5开发一套可跨平台覆盖安卓、ios,黑莓、塞班),不是很讲究用户体验,不在乎加载速度,那非H5不可。
列举那么多,实际上有个采阴补阳的方法是H5+原生混合开发,对于固定格式、页面速度要求高,的模块(如PDB的即时通讯、宝典、我的项目)采用原生开发,对于新闻、大段文字、资讯类的(如信息广场、发表、问吧等)用H5页面来加载,将其嵌入到原生框架中那么,可以达到比较良好的体验。
关于APP,原生和H5开发技术的争论的更多相关文章
- 关于APP,原生和H5开发技术的争论 APP开发技术选型判断依据
关于APP,原生和H5开发技术的争论 App的开发技术,目前流行的两种方式,原生和Html5.原生分了安卓平台和ios平台(还有小众的黑莓.死去的塞班就不说了),H5就是Html5. 目前争论不休的问 ...
- 移动端开发利器vConsole.js,app内嵌H5开发时调试用
vConsole:一个轻量.可拓展.针对手机网页的前端开发者调试面板,主要还是用于内嵌app页面时在手机上进行调试,打印完全和在PC端一样,方便大家找出问题所在. 不说废话直接进入主题,vConsol ...
- app原生和H5混合使用自动化
1.从原生切换到H5需要 driver.switch_to.context('WEBVIEW_com.tencent.mm:tools') 2.参考连接: https://testerhome.com ...
- APP中的 H5和原生页面如何分辨、何时使用
一.APP内嵌H5和原生的区别 1.原生的页面运行速度快,比较流畅. H5页面相对原生的运行性能低,特别是一些动画效果有明显卡顿. 2.H5页面的很多交互都没有原生的好,比如弹层.输入时候的页面滑动 ...
- 浅谈App原生开发、混合开发及HTML5开发的优劣
App混合开发(英文名:Hybrid App),是指在开发一款App产品的时候为了提高效率.节省成本即利用了原生的开发技术还应用了HTML5开发技术,是原生和HTML5技术的混合应用.目前App的开发 ...
- APP中的 H5和原生页面如何分辨?
一.APP内嵌H5和原生的区别 1.原生的页面运行速度快,比较流畅.H5页面相对原生的运行性能低,特别是一些动画效果有明显卡顿. 2.H5页面的很多交互都没有原生的好,比如弹层.输入时候的页面滑动 等 ...
- 移动web、webApp、混合APP、原生APP、androd H5混合开发 当无网络下,android怎么加载H5界面
PhoneGap是一个采用HTML,CSS和JavaScript的技术,创建移动跨平台移动应用程序的快速开发平台.它使开发者能够在网页中调用IOS,Android,Palm,Symbian,WP7,W ...
- 跨平台 webapp 开发技术之 Hybrid App
前所知的 APP 开发模式有三种: 基于操作系统运行的 APP -> Native App,侧重于原生开发,用户体验好,需要安装才会升级 基于浏览器运行的 APP -> Web App,侧 ...
- 3星|《给产品经理讲技术》:APP开发技术介绍,没有技术背景的话恐怕只能看懂书中的比喻和结论
基本是APP开发涉及到的相关技术的入门级介绍.涉及到的知识点与技术细节比较多,不少技术相关的内容并没有像标题暗示的那样没有技术背景也可以看懂,而是涉及到许多专业的术语.原理.也有一些内容是用比喻的方法 ...
随机推荐
- android学习日记06--View视图
一.android 界面开发 1.三个重要的类:View视图.Canvas画布.Paint画笔2.android 界面开发常用三种视图 View --只能在主线程中更新,没有缓存 ...
- 去掉html标签和空格等
<?php$str = '<span style="color:#f00;">good; world</span>';echo $str.'<b ...
- yii 数据库迁移
在我们开发程序的过程中,数据库的结构也是不断调整的.我们的开发中要保证代码和数据库库的同步.因为我们的应用离不开数据库.例如: 在开发过程中,我们经常需要增加一个新的表,或者我们后期投入运营的产品,可 ...
- C# 之 Math取整
主要用到 System 命名空间下的一个数据类 Math ,调用他的方法. C#取整函数使用详解: 1.Math.Round是"就近舍入",当要舍入的是5时与"四舍五入& ...
- rem移动端适配
rem作为一个低调的长度单位,由于手机端网页的兴起,在屏幕适配中得到重用.使用 rem 前端开发者可以很方便的在各种屏幕尺寸下,通过等比缩放的方式达到设计图要求的效果. rem 的官方定义『The f ...
- Logstash conf.d 多个配置文件
概要 今天在群里一个关于在 logstash 的配置目录存在多个配置文件时候如何处理的问题? 我说是加载所有配置文件并合并为一个. lcy@lcy:~/ELK/logstash$ sudo /opt/ ...
- Linux下解决permission denied问题
由于权限问题,在linux下启动tomcat出现权限permission denied 提示解决方法如下: 1.cd 进入tomcat/bin目录 2.运行下面命令 sudo chmod 777 st ...
- 基于ubuntu和windows连接
对于ubuntu和centos安装软件是不一样的 对于ubuntu是 apt-get install +软件名字 但是对于centos是 yum install +软件名字 所以ubunu远程连接 ...
- file_up
一.接收数据 表单提交的数据会自动封装为数组 用$_GET, $_POST, 或$_REQUEST获得表单提交的数据; 二.文件上传的相关配置 1.表单设置: 要进行文件的上传,需要对form表单 ...
- Linux - 查看用户登录记录
有关用户登录的信息记录在 utmp(/var/run/utmp).wtmp(/var/log/wtmp).btmp(/var/log/btmp) 和 lastlog(/var/log/lastlog) ...