如今,更容易了。你仍然可以选择以平台为中心,但这一次,你也可以构建一个跨平台的应用程序——换句话说,一个只需要一个代码库就可以在iOS和Android上运行的应用程序——或渐进式Web应用程序——一个在浏览器中运行,但行为像真正的原生应用程序的应用程序!
在本文中,我们将更深入地探索本机、跨平台和PWA应用程序的最佳用例,并更深入地了解构建每个应用程序的优缺点。

什么是原生应用?
如果你的目标是:原生应用是个不错的选择:
出色表现
完美的用户体验
充分利用特定操作系统平台的潜力
但是,它们也有缺点,可能是:
一般比较贵。
做原生应用需要更长的时间。
你需要为每个操作系统雇佣一个专门的开发人员。
学习一门原生编程语言更加困难。
难以更新和维护。
本土发展专家
原生应用的性能更好。
尽管Web每天可以做更多的事情,但跨平台应用程序无法在自然环境中以与本地应用程序相同的性能水平运行。
原生应用程序已经完全运行在特定的操作系统上,这意味着它们可以利用这个系统的所有优势和潜力来最大化应用程序功能,并提供最终的用户体验。
原生应用更适合设计和交互。
前一点与这一点密切相关。
如果你把复杂的设计或者高级的交互作为你业务优势的关键部分,那么你绝对应该选择原生开发。
本机应用程序就像水中的鱼。它们不能生活在其他地方,但它们的生活与水中的其他动物不同。这就是为什么原生开发可以提供非常好的用户体验。
原生应用使用更多的设备功能。
本机应用程序可以与特定操作系统的设备完美配合。这尤其适用于iOS和苹果设备。如果你想在你的应用中充分发挥iPhone的潜力,并且打算让部分功能在这款设备上独占运行,那么你绝对应该选择原生开发。
本地开发的缺点
本机应用程序通常更昂贵。
首先,你需要为不同的操作系统雇佣不同的开发人员。
其次,构建native需要更多的时间,无法使用可复用组件和代码部分的加持。
第三,有才华的本土开发人员更难找到,通常也更贵。
本机应用程序更难更新和维护。
原生应用的维护真的很难,因为你需要花时间在不同的平台上查找错误,你还要分别为每个应用计划和准备更新计划。
什么是跨平台应用?
当您想要:
以50%的速度构建应用程序
为iOS和Android构建应用程序
更快进入市场。
更易于更新和维护。
但是,请注意,跨平台应用程序也有缺点,例如:
你仍然需要复杂函数的原生技能。
对于大型应用程序来说,这可能不是一个好的选择。
跨平台开发专家
跨平台应用无处不在。
如果说原生应用像鱼,那么跨平台应用就像鸭子。他们会游泳、走路和飞行。
当礼物也是一种诅咒时,这是一个典型的场景,因为你可以做很多事情,但没有一件事情会以壮观的方式完成。然而,尽管跨平台应用程序不能充分利用特定操作系统的潜力,但它们是这样构建的,无论它们如何运行,老实说,如果你没有任何大尺寸的设计,或者你不需要任何花哨的交互,你的应用程序就不会有事。
这样的话,就不用再开发两个应用了。相反,你可以使用一个开发者来构建一个可以在Android和iOS上运行的应用程序,它也可以在每个设备上运行。
对于轻量级和易于使用的应用程序、初创公司或任何其他希望在没有巨额投资的情况下更快上市的小型企业来说,这是一个很好的选择。
就价格而言,跨平台应用更好
别误会——这不是典型的性价比关系。
要提供出色的用户体验,你不必将原生开发视为轻而易举的事情。跨平台应用在这方面也做得很好。如果你在旁边加一个价格标签,你可能会爱上跨平台的应用,获得双赢。
有很多东西可以让跨平台开发变得更便宜。
请注意,Web编程语言的流行程度越来越高,这意味着比Android/iOS开发者更容易获得跨平台开发者的加入。
不仅如此,想想学习曲线。比如Android/iOS开发者学习React Native要比React Native开发者学习Android/iOS开发容易得多。
另外,在大多数商业案例中,原生超级性能并不是很有必要。
只要极端的设计或交互对你的业务不重要,你就不需要极端的原生性能。跨平台性能依然以更优惠的价格提供优秀的用户体验。

