首页 > 其他分享 >盘点|混合开发Hybrid App的优劣点

盘点|混合开发Hybrid App的优劣点

时间:2023-01-04 14:32:30浏览次数:43  
标签:原生 Web App Hybrid 混合 盘点 开发

从当前移动开发的实际情况来看,移动端的开发方式三分天下:纯原生(Native App)、混合开发(Hybird App)、网页应用(Web App)。

盘点|混合开发Hybrid 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 具备小程序运行能力,从而转变为「原生+小程序」的混合开发模式。

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

标签:原生,Web,App,Hybrid,混合,盘点,开发
From: https://blog.51cto.com/u_15904909/5988626

相关文章

  • 视频直播app源码,姓名,身份证input验证过滤
    视频直播app源码,姓名,身份证input验证过滤姓名验证:需求,可输入英文、汉字 for(leti=0;i<e.length;i++){ if(/^[a-zA-Z\u4e00-\u9fa5]+$/.test(e[i])){   this.r......
  • app直播源代码,vue 自定义指令过滤特殊字符
    app直播源代码,vue自定义指令过滤特殊字符 /** *@tagsinput只可以輸入数字、字母、汉字 *@examplev-emoji */exportdefault(app)=>{ app.directive('emoj......
  • 网站打包成app,webapp在线打包工具 永久app打包工具
    说到网站打包APP,大家可能并不陌生。常规方法是生成安卓apk和苹果ios安装包,专业上说是webapp模式。安卓apk可以直接下载安装,苹果ios需要签名后才能下载。此时通过分发平台上......
  • uniapp有vue基础的_快速入门这个uniapp项目
     小技巧https://www.jianshu.com/p/606e37db18f3https://cloud.tencent.com/developer/article/1552020https://www.uviewui.com/guide/i18n.htmlhttps://juejin.cn/......
  • Apple开发_不限多参数的双语显示富文本本地化方法
    1、前言双语显示上下显示一大一小会好看点,同时最好支持设置文字颜色,但有时候只想使用默认的参数。此时动态多参数应运而生。2、解决2.1新建一个文件专门放以下代码......
  • uniapp修改APP为正式版
    1.登录应用管理平台,找到相关应用,点击进详情2.可以看到版本为测试版,点击修改3.修改相关信息后点击提交 ......
  • 【天纪排盘App】预览版发布
    经过2个多月的忙乎,全新版本的天纪App终于跟大家见面了。由于这两天状态不太好,所以直接上App下载地址吧,等这两天忙完,再跟大家录个视频说明下软件的基本功能。软件分为四大......
  • (1055, "'bbs02.app01_category.name' isn't in GROUP BY")
    后台报错:[err]1055--'xxx'isn'tinGROUPBY解决方案:初步判断是数据库(版本?配置?)的问题进入mysql的my.ini配置文件ctrl+f搜索找到字段:ONLY_FULL_GROUP_BY,将其删除......
  • GitHub App All In One
    GitHubAppAllInOneReactNativeFlutterSwiftUIElectronTaro小程序(......
  • 安卓APP上架腾讯应用宝
    目录总览:一、搜索腾讯开放平台,选择应用开放平台二、注册账号,创建应用三、完善基本信息四、上架分发 一、注册腾讯开放平台,选择应用开放平台1.1搜索腾讯开放平......