首页 > 其他分享 >APP开发选原生开发还是混合开发?

APP开发选原生开发还是混合开发?

时间:2023-10-30 12:38:02浏览次数:35  
标签:原生 APP 程序 应用程序 混合 开发 App

最近也有不少用户留言,问一些基础的内容,例如:App采用怎样的开发方式更好?便有感而发,希望通过这篇文章再做一下小结。

先亮结果,是采用原生还是混合的开发方式,需要先了解业务规划,然后根据业务的实际需求再制定研发技术选型及研发计划。

为什么只能一事一议?这个还得从技术架构的优劣势开始说起。

基础科普

首先还是先科普下原生开发和混合开发的定义。

原生开发是指使用特定平台(如iOS、Android等)的本地语言和工具来编写应用程序,并直接运行在该平台上。原生应用程序的界面和用户体验通常会非常流畅和响应迅速,但原生开发需要掌握平台特定的语言和工具,并需要为不同平台分别开发独立的应用。

混合开发是指开发人员使用通用的Web技术(如HTML、CSS和JavaScript)来编写应用程序,并通过WebView组件将应用程序嵌入到原生容器中。混合应用程序可以实现跨平台开发,并且可以使用许多通用的开发工具、框架和库来加速开发时间。但是,由于需要通过WebView间接访问硬件资源和功能,所以混合应用程序的性能可能比原生应用程序差,在效果和用户体验方面也不如原生应用程序好。

APP开发选原生开发还是混合开发?_native


为什么现在满大街的混合开发?

这还得说到互联网的业务发展。

人是社会的动物,这句话的核心关键词是”动物“,是动物就意味着有”喜新厌旧“的需要,换句话说,在互联网繁盛的时代,业务场景就得跟随着用户的需要而更新迭代,也就是说,在效率和质量方面,原本平衡的天平已经有所倾斜。

混合开发的主流模式是结合原生和HTML5的技术(主流,但不是唯一,现在更流行的是小程序技术),取长补短的一种开发模式,原生代码部分利用WebView插件或者其它的框架为HTML5提供了一个容器,程序主要的业务实现、界面展示是利用H5相关的Web技术进行实现的。比如现在的京东、淘宝、今日头条等都是利用的混合开发模式。

渐渐地,2017年微信推出了小程序开放平台,并倾注了大力气在小程序生态的建设上,逐渐的,「App+小程序」的混合模式的开发也逐步被推崇。「App+小程序」的App混合开发模式的优势可以总结为:

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

APP开发选原生开发还是混合开发?_native_02


依托小程序技术标准的发展,小程序容器技术逐渐变成了混合开发的“标配”。市面上一些比较知名的小程序容器技术产品包括:微信、支付宝、百度、抖音小程序等,他们都是以完善大社交平台自有小程序生态的技术底座,能提供第三方进行私有化部署的有:FinClip、mPaaS等产品。据了解,FinClip自行研发的小程序容器技术,能够让企业的App能具备快速运行小程序的能力,他们家的SDK还能嵌入除App以外的职能设备终端中(如 Linux、Windows、MacOS、麒麟等操作系统上运行)。

混合开发的技术价值和业务价值

技术价值除了上述所罗列的好处之外,「热更新」和「跨平台」的能力也是深受开发者的喜爱。

业务价值上,第三方生态的快速引入,是小程序技术作为混合开发的组合的一个核心价值。

自2017年微信小程序正式上线以来,它迅速成为了中国移动互联网行业的一个重要的生态系统。截至2021年底,微信小程序月活跃用户已经超过1.2亿,覆盖了电商、金融、医疗、教育、旅游、出行等各个行业应用场景。微信小程序生态系统也不断完善,为开发者提供了丰富的开发工具、模板和开源组件等资源。

如果说,互联网1.0,各自平台重复造车轮;互联网2.0,模板化的前端页面打造大大减少研发的冗余开发工作;互联网3.0,生态为王,谁能在最短时间内引入足够多的生态,就能迅速的加深自己的护城河,聚焦自己擅长的核心技术的研发和业务深化。

当然,最后的最后,在我们选择各种开发模式的时候,还是要结合自己的实际应用来选择。比如开发工具类的app时,一般选用原生开发,因为需要操作体验好、反应速度快;比如开发商城、O2O类的app,则采用混合模式开发app比较合适;小程序技术则适合生态引入;HTML5的开发一般都用于移动端的网页开发。