更好的跨平台上市时间
原生开发非常耗时。或者至少与跨平台开发相比。
你可能从一开始就没有很好的用户体验,但你可以更快地进入市场,获得反馈并相应地调整变化,而不需要很大的投入。
这样,你就可以保护自己不去构建和投资那些在现实世界中没人会用到的东西。
跨平台接触更多人
这是与多平台支持相关的重要业务优势。
原生应用只能在一个操作系统中运行,这意味着你必须构建两个应用来覆盖大众市场。换句话说,例如,如果你只想接触使用iOS的人,那么构建原生应用程序更有意义。
通过跨平台开发,你可以用一个应用覆盖所有操作系统用户。
跨平台应用的缺点
没那么原始。
您可能仍然需要一些本地技能来使用高级功能。
对于要求苛刻的UX来说,这可能不是一个好的选择。
我们之前说过,虽然跨平台应用越来越像原生应用,但还是有无法实现的情况。喜欢游戏,或者确实需要用户体验的设计。
什么是渐进式Web应用程序?
渐进式网络应用程序非常棒,因为它们:
易于构建
构建应用程序的最具成本效益的方式
适用于任何设备。
不需要安装
更新会自动进行。
但它们也是:
只是对真实移动应用的模仿。
性能差
不支持某些次要功能。
进步的网络应用专家
PWA以其座右铭而闻名:“一旦建成,就无处不在”。你所需要的只是一个可以在任何设备、任何操作系统和任何地方运行的代码库。
因为基本上你搭建的不是一个应用,而是一个响应速度非常快的网站,优化后可以像应用一样工作运行。
适用于任何设备。
你所需要做的就是运行一个浏览器——不管是哪一个。PWA也适用于任何类型的屏幕尺寸和设备。
不需要安装
浏览器里什么都有。打开它就够了。
更新会自动进行。
PWA在刷新时会自动更新。不需要手动或任何其他更新。
渐进式Web应用程序的缺点
尽管它们看上去、感觉上和行为上都像一个应用程序——但它只是一个网站。为了在你的手机上“拥有它”,你需要创建一个快捷方式。
你不能真正使用它进行高要求的交互,速度和用户体验高度依赖于设备和互联网连接。
即使Web开发正在尽最大努力做到真正的跨平台,因此也可以在移动设备上使用,但仍有一些功能可能保持真正的移动性,只由移动开发技术使用。
用法示例
总结和最终建议。
总而言之,跨平台应用似乎是一个好主意,因为:
您构建了一个可以在任何地方运行的应用程序,
您可以更快地构建应用程序,
更容易找到一个不错的跨平台开发人员,
培养跨平台开发者比培养本地开发者更容易。
另一方面,渐进式Web应用程序是一个好主意,因为:
这是构建应用程序最经济的方式。
它更容易构建和维护。
刷新后浏览器会自动更新。
最后,如果你的目标是:本机应用程序是完美的:
提供真正出色的用户体验。
你需要超级性能。

想要充分发挥特定操作系统和设备的潜力
最后一个建议:
如果你是一家大公司或者一款游戏,想要使用具有挑战性和要求高的设计或者交互,并且你有能力同时雇佣两个不同的开发者和一个设计师——绝对的原生。
如果你想构建一个同时适用于iOS和Android的应用,请使用跨平台开发。
如果你认为成本是明智的——先构建PWA,然后,如果你的应用会被人喜欢,你就可以把它推上一个新的台阶,让它成为真正的应用。


