Web App、Hybrid App、Native App 横向对比

news2024/11/16 3:40:21

移动端的开发方式三分天下:纯原生(Native App)、混合开发(Hybird App)、网页应用(Web App)。

纯原生(Native App):是在 Android、iOS 等移动平台上利用提供的开发语言、开发类库、开发工具进行 App 软件开发。比如 Android 是利用 Java、Eclipse、Android studio;iOS 是利用 Objective-C 和 Xcode 进行开发。纯原生开发就像盖房子一样,先打地基然后浇地梁、房屋结构、一砖一瓦、钢筋水泥、电路走向等,都是经过精心的设计。原生通过代码把每个页面、每个功能、每个效果、每个逻辑、每个步骤全部写出来,每一层,每一段全用代码写出来,难度系数和复杂程度都较高。

混合开发(Hybrid App):主要以 JS+Native 两者相互调用为主,从开发层面实现“一次开发,多处运行”的机制,成为真正适合跨平台的开发。Hybrid App兼具了 Native App良好用户体验的优势,也兼具了 Web App 使用 HTML5 跨平台开发低成本的优势。在开发一款 App 产品的时候,为了提高效率、节省成本而利用原生与H5的开发技术的混合应用,更通俗的讲由“HTML5云网站+APP 应用客户端”构成的 App 是混合开发。后来随着微信、支付宝、百度等超级 App 大力发展小程序,我们也逐渐把“小程序+APP应用客户端”纳入到混合开发的范围内。

网页应用(Web App):是利用Web技术进行的App开发,Web技术本身需要浏览器的支持才能进行展示和用户交互,因此主要用到的技术是HTML5、Javascript、CSS等,只需要在 Android 和 iOS 直接写个壳就好了,大大减小了开发成本,而且 Web 是实时渲染的,即使有 Bug ,可以直接发布就好了。

今天主要分析混合开发(Hybrid App)的优劣势以及一些经验的分享。

混合开发的优劣势

按照国内的实际情况来看,Hybrid App 是最多的移动端开发方式,并且目前已经有众多 Hybrid App 开发成功应用,例如我们日常使用的微信、支付宝、淘宝、抖音等一系列高活跃 App 都是混合开发的代表。

为什么 Hybrid App 会如此收到开发者的欢迎呢?我们不妨先比较下三种开发模式的特点:

特点

混合开发(Hybrid App)

纯原生(Native App)

网页应用(Web App)

语言

JAVA、Objective-C、Javascript、CSS等

JAVA、Objective-C等

Javascript、CSS等

学习难度

跨平台性能

访问兼容性

高级图形支持

热更新支持度

使用体验

从上表就能看出来混合开发处于纯原生和网页应用之间,是一个折中的方案,兼顾了纯原生和网页应用的优势,但是学习成本也不是太高,适合大多数公司的实际情况。

基于混合开发模式的特点单独分析的话,其优劣势主要如下:

一、优势

1、开发效率高,节约时间。同一套代码 Android 和 iOS 基本上都可使用;

2、更新和部署较便捷,每次升级版本只需在服务器端升级即可,无需上传到 App Store 审核;

3、兼顾了部分原生的优秀操作体验;

4、代码维护方便、版本更新快,节省产品成本;

5、比 Web版实现功能多;

6、可离线运行。

二、劣势

1、功能/界面无法自定:所有内容都是固定的,不能换界面或增加功能;

2、加载缓慢/网络要求高:混合APP数据需要全部从服务器调取,每个页面都需要重新下载,因此打开速度慢,网络占用高,缓冲时间长,容易让用户反感;

3、安全性比较低:代码都是以前的老代码,不能很好地兼容新手机系统,且安全性较低,网络发展这么快,病毒这么多,如果不实时更新,定期检查,容易产生漏洞,造成直接经济损失;

4、既懂原生开发又懂 H5 开发的高端人才难找。

混合开发的应用场景

哪些条件和情况选择混合开发是具有较高性价比呢?哪些行业或场景是适合于混合开发模式的呢?

一些需要经常性开展更新内容的 App 是非常适合混合开发模式,另外对于小型团队来讲开发混合应用也是值得优先考虑的,首先是技术难度要求较低,其次开发的时间周期更短利于后续的维护。

具体到哪些行业和场景的话,我会认为电商、金融、资讯等行业会经常性的更新内容、活动,就非常适合用H5或小程序的形式进行承载,因此选择混合开发模式是最合适不过的。

而对于游戏、企业管理、物联网等行业业务趋于平稳较少进行频繁的发版,且需要兼顾用户使用体验选择原生应用是更为妥当的选项。

此外,如果单从技术角度分析的话,许多企业都已经拥有 Web 开发技能,选择混合开发方法,在合适解决方案的支持下,Web 开发者只要仅仅运用 HTML、CSS 和 JavaScript 等 Web 技能就能构建 App,并且使用 Web 语言编写的所有代码都可以在不同的移动平台之间共享,使得开发和日常维护过程变得集中式、更简短、更经济高效。

