2020年跨平台移动应用程序开发

大家好!

我是Omega-R首席技术官Sergey Yakimov,这是一家开发和集成IT解决方案的国际公司。基于在信息技术领域的多年经验和公司专业知识,我想分享我对跨平台移动应用程序开发的现在和不久的将来的看法。

图片

多年来,跨平台移动开发已经赢得了最流行的软件开发领域之一的声誉。跨平台方法允许您使用一个代码库为各种平台创建应用程序,从而节省了时间和金钱,并消除了不必要的工作。

根据We Are Social Inc.的《2020年数字报告》研究。和Hootsuite Inc.,全球的互联网用户数量每秒增加9人。这意味着每天有超过80万人加入使用台式机或移动设备的全球在线社区。有趣的是,后一种选择每月变得越来越流行。

智能手机在日常生活中的渗透率在全球范围内不断增长。预计到2024年,使用的四分之三的手机将是智能手机。根据StatCounter的统计,桌面用户的份额已降至45.66%。

图片

关于这种情况的最简单的解释是我们生活方式的改变。我们在互联网上花费的时间比以往任何时候都多。几乎每个人都可以使用智能手机或平板电脑。考虑到普通用户每天在网络上花费将近7个小时,因此一半以上的流量来自移动设备也就不足为奇了。

反过来,这又推动了移动应用市场的增长。移动应用程序首选项的结果令人印象深刻。根据Statista去年的报告显示,2019年来自移动应用程序的全球收入达到4610亿美元,到2023年,付费下载和应用程序内广告预计将产生超过9350亿美元的收入。

选择移动开发路径


应用程序不仅在现代Internet用户中很流行,而且对于其所有者来说也是非常有利可图的。如果将这两个因素结合在一起,我们可以得出结论,几乎所有业务开发策略都可能包括创建应用程序。然而,两难选择是开发移动应用程序的正确方法。

迈向数字化成功的第一步之一就是对移动操作系统的决定-顺便说一句,十年前,Android,iOS,Microsoft,RIM和Symbian都是相当可行的选择,这并非那么简单。

如今,选择更为简单,因为仅有的主要厂商是Android和iOS,两者共同构成约占移动操作系统总市场份额的99%。根据各种统计数据,Android在用户数量方面胜出,但不乏iOS支持者,其市场份额为25.75%。Google Play商店拥有大量应用程序(250万个),而Apple App Store包含超过180万个应用程序。仅这个事实就足以表明两个平台都不应该被忽视。

图片

由于移动操作系统的选择是用户个人喜好的问题,而不是性能或可用性的问题,因此最好最终为Android和iOS创建一个移动应用程序-并且有三种方法可以做到这一点。

适用于Android和iOS的独立本机应用程序


顾名思义,本机解决方案涉及使用平台本身的编程语言开发应用程序:适用于Android的Java或Kotlin,适用于iOS的Objective-C或Swift。本机应用程序的开发集中在操作系统上,有其优点和缺点。一方面,本机解决方案可访问此操作系统的所有功能,可让您无限地自定义界面并防止任何性能问题。另一方面,如果要同时接触这两种类型的用户,则必须创建两个单独的应用程序,这些应用程序需要更多的时间,金钱和精力。

渐进式Web应用程序


渐进式Web应用程序是Web开发中的一项技术,它向站点添加了移动应用程序功能,并将站点转换为应用程序。输出是移动设备的混合站点和应用程序。但是,与其他任何选项一样,渐进式Web应用程序也不是完美的,因为它们消耗更多的电池电量并且无法访问该设备的所有功能,例如日历,相机,联系人等。此外,使用Facebook,Instagram,Vkontakte或其他应用程序交叉输入Web应用程序的能力也丧失了。尽管不需要从Google Play商店或Apple App Store安装Web应用程序,但后者对于用户而言却是极为方便的库。

一个用于两个系统的跨平台应用程序


跨平台是软件(在我们的示例中为移动应用程序)可以在多个平台上运行的能力。

跨平台移动开发使您可以用一个代码覆盖两个操作系统iOS和Android。它不涉及使用本机编程语言编写代码,但是由于使用了自己的控件的可视化界面,它提供了几乎本机的体验。

目前,许多公司使用跨平台解决方案,有人正在认真考虑在不久的将来转向他们。这些不仅是解决方案本身的供应商,例如带有React Native的Facebook(运行Facebook和Instagram应用程序),还有其他主要市场参与者,例如Flutter上的产品-阿里巴巴,飞利浦·顺化,汉密尔顿,腾讯。 ,Grab,Groupon等。

有许多文章详细分析了跨平台应用程序的所有优点。但是,应该在一个有可能在2020年成为开发人员中最受欢迎的平台-Flutter的平台上考虑利弊。


Flutter是用于创建跨平台移动应用程序的开源Google SDK,可为用户提供Android和iOS真正的本机设计和体验。与React Native相比,该开发平台在开始时就已经显示出惊人的增长。在2017年Google I / O大会上宣布并于2018年发布的Flutter仍然是跨平台应用程序平台市场的新来者。GitHub上有超过87,700颗星,高于React Native的结果,并且绝大多数开发人员都将其称为Stack Overflow 2019年度开发人员调查年度回顾中三个最受欢迎的框架之一,Flutter无疑是不容忽视的力量。

图片

考虑将Flutter作为产品开发平台的利弊:

优点


  • time-to-market;
  • ;
  • ;
  • ;
  • .


  • , ;
  • – Dart, , , . Flutter, ( , ).

Google于2011年引入了Dart编程语言,Google称之为“客户端优化”。这是一种自适应的面向对象语言,由于两个原因而被认为相对容易学习:首先,它使用C / C ++和Java。其次,在Dart官方网站上,您可以找到大量且相当简单的文档。还要注意的是,Dart附带了Flutter兼容软件包的大型存储库,使您的应用程序更加复杂。

Flutter上的跨平台应用程序的开发与公认的IDE中的本机应用程序类似-Android Studio和Xcode。此外,开发人员可以使用热重载代码,从而加快了开发过程中应用程序的启动速度。此外,发布过程与本地发布过程没有什么不同-收集的发行版经过签名并下载到应用程序商店。

商业利益


在业务中,起决定性作用的通常是TTM(上市时间)指标。要领先一步,同时在两个平台上都比竞争对手更快地将新功能引入您的产品-任何领先的公司都从一开始就考虑到这一点。跨平台的框架可以实现这一目标,并且作为一个明显的好处,它可以降低每个阶段的开发成本。根据我们的计算,在Flutter上进行开发可以使您将产品开发的总成本降低25-30%。

预测,未来5年的前景


每个在两个移动开发平台上都希望同时使用其产品快速进入市场的人已经在积极使用跨平台解决方案进行开发。到2020年,趋势不会改变,越来越多的公司将在Flutter上使用跨平台移动应用程序。

Google正在开发一种新的操作系统紫红色,包括用于移动设备的操作系统。 Flutter在此操作系统中被声明为UI工具包。在不久的将来,Fuchsia可能会取代Android OS,尽管Fuchsia仍在增加运行本机Android应用程序的功能,但在计划开发并通过其移动应用程序进入市场时,值得考虑这一趋势。

因此,一个代码库无疑会影响应用程序开发的各个方面,直至所需的开发人员数量,从而使该公司节省了资金,这通常用于修复和更新两个单独的代码库。节省的项目初始预算的大部分可用于根据用户评论进一步改进应用程序。结果,移动应用程序的跨平台开发以平衡的方式通过价格标准以及时间,复杂性和用户体验标准实现了其目标。

All Articles