为什么您的跨平台应用程序比拨号上的蜗牛慢,以及如何修复它
已发表: 2025-03-31老实说,不要触发用户的愤怒速度,而不是一个缓慢的应用程序。如果您的用户敲击按钮,就像他们敲响了折断的门铃,盯着旋转装载机更长的时间比他们凝视着伴侣的眼睛,那就出了点问题。
我看到的次数超过了我要计数的时间。在过去的15多年中,我已经帮助从美国到欧洲的团队(当然也在南卡罗来纳州的哥伦比亚)进行了研究,以发现什么在他们闪亮的新移动应用程序中却放慢了什么。剧透警报:这并不总是您的错。有时,这是框架本身。
在Web Design Columbia(上面的资深开发团队的本地面孔)中,我们为物流公司,教育平台,幻想体育初创公司,基于GPS的农业工具甚至安全流媒体应用程序开发了移动应用程序。所有人的一个共同主题?某人(无论是客户还是他们以前的开发人员)认为,跨平台会自动快速,便宜和神奇。
这就是今天的话题的来源。如果您使用React Antive,Flutter,Ionic或任何其他“构建一次,启动到处启动”工具包,并想知道为什么您的应用程序像仓鼠一样运行在跑步机上,那么您并不孤单。让我们拆开它 - 技术上,幽默和诚实。
跨平台:祝福还是瓶颈?

不可否认的是上诉。跨平台开发使您可以(大部分)编写代码并将其部署到iOS和Android。这意味着您不需要两个独立的团队,预算或情感崩溃。
例如,React Native是由Facebook于2015年构建的,以刮擦其瘙痒 - 在不维护多个代码库的情况下延长了更快的移动功能。由Google在2017年创建的Flutter使用其渲染引擎和DART编程语言采用了不同的路线。离子?它较早,返回2013年,并依赖于HTML,CSS和JavaScript等网络技术。
现在,不要误会我的意思 - 这些框架在许多方面都很出色。但是光彩通常带有警告。性能是最大的。
假设您曾经雇用开发人员来为您建造一个美丽的跨平台应用程序,而不是一辆像样的自行车的成本。在这种情况下,您可能已经注意到了几个怪癖:延迟的动画,永远需要响应的按钮或在Android上起作用但莫名其妙地崩溃的功能。
我将在短短一秒钟内解释为什么。但是首先,如果您想知道这与南卡罗来纳州哥伦比亚哥伦比亚的移动应用程序开发有何关系,让我告诉您,自iPhone 3G天以来,我们一直在为当地客户解决这些确切问题。
您的跨平台应用程序的真正原因是
这是他们在光滑的产品页面或开发人员YouTube教程中不告诉您的肮脏的小秘密:跨平台应用程序本质上是抽象层。正如任何程序员所知,抽象=开销。
例如,React Native使用“桥”来在本机组件和JavaScript之间进行通信。这座桥并不完全是Usain Bolt,尤其是当您处理复杂的动画,地图功能或实时数据时。这就是为什么卷轴jank和lag如此普遍的原因。
由于其自身的渲染引擎(SKIA),颤动在某些方面更快,但颤动的颤音具有怪癖。 Dart是强大的,但并非每个人都喜欢使用利基语言。另外,除非您大量自定义每个平台的UX,否则可以将Flutter应用程序膨胀为文件大小,并且通常会感到“非本地”。
而且,我们甚至没有开始使用Cordova或Ionic等混合框架,这些混合框架本质上是在WebView中运行您的应用程序,这是一个浏览器的浏览器,假装是本机应用程序。这就像租用法拉利身体外壳并将其粘在高尔夫球车电机上。
在Web Design Columbia,我们从其他开发人员中继承了这些弗兰肯斯坦应用程序中的份额,而不是“只要使其更快”。好消息是我们通常可以。但是,并非没有抬起引擎盖,删除不必要的插件,优化内存使用情况,并经常重写大量代码。
如果您在南卡罗来纳州哥伦比亚的业务依靠移动应用程序,则这种绩效惩罚可能意味着将用户丢给具有更好UX的竞争对手。没有压力。
全球挫败感,本地修复
Statista最近的一项研究表明,用户仅3秒钟后放弃了应用程序。三秒钟。这比打喷嚏所需的时间少。
另一个有趣的事实? Google本身在2023年表示,有53%的移动用户放弃了一个超过3秒钟的网站或应用程序。这不仅仅是速度,这与信任有关。如果您的应用程序冻结,用户会认为您的品牌不可靠。
这是我们在南卡罗来纳州哥伦比亚市的移动应用程序开发必须迅速发展的地方。现在,即使我们没有编写原始代码,我们也会进行绩效审核,即使我们几乎没有编写原始代码。
我记得我们从事的物流应用程序进行了实时跟踪,条形码扫描和推送通知,这是所有重要功能。但是,开发人员使用了太多的第三方库,实现的背景位置跟踪和记忆动画的反应本机。结果?它每10分钟在Android 11上坠毁,并在较旧的iPhone上进行热关闭。
我们重建了大部分,迁移到更模块化的体系结构,使用的本机模块进行位置跟踪,并将应用程序大小降低了60%。用户群停止发送愤怒的支持电子邮件。这是双赢。
对于那些有兴趣建造类似内容(但没有戏剧)的人,我们通常建议您从南卡罗来纳州哥伦比亚市的专业且负担得起的移动应用程序开发咨询开始。计划总是比修补更便宜。
当大型技术挣扎时
如果您认为这仅发生在小型团队中,请再考虑一下。
Facebook在2012年重建了其移动应用程序,因为原始的基于HTML5的混合动力版本“太慢”。马克·扎克伯格(Mark Zuckerberg)承认,这是他们最大的错误之一。他们最终移至本地代码,后来又开发了反应天然,以更好地解决相同的问题。
甚至Google凭借其闪亮的颤动框架,也不得不仔细踩踏。发现最初的DART学习曲线令人沮丧的Devs对反弹反应。一些基于Flutter的早期应用程序最终是其本地同行的两倍,导致互联网速度有限的国家 /地区的坦克下载率。
然后是Uber,它尝试使用混合框架为其驱动程序应用程序使用混合框架,但最终放弃并恢复了完全的本地开发,因为性能根本无法满足他们的实时需求。
关键是,即使是数十亿美元的公司也学会了 - 有时痛苦的是,表现胜过便利。如果您正在南卡罗来纳州哥伦比亚的移动应用程序开发投资,那么该课程应该在家里近在咫尺,尤其是如果您已经在现成的应用程序变成货币坑后不得不重新雇用。
跨平台没有死,只是被误解了
不要误会我的意思 - 我并不是说所有跨平台框架都是垃圾。当应用程序的范围适合该工具时,我喜欢与React Native一起工作。 Flutter非常适合快速构建视觉上的复杂应用程序。正确使用时,电容器非常有效。
但是这些框架不是魔术。他们需要高级的建筑决策,良好的代码纪律,适当的CI/CD设置以及数十个设备的现实测试。
在Web Design Columbia,我们已经擅长于此,因为我们做得比大多数人更长。从构建幻想体育平台到流媒体安全工具,我们几乎撞到了每堵墙,并弄清楚了如何跳过它(或者有时会遇到完全不同的堆栈)。
这种体验仅来自游戏中的近二十年,是的,其中包括与当天的Symbian OS这样的古代平台合作。感觉很老了吗?

