移动开发框架的选择:原生?Web?还是混合?
ccwgpt 2024-11-19 02:22 21 浏览 0 评论
随着越来越多的公司决定开发自己的移动应用程序(简称app),他们将面临选择app开发框架的问题。
这些公司首先必须要做的是让程序按照现有的流程运行,并且让用户能够通过手机操作。而现在的手机程序充分利用设备提供的诸多特性后,变的日新月异,这些特性 比如位置服务,推送服务,无缝数据分享等。选择app开发框架时最大的问题是发布采用那种形式的app:原生的,Web形式的,还是混合形式(原 生+web)的。
原生应用程序开发
通常,开发原生应用程序能带来更好的用户体验。手机操作系统开发商对于各自的开发工具投资巨大,并希望以此确保使用该原生语言开发的手机开发者们能利用好最新的系统特性和平台。
但 是,没有移动开发经验的公司可能会犹豫是否让他们的开发者学习多种语言,来单独开发针对ios和安卓系统的应用程序,因为支持不同系统需要额外的努力。在 有些场景中,当公司仅仅需要支持一个系统或者依赖于集成硬件设备,比如嵌入式设备,无人贩售机,收银机和一些其他针对公司特殊问题的设备,那开发原生 app会成为更好的选择。
基于浏览器的Web应用程序
与原生开发对应的是Web应用程序,用户可以直接在手机浏览器中访问该程序。开发者能够使用他们熟悉的Web技术构建Web应用程序,比如Html5,CSS,JavaScript。一个Web App能够在多种手机操作系统上运行。此外,HTML5的优势意味着Web App也能够做到许多原生App可以做到的事情,比如使用照相机和地理定位,从Web应用程序启动原生应用程序。
这些优点都非常有吸引力,但是Web App有明显的短板。他们只支持在少数特定浏览器中给用户推送消息,登录状态将会迅速过期,此外,Web 应用程序不能利用到所有最新操作系统的特性,而这些特性中有些十分重要且独一无二,它们使的手机app有极大的价值。
由于这些原因,Web App在企业开发中使用较少。Web App的另一个问题是相对于原生App来讲使用起来不够方便。用户必须记住如何导航到Web App页面,为了下次方便进入将网址保存在收藏夹,或者书签放在手机桌面上。IT人员能够使用手机管理软件增加这些书签,但是他们仍然需要相比于原生app更多的不同的处理流程。
混合应用程序
混合应用程序是指在将web app封装起来,让其在原生App中运行,看起来,似乎是两全其美。开发这能使用Web语言编写核心逻辑,并让它在跨平台上运行,而用户接口层使用原生程序来与设备交互,使用设备特性。最后,开发者能够像使用原生程序一样管理和发布混合程序。
混合app可以简单的看成是把web页面嵌入到原生app里,但它们也可以很复杂。许多app开发框架允许app开发人员使用基于WEB技术或其它语言来编写代码,然后根据不同的移动操作系统(mobile OS's)编译为对应的原生应用。一些app开发框架只提供了混合应用开发所需的UI,这些UI是使用原始代码开发且符合操作系统的界面风格。
虽然混合开发很流行,但是它的缺点也是非常明显的。使用一套代码来适配多种操作系统意味着开发人员需要做一些折中的方案。比如: iOS 不支持完整的近场通讯, Android 和iOS app有不同的导航风格。
在某些情况下,“一次开发,到处部署”概念开发的app想要运行在不同的平台上是需要额外的工作,与只投资于原生app开发(native app development )来说它还是比较容易的。
其他的考虑
企业级移动app需要使用基础设施组件如: 推送通知、管理、安全、分析、数据同步和连接到企业数据库、订阅 。
有些人认为混合app与web app对企业app来说很好。另外一些人认为用户体验非常重要,app应该利用移动操作系统上提供的原生功能。 但不同的应用程序、不同情况,需要不同的开发方法和思考。
相关推荐
- VUE3前端开发入门系列教程二:使用iView框架辅助开发
-
1、安装iView新框架,支持VUE3npminstallview-ui-plus2、编辑src/main.js,添加以下内容,导入js和css到项目importViewUIPlusfrom...
- 万能前端框架uni app初探03:底部导航开发
-
前言本节我们使用uniapp的底部导航功能,点击不同tab会显示不同页面,这个功能在实际项目开发中几乎是必备的。一、基础知识1.tabBar如果应用是一个多tab应用,可以通过tabBar配...
- Rust Web 开发框架,前端你可以选择哪个?
-
Rust构建一切。在如今流行的语言中,Rust可谓是将构建和高效作为自己优美的身姿在大众视野中脱颖而出。它是一门赋予每个人构建可靠且高效软件能力的语言。它有什么特性呢?高性能。Rust速度惊人且内...
- 连载:前端开发中纠结的Javascript框架(上)
-
如今,前端开发有着许许多多的框架和库。其中一些好用,一些却不尽人意。通常我们会习惯性运用某一概念,模块或句法。事实上,并没有什么万能工具。这篇文章是关于未来框架的发展趋势——那就是没有框架!我从以下几...
- 前端开发框架的演进架构:提升用户体验和开发效率
-
前端开发框架是现代Web应用开发的重要工具,它不仅可以帮助开发者构建复杂的用户界面,还能够提升用户体验和开发效率。随着Web技术的不断发展,前端开发框架也在不断演进,为开发者提供了更丰富、更高效的工具...
- Google应用Mesh-TensorFlow框架,让CNN也能处理超高分辨率图像
-
为了要处理超高分辨率医疗图像数据,Google开发了一种空间数据分区(SpatialPartition)技术,在不牺牲图像分辨率的条件下,分析超高分辨率图像。Google使用Mesh-TensorF...
- 大模型安全挑战加剧:框架层漏洞成新靶心
-
近日,360数字安全集团发布了一份关于大模型安全漏洞的报告,揭示了当前大模型及围绕其构建的框架和应用中存在的严重安全问题。报告显示,360近期研究发现了近40个大模型相关的安全漏洞,其中既包括二进制内...
- Keras 3.0正式发布:可用于TensorFlow、JAX和PyTorch
-
机器之心报道编辑:陈萍经过5个月的更新迭代,Keras3.0终于来了。「大新闻:我们刚刚发布了Keras3.0版本!」Keras之父FrancoisChollet在X上激动的...
- TensorFlow和Keras入门必读教程(tensorflow与keras版本对应)
-
导读:本文对TensorFlow的框架和基本示例进行简要介绍。作者:本杰明·普朗什(BenjaminPlanche)艾略特·安德烈斯(EliotAndres)来源:华章科技01TensorFlo...
- 谷歌官方回应“TensorFlow遭弃”:还在投资开发,将与JAX并肩作战
-
鱼羊发自凹非寺量子位|公众号QbitAI终于,谷歌出面回应“TensorFlow遭弃”传闻:我们将继续致力于将TensorFlow打造为一流机器学习平台,与JAX并肩推动机器学习研究。这段时...
- 2025 年的PHP :现代 Web 开发的强大引擎
-
程序员还在吐槽PHP过时?2025年的PHP8.4直接封神了。看看最近更新的属性钩子、强类型系统,加上Laravel这些框架,老语言早就脱胎换骨。十年前说PHP弱类型容易崩代码的,现在脸疼不?联合类...
- 前端内卷终结者?htmx如何让开发者告别200行JS只做一个按钮
-
当你用React写一个点赞按钮需要引入3个状态管理库、编写80行JSX和120行钩子函数时,htmx只需要一行HTML:<buttonhx-post="/like"hx-sw...
- NativePHP桌面版V1.0正式发布(元气桌面电脑版下载)
-
导读:各位小伙伴,使用PHP构建桌面级系统的利器,NativePHP来了。概述NativePHP是一个用于使用PHP构建桌面应用的框架。它允许PHP开发人员使用熟悉的工具和技术创建跨平台的原生应用...
- PHP Laravel框架底层机制(php基本框架)
-
当然可以,Laravel是最受欢迎的PHP框架之一,以优雅的语法和丰富的生态而闻名。尽管开发体验非常“高端”,它的底层其实是由一系列结构清晰、职责分明的组件构成的。下面我从整体架构、核心流程、...
- PHP框架之Laravel框架教程:2. 控制器、路由、视图简单介绍
-
2.控制器、路由、视图简单介绍我们先建立控制器,目录是:app/Http/Controllers,新建控制器Ding.php,代码如下:Ding.php:<?phpnamespaceA...
你 发表评论:
欢迎- 一周热门
- 最近发表
-
- VUE3前端开发入门系列教程二:使用iView框架辅助开发
- 万能前端框架uni app初探03:底部导航开发
- Rust Web 开发框架,前端你可以选择哪个?
- 连载:前端开发中纠结的Javascript框架(上)
- 前端开发框架的演进架构:提升用户体验和开发效率
- Google应用Mesh-TensorFlow框架,让CNN也能处理超高分辨率图像
- 大模型安全挑战加剧:框架层漏洞成新靶心
- Keras 3.0正式发布:可用于TensorFlow、JAX和PyTorch
- TensorFlow和Keras入门必读教程(tensorflow与keras版本对应)
- 谷歌官方回应“TensorFlow遭弃”:还在投资开发,将与JAX并肩作战
- 标签列表
-
- 框架图 (58)
- flask框架 (53)
- quartz框架 (51)
- abp框架 (47)
- jpa框架 (47)
- springmvc框架 (49)
- 分布式事务框架 (65)
- scrapy框架 (56)
- shiro框架 (61)
- 定时任务框架 (56)
- java日志框架 (61)
- JAVA集合框架 (47)
- mfc框架 (52)
- abb框架断路器 (48)
- beego框架 (52)
- java框架spring (58)
- grpc框架 (65)
- tornado框架 (48)
- 前端框架bootstrap (54)
- orm框架有哪些 (51)
- ppt框架 (48)
- 内联框架 (52)
- cad怎么画框架 (58)
- ssm框架实现登录注册 (49)
- oracle字符串长度 (48)