许多分析师也预测,混合开发未来也可能会成为开发前端 App 的默认技术。

更优质的混合开发模式

当然在混合开发模式下也有一些较为明显的问题,其中之一就是 H5 页面会经常出现白屏卡顿等问题,这是 HTML 5 的通病,会对用户体验造成极大影响,需要有针对性的制定深度优化方案才能勉强满足业务要求。

借鉴互联网巨头的经验现在可以以小程序来替代混合开发中 H5 页面承载的业务,相较于H5主要的优势如下:

  • 远超过 H5 的体验(支持本地缓存,Webview,有丰富的组件与支持库);
  • 能获取更多系统权限,完成更加丰富的产品设计;
  • 可以避免 DOM 泄露(不使用常用的 window 对象与 document 对象);
  • 包尺寸有效减少,节省流量和存储;
  • 服务不再受发版所限制,支持热更新。

也正是基于这个需求,逐步出现小程序容器技术,能够实现「原生+小程序」的混合开发模式,其实技术原理就是以非入侵性的方式把FinClip SDK嵌入到现有的 App,让App 具备小程序运行能力,从而转变为「原生+小程序」的混合开发模式。

这个模式也是符合用户越来越重视各个产品使用体验的趋势,相信「原生+小程序」更优质的混合开发模式也会更多的受到开发者的关注和认可。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/31718.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

2023第三届中国数字化人才国际峰会

会议背景 中商产业研究院预测,2022年我国数字经济规模将增至48.9万亿元,数字经济在GDP中的比重将超过40%。随着中国经济数字化转型不断深入的同时,数字化人才缺口却近1100万。中国信息通信研究院发布的《数字经济就业影响研究报告》指出&…

数学统计:均值、标准差、方差、协方差

均值:均值描述的是样本集合的中间点,它告诉我们的信息是很有限的。 标准差:标准差给我们描述的则是样本集合的各个样本点到均值的距离之平均。以这两个集合为例,[0,8,12,20]和[8,9,11,12],两个集合的均值都是10,但显然两个集合差别是很大的,计算两者的标准差,前…

蓝牙运动耳机什么品牌性价比高,六款值得推荐的运动耳机分享

音乐是运动健身的伴侣,两者合在一起就能让运动变得更加有劲。运动耳机怎么选,想要找到一款不错的运动耳机,首先一定要牢固舒适,其次防水性能越高越好,最后音质偏低音,如果在户外跑步的话,放着大…

Android App开发网络通信中使用okhttp下载和上传图片、文件讲解及实战(超详细实现用户注册信息上传 附源码)

需要源码请点赞关注收藏后评论区留言并且私信~~~ 一、使用okhttp下载图片 okhttp不但简化了HTTP接口的调用过程,连下载文件都变得简单了,对于一般的文件下载,按照常规的GET方式调用流程,只要重写回调方法onResponse,在…

C++:指针:void*指针(跳跃力未定的指针)

先分享一段代码&#xff0c;觉得很有意思 #include<iostream> void* say_hello(void* args){std::cout<< "Hello world"<< std::endl;return 0; } 上面这段代码&#xff0c;我们看到函数的返回值类型竟然是 void* ,形参也是 void* &#xff0c…

限时开源,一份“扭转乾坤”的与时俱进的1700页Java八股文

今天在某客看到一个程序员自述&#xff0c;内容如下&#xff1a; 人到三十&#xff0c;公司效益不好被裁员&#xff0c;两个月时间面了三十几家&#xff0c;一直不是很顺利&#xff0c;面试问八股&#xff0c;根本答不上来。前期不信邪&#xff0c;正常投简历正常面试&#xf…

如何借助现有股票量化交易平台编写策略和回测分析

每个交易日的股票都会上涨或者下跌&#xff0c;在这个过程中笔者们偶尔会想针对部分股票进行股价的涨跌幅进行监控&#xff0c;或者自动进行交易&#xff0c;在这个需求前提下&#xff0c;现有券商、股票分析软件都会带有机器人自动交易策略功能&#xff0c;大部分都需要收费或…

web网页大作业——基于HTML+CSS+JavaScript制作摄影之家网站

&#x1f389;精彩专栏推荐&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb; ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 &#x1f482; 作者主页: 【主页——&#x1f680;获取更多优质源码】 &#x1f393; web前端期末大作业…

OAuth2 的授权流程

文章目录&#x1f4d6; OAuth2 的授权流程&#x1f4d1; 参与的角色&#x1f4d1; 授权流程&#x1f4d1; 授权许可 Authorization Grant&#x1f4d1; 直白话 OAuth2 流程&#x1f4d6; OAuth2 的授权流程 &#x1f4d1; 参与的角色 1️⃣ Resource Owner资源所有者&#xf…

