混合移动APP是一种降低移动APP开发成本和进入门槛的尝试。他们通过使用以 HTML、CSS 和 Javascript 编写的单个代码库来定位多个平台来做到这一点。采用这种方法的APP的创建方式与现代网站的创建方式非常相似,但不是在移动 Web 浏览器中查看,而是将APP放置在一个小的本地包装器中,允许将其提交到APP商店并安装任何其他移动APP。如果一切按计划进行,开发人员将永远不必编写一行本机代码,用户也不会有丝毫的想法,即他们正在使用混合APP。
希望混合移动APP可以显着降低开发成本并大幅增加能够开发APP的开发人员的数量。本文将探讨混合APP如何接近实现这一梦想,解释混合APP的几个关键限制,探讨它们在行业中的影响,最后概述混合移动APP如何融入我们的整体移动APP开发方法。
最近,混合移动APP的普及率激增。但究竟是什么让他们如此伟大?最大的优势之一是它们为 Web 开发人员打开了移动应用商店的大门。JavaScript 是 Web 开发的主要客户端语言,根据tiobe.com 排名第八. Android 的主要语言 Java 和 iOS 的主要语言 Objective-C 分别排名第 1 和第 14 位。由于混合移动APP允许开发人员使用 JavaScript 而不是单独的本地平台语言,这会导致大量开发人员涌入。此外,曾经只提供 Web 开发服务的公司现在也可以开始提供移动APP开发服务。随着有能力的开发人员的供应增加,开发成本将降低,商店中的APP数量将继续增长。
另一个巨大的优势是传统的移动APP开发需要针对APP目标的每个平台单独的代码库。使用多个代码库会增加开发时间,同时对每个版本进行 QA 所需的时间也会增加。这也意味着您的开发团队会更大,从而增加APP在每个平台上表现不同的可能性。通过构建混合移动APP,所有版本都保持同步。您仍然需要在所有目标平台上对APP进行 QA,但版本在几乎所有情况下都应该表现相同。
混合移动APP的最终胜利是它们能够将现有的网络APP转换为移动APP。这并非在所有情况下都有效,所需的时间可能会有很大差异,但如果您已经有一个在移动浏览器上运行良好的网络APP,那么您很可能很容易将其转换为混合移动APP。如果您一直计划这样做,这种方法效果最好,但我们已经取得了巨大的成功,将我们在过去几年内构建的 Web APP并在原始 Web APP启动后将它们捆绑为混合APP。由于创建混合移动APP与创建移动网站非常相似,因此您通常只需返回并重新打包您已经构建的内容。
一般来说,不要过早追随最新的技术趋势是个好主意。早期采用者通常有明显的成长痛点,必须对频繁的更新和更改做出响应,并且冒着购买可能不会持续超过一年的风险。但是,确定一种可以显着降低成本并帮助您的应用更快上线的新技术可以让您在竞争中领先。因此,查看其他顶级公司并了解他们如何接近和采用新技术通常是一个好主意。考虑到这一点,这里列出了一些非常成功的混合移动APP:
优步
未开发
喊叫
了解这些公司为何选择采用混合APP方法同样重要。更重要的是找到选择不同方向的公司,或者那些曾经拥有混合APP但放弃它而转而采用另一种方法的公司。找到这些故事将帮助您了解混合APP的缺点,并更好地了解混合APP是否适合您的APP。
许多APP从混合路径开始,只是意识到选择的方法将存在严重问题,为时已晚。出于这个原因,决策者在开始之前了解混合APP的缺点是至关重要的。以下是使用混合移动APP时面临的一些常见问题:
动画的 UI 迟缓。
内存受限设备上的内存相关问题。
缺少对所需本机功能的软件包或内置支持。
平台之间的 UI/UX 一致性,而不是许多用户期望的特定于平台的外观和感觉。
稍后的项目里程碑将增加项目范围,这对于混合APP来说是非常困难或不可能做到的。
这些问题的严重程度因项目和混合APP库而异。其中一些是破坏交易的,而另一些则是项目预算较低的不便。在开始任何移动APP项目之前,在选择方法和技术之前获得知情和公正的意见非常重要。
如果您针对多个平台,混合APP应该比原生APP便宜一些。由于它们使用单一代码库,因此它们的维护和测试成本也应该更低。如果您已经有网络开发人员在工资单上,它们也可能更具成本效益,因为现在他们也可以在您的移动APP上工作。在针对 iOS 和 Android 时,混合动力并不总是可以为您节省 50%,但根据我们的经验,您可以预期节省大约 30% 到 40%。这当然取决于是否适合该项目的混合APP。
就像 Web 和移动开发中的几乎所有其他东西一样,没有一个万能的成本等式,如果您采用原生方式,项目的总成本可能会更低。这一切都取决于了解选项并为您的应用选择最佳选项。混合APP有可能更便宜,但情况并非总是如此。
混合APP倡导者希望您相信它们提供与原生APP完全相同的体验,但价格要低得多。在大多数情况下,它们是正确的。混合应用可以像原生应用一样提交到应用商店。用户可以像本地APP一样下载它们。它们的执行方式与原生APP大致相同,正如我们已经讨论过的,它们的制作成本可能比原生APP低得多。混合APP开发VS原生VS H5混合开发APP对比。
但是,在性能、应用间可操作性、动画和本机功能方面存在一些差异。由于混合APP基本上是一个 Web 视图,因此它们可能比原生APP有点迟钝且响应速度慢。这在动画(例如 iOS 托盘打开和关闭动画)中尤为明显。此外,当混合APP想要使用原生功能时,例如访问联系人或日历,它们必须依赖各种包。如果没有执行所需任务的现有包,您可能必须自己制作。由于必须为您所针对的每个平台本地编写这些包,这使得这变得更加困难。不必学习 Java 或 Objective-C 就够了!混合APP无法满足原生APP的其他一些方面包括离线功能、内存使用、
响应式网站实际上与混合APP非常相似。在许多方面,您可以将响应式网站的移动形式视为混合APP的核心。响应式网站具有网站在移动设备上运行所需的 HTML、CSS 和 Javascript。两者的内容、样式和逻辑可以完全相同。混合APP仅涉及获取 Web APP并将其打包在本机包装器中。您必须确保用户体验在这种形式下仍然有效,但很有可能不需要额外的工作来将您的响应式网站(或移动网站)转换为混合移动APP。
这意味着两者之间最显着的区别在于它们的访问方式。响应式网站在移动浏览器中查看,并从您的传统 Google SEO 中受益。另一方面,混合APP可以在APP商店中找到并安装到手机的主屏幕上。这有很多好处,我在之前关于移动参与的文章中讨论了其中的许多好处。
跨平台混合APP是使用单个代码库构建的APP,但会针对每个平台编译为本机代码。流行的跨平台技术包括Xamarin和NativeScript。这些技术将代码编译为本机二进制文件,使它们成为真正的本机APP。作为原生,它们有能力拥有更好的性能,可以承载平台特定的原生 UI/UX,并且可以更好地利用其他原生功能。缺点是这些方法通常具有陡峭的学习曲线。因此,尽管与特定于平台的原生方法相比,您可以节省金钱和精力,但跨平台原生方法可能比混合使用更昂贵。
在这两个选项之间做出决定很大程度上取决于您的开发团队的技能。如果他们有 .Net 和 C# 经验,Xamarin 可能非常适合。但是,他们将不得不在此过程中对本机APP流程有所了解。如果你不适合这个群体,考虑混合动力可能是个好主意。许多人可能会争辩说,如果您必须花时间学习跨平台原生方法,也许您应该多投入一点并使用特定于平台的原生方法,因为最终这将始终是最高性能并提供最佳用户体验.
从表面上看,混合移动APP的出现对 Web 开发人员来说非常棒。随着智能手机和平板电脑的爆炸式增长,APP开发人员面临着巨大的机遇。但是学习原生开发(更不用说多平台开发)历来是一个很大的进入门槛。理论上,混合APP消除了这一障碍,并允许 Web 开发人员进入这个非常有利可图的市场。但是,Web 开发人员应确保了解混合APP的局限性,并愿意在必要时进入本机代码。
由于混合移动APP,Web 开发人员还有另一个有趣的角度。对于自由职业者或顾问开发人员,您可能会与仅提供本地开发的其他开发人员竞争。由于混合APP通常更便宜,因此 Web 开发人员在为项目定价时可以拥有显着的竞争优势。对于面向多个平台的APP来说,这一点越来越真实。精明的网络开发人员可能能够提高他们的费率,并且仍然是一个具有竞争力的价格选择。如果您是 Web 开发人员,这很有意义,并且可能需要有限的精力来开始提供混合APP开发服务。Web 开发人员还应该关注React Native。它使我们能够在本地移动项目上使用经验丰富的 Web 开发人员。
作为一名移动开发者,我会仔细阅读并理解前一段。我会研究和了解混合APP开发的现状,并特别注意它的缺点。如果您是一名自由职业者或顾问移动开发人员,您将很快或可能已经在与 Web 开发人员竞争移动APP项目。这可能意味着您必须对您的项目进行更具竞争力的定价,并且您的每一个提案都将与一组全新的竞争对手进行比较。但是,如果您能够解释和展示原生移动APP的优势并知道哪些APP更适合您的方法,那么您应该能够避免将任何业务拱手让给使用混合APP方法的 Web 开发人员。
此外,移动开发人员可以利用他们的本地开发经验,学习一些 Web 开发(如果他们还没有),并成为世界级的混合APP开发人员。如前所述,大多数混合APP依赖于本地编写的包。拥有这种跨领域技能的开发人员可以通过掌握原生和混合APP方法真正让自己与众不同。
任何有经验的商务人士都应该面带笑容地阅读前两节。由于混合APP将更多的开发人员带到了桌面上,因此在构建移动APP时您可以考虑更多的选择。更多的开发人员意味着您的业务竞争加剧,这当然意味着您可以节省资金。增加的选项确实意味着您必须做更多的研究才能完全理解正确的方法。您需要考虑APP是什么以及它可能是什么。企业明智地寻找真正提供各种移动APP开发方法的人或公司。这样,他们就可以依靠他们的指导,并且希望不会被导向一个方向,因为这是开发人员或公司提供的唯一服务。
要考虑的另一件事是,如果您已经拥有一个 Web APP,混合APP可能会将该网站转化为移动APP,而成本只是新APP成本的一小部分。拥有移动APP对于任何企业来说都是一个绝妙的主意,并且由于混合APP,它们比以往任何时候都便宜。
如前所述,混合APP涉及获取基本上是网站的内容并将其包装在本机包中。有几个不同的框架可以使这个过程成为可能。考虑到大量选项,评估和选择框架可能会让人不知所措。以下是一些最受欢迎的选项的列表,以及每个选项:
Ionic - Ionic 提供了几个内置的 UI 组件,并且严重依赖 AngularJS 进行双向数据绑定。
Cordova (Phone Gap) - Cordova 是最不自以为是的选择。Cordova 不是将一堆东西捆绑在一起,而是一个允许您定义工具并简单地处理APP的打包和发布的框架。
Appcelorator Titanium - 使用 Alloy(一种 MVC 框架),具有内置 API 框架,并提供实时分析。
Sencha Touch - 作为较老的混合APP框架之一,Touch 强调模仿原生 UI/UX。
Kendo UI - Kendo 是 jQuery 粉丝的绝佳选择。
购买新技术可能是一项冒险的尝试。如果底层技术发生变化或被放弃,早期采用者通常会付出高昂的代价来维护他们的APP。但是,混合APP的一大优点是它们非常依赖 Web 开发技术。鉴于网络和网站的巨大持久力,用于制作混合移动APP的语言将被教授和使用相当长的一段时间。因此,您很可能不会发现自己处于必须支付某些利基开发人员来维护您的APP的位置。但是,您选择哪种混合应用技术存在一些风险。当前的一个或多个框架可能会失宠并停止维护。最后一个风险是其他方法,例如跨平台移动APP开发(例如 Xamarin),变得越来越流行。
最终要考虑的是您希望您的APP使用多长时间,以及认为混合APP将在整个期间使用是否合理。在大多数情况下,这对我来说似乎是一个非常安全的赌注。
通常,我们认为拥有一个单一的技术堆栈或方法并将其应用于每个项目是一个糟糕的想法。这样做的公司和开发人员通常会在项目中强制使用不合适的解决方案,而另一种方法会更好。因此,我们认为任何争论混合APP是灵丹妙药或完全无用的人都是大错特错,我们鼓励您对此类开发人员持怀疑态度,因为他们很可能要么只能开发混合APP,要么没有能力做本地以外的任何事情。
总的来说,我们认为混合动力是一个可靠的预算和方便的选择。以下是我们建议使用混合APP方法的一些常见情况:
一个项目需要一个响应式网站,而一个移动APP将是“必备之物”。
一个应用会部署到多个平台,不包含太多或太复杂的动画,并且需要有限的原生功能。
一个项目的预算有限,我们希望以尽可能少的投资来测试APP的可行性。
Web APP版本已经存在,移动APP将非常相似。
以下是一些我们对混合使用犹豫不决的APP:
该APP依赖于原生功能,例如广泛的日历、联系人或照片利用率。
项目预算相当可观,目标是拥有最好的APP。
该APP只会针对 1 个平台。
该APP将面向多个平台,您希望该APP遵循每个平台的标准 UI 和 UX。
该APP将具有中等到广泛的动画。
有一种可能性是,该APP将需要一个功能或集成,而混合APP方法不可能或过于昂贵。
显然,这些列表更多的是指导而不是硬性规则,但这是我们在决定移动APP开发方法时考虑的事物类型的一个示例。
混合APP是一项令人兴奋且影响深远的新技术。决策者和开发人员应确保他们了解这种新的移动APP开发可能性的内容、方式和原因。
作为一家网络和移动开发公司,混合APP为我们提供了一个很棒的新工具,可用于某些项目。但就像任何工具一样,知道何时使用它与知道如何使用它一样重要。我会确保与您合作的任何公司都理解、考虑并提供所有可用的选项。如果没有,您的APP可能会在大门外拐错弯。如果您想与我们讨论您的下一个移动APP项目,我们很乐意听取您的意见!
如果您对本文有任何疑问,或者您希望我们涵盖与混合APP或一般移动开发相关的任何其他主题,请告诉我们。
接入ChatGPT系统多少钱?
APP如何接入ChatGPT系
小程序开发费用,开发小程序需要
怎么选择一家靠谱的小程序制作公
app制作流程-策略|评估规划
开发一个app多少钱?