测试不是可选的 - 它的生存
让我们解决这个问题:如果您不在真实设备上测试移动应用程序,则与用户的耐心一起玩轮盘。我已经看到应用程序在模拟器上完美无缺的应用程序,但打破了它们在三星Galaxy A12上打开的第二个应用程序。是的,那是一部真实的手机,是的,它的行为与您的iPhone 15 Pro Max不像。
在南卡罗来纳州哥伦比亚的移动应用程序开发中,我们坚持在各种设备上进行测试。我们拥有旧的Android 8手机,中层平板电脑,甚至还有一个尚未死亡的iPad Mini。为什么?因为您的用户不仅使用最新装备。
另外,模拟器不会模拟电池使用情况,GPS行为,推送通知或移动网络下降。所有这些都在构建依赖实时更新,位置跟踪或流媒体内容的应用程序时。
Flutter的热装加载和React React Native的Live Reload非常适合加速发展,但是测试性能呢?那仍然需要现实世界的用法。如果您要跳过此步骤,我保证您的用户将是发现错误的人,而不是您。这绝不是一个好外观,尤其是对于像南卡罗来纳州哥伦比亚这样的信任驱动市场的企业。
为什么GPS应用是一种特殊的痛苦
现在,让我们谈谈GPS。在Web Design Columbia,我们构建了令人惊讶的基于GPS的应用程序。一位客户跟踪了他们在北卡罗来纳州农村的送货卡车,另一个客户需要一个定制的解决方案进行地理围活动,我们甚至帮助为一家园林绿化公司建立了内部工具,该公司跟踪了用位置邮票追踪土壤下降的。
让我告诉您:GPS +移动应用程序=一袋蛇。
电池消耗是第一个反派。除非您微调位置频率和后备机制,否则您的应用程序将比自动播放上的Tiktok更快地排出用户的电话。而且不要让我开始启动iOS隐私权 - 苹果现在需要一个使用位置服务的理由字符串,如果您的用语不好,您的应用程序将被拒绝。
然后是Android。哦,Android。在某些制造商的电话(看您,小米)上,背景位置根本无法正常工作,除非用户手动启用特定的设置,否则他们通常甚至没有谷歌搜索30分钟就找不到。
我们花了几个月的时间为不同的OS版本和硬件品牌建立自定义后备。对于南卡罗来纳州哥伦比亚的移动应用程序开发,我们已经学会了预测这些陷阱并在我们的客户成为问题之前通知它们。因为如果驾驶员在I-77上进入死区时,您的送货应用程序会失败,那就是客户丢失。
苹果的审查过程将困扰您的梦想
让我们改变齿轮并讨论应用商店的提交,尤其是iOS App Store。将您的应用程序提交给Apple就像将您的简历发送给没有手册的秘密社会,脾气暴躁的评论者以及对模糊拒绝笔记的热爱。
我曾经为被拒绝的客户提交了一个教育应用程序。首先,他们不喜欢登录流程。然后他们标记了提及“免费”内容,因为它在技术上不是免费的。接下来,他们抱怨该应用程序没有提供足够的长期价值。最终,我们通过了,但在编写屏幕截图的3段理由之前。
苹果拥有世界上一些最高的用户标准。那是一把双刃剑。是的,用户会获得抛光应用程序,但是对于开发人员来说,如果您不知道自己在做什么,则可能意味着几周的返工。
在Web Design Columbia,我们专门建立了清单,目的是在苹果的炼狱中生存。我们知道要避免的事情(没有占位符,没有半烘烤的登录屏幕,清晰的特征值),并且我们结构构建可以通过第一次尝试,从而节省了我们的客户时间,金钱和灰头发。
而且,不要忘记Android。尽管他们的过程更加放松,但这并不总是一件好事。带有恶意软件的应用程序偷偷摸摸,诚实的开发人员有时会被自动禁令席卷。我们的一位客户因“欺骗性行为”而被标记,仅仅是因为他们的登录屏幕缺少隐私政策链接。经验教训。
用户体验就是一切 - 跨平台可以破坏它
您是否曾经使用过感觉障碍的应用程序?例如,按钮的行为不像在其他应用程序中那样行为,或者滚动滚动不是黄油般光滑吗?这通常是因为跨平台框架模仿本机UI,但不是完美的。
Android用户期望材料设计交互。 iOS用户习惯了苹果的本地过渡。一个尺寸适合的UI很少让两个营地感到高兴。
在最近的一个项目中,我们被要求大修应用程序的界面,因为Android上的用户认为该应用程序“ Too ios-y”,而iPhone用户则认为它“太平整”了。以前的开发人员已经构建了一个UI并将其拍打。
我们使用平台感知的组件(例如React Native的Platform.os)派上用场,为每个生态系统提供了略有不同的UI。用户做出积极反应,保留率提高了30%。这就是大多数预算开发人员跳过的调整。但这是一个不同的世界,尤其是对于南卡罗来纳州哥伦比亚的企业,当地忠诚就是一切。
费用问题 - 让我们的谈话号码
跨平台应用程序通常被用作便宜的解决方案,但让我们清除空气。是的,开发成本的前期较低 - 通常比构建两个本机应用程序少30-40%。但这只是方程式的一部分。
跨平台应用程序通常需要更多的调试,QA,性能调整和App Store Management。随着时间的流逝,这些费用会像垃圾桶中的浣熊一样将您的预算吞噬。
在Web Design Columbia,我们将提供高质量应用程序的任务而不破坏银行。我们的定价是透明,公平的,并且植根于实际结果。自2006年以来,我们就一直这样做(当构建应用程序意味着Symbian和Blackberry OS Nightmares的Java)时,我们的客户留在我们身边,因为我们说的是人类,而不仅仅是代码。
我们典型的移动应用程序项目从MVP的3,000美元到全功能系统的25,000美元不等。这仍然比您在一家典型的大城市公司所支付的少数要少,而且我们的优质与最好的脚趾脚趾。我们有与我们合作已有十多年的客户,不是因为我们用饼干贿赂他们(尽管也许我们应该)。
那么,跨平台值得吗?
绝对是合适的。不严格依赖动画,设备传感器或平台特定行为的应用程序非常适合反应本地或颤动。跨平台开发通常会极大地有益于内部业务工具,MVP,教育应用程序和简单的社交平台。
但是,如果您正在构建高性能的游戏,AR体验或复杂的GPS跟踪应用程序,则可能需要考虑本机,或者至少是依靠本机模块的混合体系结构。最好的策略?与一个认识两者兼而有之的人交谈,并且不想在特定框架上向您推销。
这就是我们在Web Design Columbia所做的。我们从策略开始,而不是炒作。然后,我们构建一些快速,流畅和用户友好的东西 - 您的客户不仅使用而是真正喜欢的东西。
恭喜,如果您做到了这么远。现在,您对移动应用程序性能的了解更多,而不是90%的企业主启动他们的第一个应用程序。您已经了解到,跨平台工具非常出色,但不是神奇的 - 测试,特定于平台的调整和现实世界的体验是将平庸的应用与赢得市场赢得的应用程序分开的。
在Web Design哥伦比亚,我们的整个移动团队都为这一挑战而生活。我们不仅编写代码 - 我们解决问题。我们测试,调整,迭代并确保您的应用不会最终进入可怕的“首次使用后删除”类别。
无论您是在哥伦比亚,南卡罗来纳州,还是全球中途的创业创始人,我们都希望向您展示如何在南卡罗来纳州哥伦比亚市建立专业和负担得起的移动应用程序开发,并考虑到现实世界中的表现。
让我们确保您的下一个应用程序因发亮而不是破碎而被人们铭记。