首页 >> 科技 >

两种流行的应用程序开发方法是本地应用程序和混合应用程序

2021-08-23 06:21:24 来源: 用户: 

在过去的几年里,我们周围的世界经历了一场强大的范式转变,在这种转变中,我们日常生活的几乎每个方面都围绕着以应用为中心的生态系统或与之相关。今天早上报警了吗?有一个应用程序可以通过定制的机制唤醒你。早餐?一本关于火的食谱,鞭打东西。出租车去上班吗?几分钟后路边会出现几个水龙头。这种转变的迂回效应让人们期望应用程序完成每一项任务(不管有多难),而这些任务每天都被初创公司和开发人员快速填满。随着市场的快速发展,开发商被迫在两种方法之间做出选择,每种方法都有自己的优缺点。

什么是原生和混合应用?

两种流行的应用程序开发方法是本地应用程序和混合应用程序。你问这些术语是什么意思。让我们快速看一下这两个例子。

本地应用程序是使用平台的现有方法专门为他们创建的。他们尊重平台的设计模式,使用平台的主流编程语言(比如安卓的Java),可以完全访问可用的API,提供比混合应用更好的性能。

混合应用程序是通过使用网络技术(如HTML和Javascript)创建的,然后打包在一起并包装在本机浏览器中。想象这个模型的一个简单方法是想象一个在应用程序的WebView中本地运行的网站。混合应用程序没有对API的完全访问权限,这提供了不令人满意的设计体验,Web包装器的使用将对性能产生重大影响。

代码可重用性

许多应用程序混合的主要原因是这种模型在代码可重用性方面有很大的优势。混合应用产生了“一次构建,多次部署”的概念,允许开发人员用Web语言对应用进行一次编码,然后打包到浏览器中,部署到各种平台上。据说这样可以在初始版本和更新时省去很多麻烦,但这种方法的分散性往往被忽略——并不是所有现成的浏览器都支持更新的Web标准,开发人员最终往往会编写大量的兼容性代码并替换CSS规则,针对每个平台的浏览器并满足其要求,从而降低了混合应用程序所携带的“100%可移植性”标签的重要性。

用户界面

社会的

近年来,设计发挥了重要作用。每个平台都可以创建和改进自己的视觉风格,以适应用户,并期望平台上的所有应用程序都使用它。原生应用可以轻松使用平台的设计SDK提供的组件,而混合应用则需要花费大量精力才能实现用户熟悉的界面。尽管如此,在“构建一次,部署多次”的理念下,混合应用一次只能满足一个平台的熟悉度,而更占优势的平台的视觉语言通常在应用中占据中心位置,从而导致其他平台的用户陷入混乱,因为它们满足了许多外星人的布局。

设备访问

安卓-4 . 55 . 0-L-棒棒糖

每个平台都提供自己的API集,开发者可以使用,从布局设计和动画集到电池优化和安全访问。原生应用程序可以通过简单的方法调用无缝地使用这些API,但是混合应用程序在这方面有很大的差距。虽然有些框架,比如Cordova和ion,提供了访问基本API(比如蓝牙、WiFi等)的插件。),覆盖面远不完整,导致了缺乏优化、妥协众多、功能有限的问题。

表演

Htc-one-m9基准

在过去的几年中,硬件功能取得了长足的进步,与软件行业的需求保持同步,并确保用户获得优化和流畅的设备体验。虽然如今大多数旗舰店采用的CPU、GPU和RAM配置令人印象深刻,但应用程序并不是在这个架构级别运行,而是封装在许多软件层中,以提供高级开发体验。应用程序和硬件之间的每个包装器都将显著影响设备的性能和效率,而本机应用程序在层次结构中的特定级别运行,而混合应用程序需要围绕HTML代码的另一个包装器。因此,尽管性能影响并不总是很明显,但它肯定会存在,并且在执行要求更高的操作时,它可能会成为一个明显的缺点。

费用

代码可重用的必然结果是,如果在本地应用程序上没有选择混合应用程序,那么降低成本是主要原因,如果不是主要原因的话。在一个平台上构建然后在多个平台上部署的能力可以降低成本,因为每个平台可以雇佣一个独立的团队,一个多产的HTML团队可以创建应用程序,然后执行将其打包到每个平台的浏览器包中的简单任务,甚至使用Phonegap Build等自动化工具进行平台分配的最后一英里。即便如此,浏览器碎片化仍然是一个不容易解决的严重问题,其修复不需要在JavaScript中使用try-catch块,也不需要替换CSS规则。要顺利实现这个目标是非常困难的,需要一个熟练的Web开发团队。

用户体验

关注用户,其他动作都会随之而来。这个口号是谷歌设计团队提出的。在这个时代,用户的期望、参与和满意度可以证明是应用程序与其替代品或竞争对手之间的关键区别。这个说法是正确的。正确完成后,原生应用可以提供最完美的用户体验,设计时会考虑平台的用户群体,然后无缝使用

户习惯的模式,样式和组件来制作。另一方面,混合应用程序提供的用户体验却远远不能令人满意,仅满足特定平台的需求,无法在触摸反馈,布局响应等方面满足用户期望。尽管许多开发人员继续忽略UX的重要性,

我该选择哪一个?

在这两种方法之间进行探索的目的不是要找到并确定两者中的更好方法,而是要突出选择一个或另一个缺点的各种优势。每种方法在某些方面都有优势,而在其他方面则有所欠缺,最终由开发人员做出选择。问自己一些简单的问题即可简化此选择,例如:

我需要立即为多个平台发布我的应用程序,还是可以从一个平台开始然后扩展?

牺牲成本和缩短上市时间值得牺牲用户界面和应用程序的用户体验吗?

我是否需要访问某些无法通过混合方法获得的特定API?

我的应用程序在性能方面是否繁重,混合方法是否可以满足这种需求?

不要忘记看一些大型企业并从他们的错误中学习。例如,Facebook和LinkedIn在过去都使用混合应用程序,这导致用户极度不满,导致两家公司走本机路线并分别为每个平台构建。只有您知道什么是最适合您的解决方案!

  免责声明:本文由用户上传,与本网站立场无关。财经信息仅供读者参考,并不构成投资建议。投资者据此操作,风险自担。 如有侵权请联系删除!

 
分享:
最新文章