当前位置: 首页 > news >正文

关于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页面来加载,将其嵌入到原生框架中那么,可以达到比较良好的体验。

相关文章:

  • CentOS7+Tomcat 生产系统部署
  • 只有明确目标和方向才能直冲云霄
  • 如何解决MathType特殊字符在InDesign中的这些问题
  • 【深入浅出Node.js系列二】Node.jsNPM的安装与配置
  • ElasticSearch关闭重启命令
  • linux命令总结之---cat命令
  • 使用 wondershaper 在 Linux 中限制网络带宽使用
  • Python 中使用 MongoDB 存储爬虫数据
  • Jquery的同步和异步请求
  • 优先级队列(大顶堆)
  • orm2 中文文档 3.1 模型属性
  • 点击复选框添加或删除value值到input输入框中
  • Android Property Animation属性动画:rotation旋转(2)
  • linux上很方便的上传下载文件工具rz和sz使用介绍
  • 2016.1.13 随笔
  • 「译」Node.js Streams 基础
  • CSS实用技巧
  • CSS相对定位
  • ECS应用管理最佳实践
  • golang 发送GET和POST示例
  • IE报vuex requires a Promise polyfill in this browser问题解决
  • Mybatis初体验
  • tab.js分享及浏览器兼容性问题汇总
  • Zepto.js源码学习之二
  • 从0到1:PostCSS 插件开发最佳实践
  • 给新手的新浪微博 SDK 集成教程【一】
  • 如何使用 JavaScript 解析 URL
  • 验证码识别技术——15分钟带你突破各种复杂不定长验证码
  • 《TCP IP 详解卷1:协议》阅读笔记 - 第六章
  • ​DB-Engines 11月数据库排名:PostgreSQL坐稳同期涨幅榜冠军宝座
  • ​LeetCode解法汇总2670. 找出不同元素数目差数组
  • ​人工智能之父图灵诞辰纪念日,一起来看最受读者欢迎的AI技术好书
  • # 日期待t_最值得等的SUV奥迪Q9:空间比MPV还大,或搭4.0T,香
  • #AngularJS#$sce.trustAsResourceUrl
  • #HarmonyOS:软件安装window和mac预览Hello World
  • #QT(TCP网络编程-服务端)
  • #调用传感器数据_Flink使用函数之监控传感器温度上升提醒
  • #每日一题合集#牛客JZ23-JZ33
  • (22)C#传智:复习,多态虚方法抽象类接口,静态类,String与StringBuilder,集合泛型List与Dictionary,文件类,结构与类的区别
  • (6)STL算法之转换
  • (LeetCode) T14. Longest Common Prefix
  • (第一天)包装对象、作用域、创建对象
  • (附源码)spring boot球鞋文化交流论坛 毕业设计 141436
  • (十五)Flask覆写wsgi_app函数实现自定义中间件
  • (转载)从 Java 代码到 Java 堆
  • .360、.halo勒索病毒的最新威胁:如何恢复您的数据?
  • .java 9 找不到符号_java找不到符号
  • .NET 分布式技术比较
  • .NET/C# 推荐一个我设计的缓存类型(适合缓存反射等耗性能的操作,附用法)
  • ;号自动换行
  • @Transient注解
  • [ 蓝桥杯Web真题 ]-Markdown 文档解析
  • [100天算法】-每个元音包含偶数次的最长子字符串(day 53)
  • [Android 13]Input系列--获取触摸窗口
  • [BZOJ] 2044: 三维导弹拦截