标签:原生,APP,程序,应用程序,混合,开发,App
From: https://blog.51cto.com/u_15735571/8087384

相关文章

  • Django开发--知识回顾
    安装Djangopipinstalldjango创建Django项目django-adminstartprojectmysite注意:pycharm也可以创建Django项目如果用pycharm创建,记得settings.py中的DIR里的信息删除 创建APPpythonmanage.pystartappapp01pythonmanage.pystartappapp02p......
  • 《ChatGPT 驱动软件开发:AI 在软件研发全流程中的革新与实践》
    计算机技术的发展和互联网的普及,使信息处理和传输变得更加高效,极大地改变了金融、商业、教育、娱乐等领域的运作方式。数据分析、人工智能和云计算等新兴技术,也在不断地影响和改变着各个行业。如今,我们正在见证人工智能技术的突破性发展。以OpenAI的ChatGPT为代表的人工智能技术,使......
  • 有名的软件开发公司有哪些
    智慧华盛恒辉软件人才派遣可以帮助企业降低人力成本。相比于雇佣全职员工,软件人才派遣可以提供更加灵活的合同模式,根据项目需求调整人力资源的使用,减少不必要的成本支出。1:华盛恒辉科技有限公司上榜理由:华盛恒辉是一家专注于高端软件定制开发服务和高端建设的服务机构,......
  • scrum开发方法
    一、Scrum概述Scrum本指橄榄球运动中的“争球”的动作——团队通力合作,在场地内传球。这个过程需要认真配合、信念一致、目标明确。这个过程完美体现了对一个团队的所有要求。用Scrum命名一种开发过程,比喻开发团队在开发一个项目时,像打橄榄球一样迅速、激情,人人你争我抢地完成......
  • ArmSom--I2C开发指南
    1.简介RK3588从入门到精通本⽂介绍在rockchip平台下如何配置i2c接口的方法并且添加调试验证i2c外设的例子开发板:ArmSoM-W3Kernel:5.10.160OS:Debian112.i2c接口概述i2c总线控制器通过串行数据(SDA)线和串行时钟(SCL)线在连接到总线的器件间传递信息。i2c总线一些......
  • Java 业务开发常见错误 100 例
    第一讲:使用并发工具库类,建议容易犯的四类错:只知道使用并发工具,但并不清楚当前线程的来龙去脉,解决多线程问题却不了解线程;--错误误以为使用了并发工具就可以解决一切线程安全问题,期望通过把线程不安全的类替换为线程安全的类来一键解决问题。--错误没有充分了解并发工具......
  • ArmSom--I2C开发指南
    1.简介RK3588从入门到精通本⽂介绍在rockchip平台下如何配置i2c接口的方法并且添加调试验证i2c外设的例子开发板:ArmSoM-W3Kernel:5.10.160OS:Debian11  2.i2c接口概述i2c总线控制器通过串行数据(SDA)线和串行时钟(SCL)线在连接到总线的器件间传递信息。i2c......
  • 黑马程序员2023新版JavaWeb开发教程学习笔记
    前言该笔记灵感来源于B站《黑马程序员2023新版JavaWeb开发教程,实现javaweb企业开发全流程(涵盖Spring+MyBatis+Springboot》源视频地址:黑马程序员2023新版JavaWeb开发教程个人声明:本文记录个人在进行该视频学习中的知识总结,帮助大家能更快地进行对该视频内容的学习;由于该视频对......
  • 关于使用ChatGPT的API开发批量处理工具的总结
    关于使用ChatGPT的API开发批量处理工具的总结由于批量处理,输入和输出最好使用json格式,并在提示词中要求以相同格式返回;以便于工具的解析和处理;返回的结果中要求chatgpt,说明其详细的处理过程及原因,方便对提示词进行调优,否则,面对问题时,只能瞎猜;提示词中尽量说明什么情况要怎么做......
  • 云原生架构实战04 kubeSphere 平台安装
    一、Kubernetes上安装KubeSpherehttps://kubesphere.com.cn/安装步骤选择4核8G(master)、8核16G(node1)、8核16G(node2)三台机器,按量付费进行实验,CentOS7.9安装Docker安装Kubernetes安装KubeSphere前置环境安装KubeSphere1、安装Dockersudoyumremovedocker*sudoyuminstall-yyum......