為什麼您的跨平台應用程序比撥號上的蝸牛慢,以及如何修復它

已發表: 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哥倫比亞,我們的整個移動團隊都為這一挑戰而生活。我們不僅編寫代碼 - 我們解決問題。我們測試,調整,迭代並確保您的應用不會最終進入可怕的“首次使用後刪除”類別。

無論您是在哥倫比亞,南卡羅來納州,還是全球中途的創業創始人,我們都希望向您展示如何在南卡羅來納州哥倫比亞市建立專業和負擔得起的移動應用程序開發,並考慮到現實世界中的表現。

讓我們確保您的下一個應用程序因發亮而不是破碎而被人們銘記。