如何监听电脑屏幕是否发生切换

目录 1.屏幕监听的原理&#xff1a; 2.创建项目 3.离开计时 1.屏幕监听的原理&#xff1a; 为什么可以监听浏览器窗口的切换呢&#xff1f;那就是利用了浏览器的visibilitychange属性&#xff0c;MDN的介绍对visibilitychnge的介绍是&#xff1a; 当其选项卡的内容变得可见或…

nginx(六十二)proxy模块(三)接收用户请求的包体

一 接收用户请求包体 nginx读取请求体的源码分析 说明&#xff1a; 虽然是被http core核心框架处理,但是被proxy反向代理模块使用重点&#xff1a; 哪些指令控制接收request body的行为? ① proxy_request_buffering 控制&#xff1a; nginx接收客户端 request body的方式…

【优化选址】遗传算法求解物流配送中心选址【含Matlab源码 1917期】

⛄一、物流选址简介 1 引言 配送中心是物流系统网络中的关键节点和重要的基础设施&#xff0c;在整个物流系统网络规划中起着枢纽性的作用[1]。快递物流配送中心选址是指在具有若干个发件网点或者若干个收件网点的物流配送区域内&#xff0c;综合考虑物流运输成本、配送中心建…

【计算机网络】Servlet API重点知识汇总

目录 1.HttpServlet&#xff1a; 2.HttpServletRequest&#xff1a; 3.HttpServletRequest代码实例&#xff1a; 3.1.打印请求的内容&#xff1a; 3.2.获取请求中的重要参数 &#xff08;query string中的值&#xff09;&#xff1a; 3.3.获取请求中的重要参数 &#x…

关于循环浅析

从c,c,python,scala到java&#xff0c;简单接触了这样一些编程语言&#xff0c;对于它们的基本语法中的循环想做个总结。 一、c&#xff0c;c C语言for循环&#xff08;for语句&#xff09;详解 (biancheng.net) //这个链接比较详细&#xff0c;本人也从中摘取了一些知识点。…

【javaEE】网络原理(传输层Part2)

努力经营当下&#xff0c;直至未来明朗&#xff01; 文章目录前言TCP相关机制4. 【滑动窗口】5.【流量控制】6.【拥塞控制】总结前言 一个人最大的痛苦来源于对自己无能的愤怒&#xff01; Hi&#xff0c;这里是不想秃头的宝贝儿&#xff01; 本文主要内容是 传输层中TCP相关…

什么是SRM,SRM有什么作用,SRM主要用途是什么?

简道云SRM管理应用一、什么是SRM? SRM是 Supplier Relationship Management 的英文缩写&#xff0c;即供应商关系管理。 SRM的最基本内容包括供应商分类选择、战略关系发展、供应商谈判和供应商绩效评价四个方面。 SRM是用来改善企业与供应商的关系&#xff0c;它是一种致力…

了解一下OAuth2.0到底是什么,有图解有案例

理论 OAuth是一个关于授权&#xff08;authorization&#xff09;的开放网络标准&#xff0c;用来授权第三方应用获取用户数据&#xff0c;是目前最流行的授权机制&#xff0c;它当前的版本是2.0。 应用场景 假如你正在“网站A”上冲浪&#xff0c;看到一篇帖子表示非常喜欢…

Python交互Mysql数据库基本操作

安装pymysql第三方包 1. 安装pymysql 2. 查看安装情况 ​ 3. 卸载pymysq ​ Pymysql的使用 1. 导包 ​ 2. 创建和mysql服务端的连接对象 ​ 3. 获取游标对象 ​ 4. 执行sql语句 ​ 5. 获取查询结果集 ​ 6. 将增加和修改操作提交到数据库 7. 回滚数据 8. 关闭游标对象 …

【网页设计】期末大作业html+css(体育网站--足球 6页 )

⛵ 源码获取 文末联系 ✈ Web前端开发技术 描述 网页设计题材&#xff0c;DIVCSS 布局制作,HTMLCSS网页设计期末课程大作业 | 校园篮球网页设计 | 足球体育运动 | 体育游泳运动 | 兵乓球 | 网球 | 等网站的设计与制作 | HTML期末大学生网页设计作业 HTML&#xff1a;结构 CSS&…

mTD-SCDMA与TD-LTE双网络垂直切换matlab仿真

目录 1.算法描述 2.仿真效果预览 3.MATLAB部分代码预览 4.完整MATLAB程序 1.算法描述 TD-SCDMA与TD-LTE共覆盖的范围内覆盖半径1000m&#xff1b; TD-SCDMA中心坐标(0,0)&#xff0c;覆盖半径1000m&#xff1b; 两个TD-LTE基站的中心坐标为&#xff08;150&#xff0c;0…