크로스 플랫폼 앱이 전화 접속시 달팽이보다 느린 이유와 수정 방법
게시 됨: 2025-03-31솔직히 말해서, 안타깝게도 느리게 앱보다 사용자의 분노가 빨라지지 않습니다. 사용자가 부러진 초인종을 울리는 것처럼 버튼을 두드리고 파트너의 눈을 응시하는 것보다 회전하는 로더를 더 오래 쳐다 보면 무언가 잘못되었습니다.
나는 이것을 세는 것보다 더 많은 시간을 보았다. 그리고 지난 15 년 이상 미국에서 유럽으로 팀을 돕고 물론 사우스 캐롤라이나 주 컬럼비아에있는 팀을 도와주었습니다. 스포일러 경고 : 항상 당신의 잘못이 아닙니다. 때로는 프레임 워크 자체입니다.
Web Design Columbia (BITS의 베테랑 개발 팀의 현지 얼굴)에서 우리는 물류 회사, 교육 플랫폼, 판타지 스포츠 스타트 업, 농업을위한 GPS 기반 도구 및 보안 스트리밍 앱을위한 모바일 애플리케이션을 개발했습니다. 그들 모두에서 하나의 일반적인 주제? 고객이나 이전 개발자 (이전 개발자)는 크로스 플랫폼을 찾는 것이 자동으로 빠르고 저렴하며 마술적일 것입니다.
오늘날의 주제가 시작됩니다. React Native, Flut 기술적으로, 유머러스하며 정직하게 포장을 풀겠습니다.
크로스 플랫폼 : 축복 또는 병목 현상?

항소를 부정하는 것은 없습니다. 크로스 플랫폼 개발을 통해 코드를 한 번 (주로) 작성하여 iOS 및 Android에 모두 배포 할 수 있습니다. 즉, 두 개의 별도 팀, 예산 또는 정서적 고장이 필요하지 않다는 것을 의미합니다.
예를 들어, React Native는 2015 년 Facebook에 의해 가려움증을 긁기 위해 구축되었습니다. 2017 년 Google이 만든 Flutter는 렌더링 엔진과 DART 프로그래밍 언어로 다른 경로를 취합니다. 이온? 2013 년으로 돌아오고 HTML, CSS 및 JavaScript와 같은 웹 기술에 의존합니다.
이제 나를 잘못 이해하지 마십시오.이 프레임 워크는 여러 가지면에서 훌륭합니다. 그러나 Brilliance는 종종 경고와 함께 제공됩니다. 성능은 큰 것입니다.
괜찮은 자전거 비용보다 적은 비용으로 아름다운 크로스 플랫폼 앱을 구축하기 위해 개발자를 고용했다고 가정 해 봅시다. 이 경우, 지연된 애니메이션, 응답하는 데 영원히 걸리는 버튼 또는 Android에서 작동하지만 iOS에서는 충돌하는 기능 등 몇 가지를 알 수 있습니다.
왜 1 초 만에 왜 설명하겠습니다. 그러나 먼저, 이것이 SC 컬럼비아의 모바일 앱 개발과 어떤 관련이 있는지 궁금하다면 iPhone 3G 일 이후로 현지 고객에게 이러한 정확한 문제를 해결했다고 말씀 드리겠습니다.
크로스 플랫폼 앱이 부진한 실제 이유
다음은 매끄러운 제품 페이지 나 개발자 YouTube 자습서에서 말하지 않는 더러운 작은 비밀입니다. 크로스 플랫폼 앱은 본질적으로 추상화 계층입니다. 모든 프로그래머가 알고 있듯이 추상화 = 오버 헤드.
예를 들어, React Native는 "브리지"를 사용하여 기본 구성 요소와 JavaScript간에 통신합니다. 이 브리지는 정확히 Usain Bolt가 아닙니다. 특히 복잡한 애니메이션,지도 기능 또는 실시간 데이터를 처리 할 때. 그렇기 때문에 Jank와 Lag 스크롤이 일반적입니다.
Flut 다트는 강력하지만 모든 사람이 틈새 언어를 사용하는 것을 좋아하는 것은 아닙니다. 또한 플러터 앱은 파일 크기로 부풀어 오르고 플랫폼 당 UX를 크게 사용자 정의하지 않는 한 동작에 "비 네이티브"를 느낄 수 있습니다.
그리고 Cordova 또는 Ionic과 같은 하이브리드 프레임 워크를 시작하지 마십시오. WebView 내에서 앱을 실행하는 앱 (기본 앱인 브라우저의 멋진 단어). 그것은 페라리 바디 쉘을 빌려 골프 카트 모터에 붙이는 것과 같습니다.
Web Design Columbia에서 우리는“더 빨리 만들기”로 임무를 맡은 다른 개발자들의 Frankenstein 앱에 대한 우리의 점유율보다 더 많은 것을 물려 받았습니다. 좋은 소식은 우리가 보통 할 수 있다는 것입니다. 그러나 후드를 들어 올리지 않고, 불필요한 플러그인을 제거하고, 메모리 사용을 최적화하고, 종종 큰 코드를 다시 작성하는 것은 아닙니다.
SC 컬럼비아에서 비즈니스가 모바일 앱에 의존하는 경우이 성능 페널티는 UX가 더 나은 경쟁 업체로 사용자를 잃는 것을 의미 할 수 있습니다. 압력이 없습니다.
글로벌 좌절, 지역 수정
Statista의 최근 연구에 따르면 사용자는 단 3 초 만에 앱을 포기한 것으로 나타났습니다. 3 초. 재채기에 걸리는 시간보다 적습니다.
또 다른 재미있는 사실? Google 자체는 2023 년에 모바일 사용자의 53%가로드하는 데 3 초 이상 걸리는 사이트 나 앱을 포기했다고 밝혔다. 이것은 단지 속도에 관한 것이 아니라 신뢰에 관한 것입니다. 앱이 정지되면 사용자는 브랜드가 신뢰할 수 없다고 생각합니다.
SC 컬럼비아의 모바일 앱 개발이 빠르게 진화 해야하는 곳입니다. 우리는 이제 원래 코드를 작성하지 않은 경우에도 거의 모든 프로젝트의 일부로 성과 감사를 수행합니다.
실시간 추적, 바코드 스캔 및 푸시 알림 (모든 훌륭한 기능)이있는 물류 앱을 기억합니다. 그러나 개발자는 너무 많은 타사 라이브러리, 배경 위치 추적 및 메모리 호깅 애니메이션과 함께 React Native를 사용했습니다. 결과? Android 11에서 10 분마다 충돌하고 구형 iPhone에서 열 셧다운이 중단되었습니다.
우리는 대부분을 재건하고 모듈 식 아키텍처로 마이그레이션하고 위치 추적에 기본 모듈을 사용했으며 앱 크기를 60%줄였습니다. 사용자 기반은 화난 지원 이메일 보내기를 중단했습니다. 윈윈이었습니다.
비슷한 것을 구축하는 데 관심이있는 사람들을 위해 (드라마가 없음), 우리는 일반적으로 SC 컬럼비아에서 전문적이고 저렴한 모바일 앱 개발 상담으로 시작하는 것이 좋습니다. 패치하는 것보다 계획하는 것은 항상 저렴합니다.
큰 기술이 어려움을 겪을 때
이것이 소규모 팀에게만 발생한다고 생각되면 다시 생각하십시오.
Facebook은 원래 HTML5 기반 하이브리드 버전이 "너무 느리게"되었기 때문에 2012 년에 모바일 앱을 재건했습니다. Mark Zuckerberg는 그것이 가장 큰 실수 중 하나라고 인정했습니다. 그들은 결국 기본 코드로 옮겼고 나중에 동일한 문제를 더 잘 해결하기 위해 React Native를 개발했습니다.
반짝이는 플러터 프레임 워크를 갖춘 Google조차도 신중하게 밟아야했습니다. 초기 다트 학습 곡선이 좌절되는 것을 발견 한 데브는 반발에 반응했습니다. Flutter에 구축 된 일부 초기 앱은 결국 기본 상대방의 크기의 거의 두 배로, 인터넷 속도가 제한된 국가에서 탱크로 다운로드 비율을 초래했습니다.
그리고 Driver 앱에 하이브리드 프레임 워크를 사용하려고 시도한 Uber가 있습니다. 그러나 성능은 실시간 요구를 충족시키지 못했기 때문에 포기하고 완전히 기본 개발로 돌아 왔습니다.
요점은, 수십억 달러 규모의 회사조차도 때때로 고통스럽게도 성능이 우월한 편의를 배웠다는 것입니다. SC 컬럼비아의 모바일 앱 개발에 투자하고 있다면, 그 수업은 집 근처에 닿아 야합니다. 특히 상용 앱이 돈 구덩이로 바뀌고 난 후에 이미 재활해야한다면.
크로스 플랫폼은 죽지 않고 오해했습니다
나를 잘못 이해하지 마십시오. 나는 모든 크로스 플랫폼 프레임 워크가 쓰레기라고 말하지 않습니다. 앱의 범위가 도구에 맞을 때 React Native와 함께 작업하는 것을 좋아합니다. Flutter는 시각적으로 복잡한 앱을 빠르게 구축하는 데 화려합니다. 커패시터는 올바르게 사용될 때 놀랍게도 효과적입니다.
그러나 이러한 프레임 워크는 마술이 아닙니다. 수준의 건축 결정, 우수한 코드 징계, 적절한 CI/CD 설정 및 수십 개의 장치에 걸쳐 실제 테스트가 필요합니다.
Web Design Columbia에서는 단순히 대부분의 것보다 더 오래 해왔 기 때문에 이것에 능숙했습니다. 판타지 스포츠 플랫폼 구축에서 스트리밍 보안 도구에 이르기까지 우리는 거의 모든 벽에 부딪 쳤으며,이를 뛰어 넘는 방법을 알아 냈습니다 (또는 때로는 완전히 다른 스택으로 돌아 다니는 방법).
이런 종류의 경험은 게임에서 거의 20 년 동안 이루어졌으며, 여기에는 Symbian OS와 같은 고대 플랫폼으로 일하는 것이 포함됩니다. 아직 늙었다 고?
테스트는 선택 사항이 아닙니다. 생존입니다
실제 장치에서 모바일 앱을 테스트하지 않으면 사용자의 인내심으로 룰렛을 재생하고 있습니다. 시뮬레이터에서 완벽하게 작동하는 앱을 보았지만 삼성 갤럭시 A12에서 열린 두 번째를 깨뜨 렸습니다. 예, 그것은 진짜 전화입니다. 그렇습니다. iPhone 15 Pro Max와 같은 것이 없습니다.

SC 컬럼비아의 모바일 앱 개발을 위해, 우리는 다양한 장치 실험실에서 테스트를 요구합니다. 우리는 오래된 Android 8 전화, 미드 계층 태블릿, 심지어 죽지 않은 피 각질의 iPad 미니를 가지고 있습니다. 왜? 사용자는 최신 장비를 사용하지 않기 때문입니다.
또한 에뮬레이터는 배터리 사용, GPS 동작, 푸시 알림 또는 모바일 네트워크 방울을 시뮬레이션하지 않습니다. 실시간 업데이트, 위치 추적 또는 스트리밍 컨텐츠에 의존하는 앱을 구축 할 때 이러한 모든 문제가 있습니다.
Flutter의 Hot Reload 및 React Native의 Live Reload는 개발 속도를 높이는 데 적합하지만 테스트 성능은 어떻습니까? 여전히 실제 사용이 필요합니다. 이 단계를 건너 뛰는 경우 사용자가 버그를 발견하는 사람들이 될 것이라고 보장합니다. 그리고 그것은 특히 사우스 캐롤라이나 주 컬럼비아와 같은 신뢰 중심의 시장에 기반을 둔 비즈니스에서는 결코 좋은 모습이 아닙니다.
GPS 앱이 특별한 종류의 고통 인 이유
이제 GPS에 대해 이야기합시다. Web Design Columbia에서는 놀라운 수의 GPS 기반 앱을 구축했습니다. 한 고객은 노스 캐롤라이나 시골에서 배달 트럭을 추적했으며, 다른 고객은 지오 펜싱 이벤트를위한 맞춤형 솔루션이 필요했으며, 우리는 위치 스탬프로 토양 하락을 추적하는 조경 회사를위한 내부 도구를 구축하는 데 도움이되었습니다.
GPS + 모바일 앱 = 뱀 가방을 말해 드리겠습니다.
배터리 소비는 첫 번째 악당입니다. 위치 주파수 및 폴백 메커니즘을 미세 조정하지 않으면 앱이 자동 재판에서 Tiktok보다 사용자의 전화를 더 빨리 배출합니다. 그리고 iOS 개인 정보 보호 권한을 시작하지 마십시오. Apple은 이제 위치 서비스를 사용하기위한 정당화 문자열이 필요하며, 제대로 표현하면 앱이 거부됩니다.
그런 다음 Android가 있습니다. 오, 안드로이드. 일부 제조업체의 전화 (Xiaomi를보고 있음)에서 사용자가 특정 설정을 수동으로 활성화하지 않는 한 배경 위치는 단순히 작동하지 않습니다. 일반적으로 30 분 동안 인터넷 검색없이 찾을 수없는 설정.
우리는 몇 달 동안 다양한 OS 버전 및 하드웨어 브랜드에 대한 맞춤형 폴백을 구축했습니다. SC 컬럼비아의 모바일 앱 개발을 위해, 우리는 이러한 gotchas를 예상하고 고객에게 문제가되기 전에 정보를 알리는 법을 배웠습니다. 운전자가 I-77의 데드 존에 들어갈 때 배송 앱이 실패하면 고객이 손실되기 때문입니다.
애플의 검토 과정은 당신의 꿈을 괴롭힐 것입니다
기어를 전환하고 App Store 제출, 특히 iOS App Store에 대해 논의합시다. 앱을 Apple에 제출하는 것은 핸드북이없는 비밀 사회에 이력서를 보내고, 심술 궂은 검토 자, 모호한 거부 노트에 대한 사랑을 보내는 것과 같습니다.
한 번 거부 된 고객을위한 교육 앱을 5 번 제출했습니다. 첫째, 로그인 흐름이 마음에 들지 않았습니다. 그런 다음 기술적으로 무료가 아니기 때문에 "무료"컨텐츠에 대한 언급을 표시했습니다. 다음으로, 그들은이 앱이 충분한 장기 가치를 제공하지 않았다고 불평했습니다. 결국, 우리는 스크린 샷으로 3 단락 정당화를 작성하기 전에는 통과했습니다.
Apple은 세계에서 가장 높은 사용자 표준을 가지고 있습니다. 그것은 양날의 검입니다. 예, 사용자는 세련된 앱을 얻지 만 개발자에게는 무엇을하고 있는지 모르는 경우 몇 주 동안 재 작업을 의미 할 수 있습니다.
Web Design Columbia에서는 Apple의 연옥에서 살아 남기 위해 특히 점검 목록을 구축했습니다. 우리는 피해야 할 사항 (자리 표시 자, 반 구운 로그인 화면, 명확한 기능 가치)을 알고 있으며, 첫 번째 시도를 전달하여 고객의 시간, 돈 및 회색 머리카락을 절약 할 수있는 빌드를 구조화합니다.
그리고 안드로이드를 잊지 말자. 그들의 과정이 더 편안하지만 항상 좋은 것은 아닙니다. 맬웨어가 가득한 앱은 몰래 빠져 나가고 정직한 개발자는 때때로 자동 금지에 휩쓸립니다. 로그인 화면에 개인 정보 보호 정책 링크가 누락 되었기 때문에 고객 중 한 명이 단순히 "기만적인 행동"으로 표시되었습니다. 교훈을 배웠습니다.
사용자 경험은 모든 것이며 크로스 플랫폼은 그것을 방해 할 수 있습니다
느꼈던 앱을 사용한 적이 있습니까? 예를 들어, 버튼은 다른 앱에서처럼 행동하지 않거나 스크롤링이 버터가 부드럽 지 않습니까? 그것은 종종 크로스 플랫폼 프레임 워크가 네이티브 UI를 모방하지만 완벽하지는 않기 때문입니다.
안드로이드 사용자는 재료 설계 상호 작용을 기대합니다. iOS 사용자는 Apple의 기본 전환에 익숙합니다. 한 크기의 UI는 두 캠프를 거의 즐거워하지 않습니다.
최근의 한 프로젝트에서 Android의 사용자는 앱이 "너무 iOS-Y"라고 느꼈고 iPhone 사용자는 "너무 평평하다"고 느꼈기 때문에 앱의 인터페이스를 점검하도록 요청 받았습니다. 이전 개발자는 하나의 UI를 구축하여 둘 다를 때렸습니다.
React Native 's Platform.OS와 같은 플랫폼 인식 구성 요소를 사용하여 재구성했습니다. 사용자는 긍정적으로 응답했으며 유지율은 30%향상되었습니다. 그것은 대부분의 예산 개발자가 건너 뛰는 것을 조정하는 것입니다. 그러나 그것은 지역 충성도가 전부 인 SC 컬럼비아의 기업들에게 특히 차이가 있습니다.
비용 질문 - 말하기 번호
크로스 플랫폼 앱은 종종 저렴한 솔루션으로 투구되지만 공기를 깨끗하게하겠습니다. 예, 개발 비용은 선불로 낮으며, 일반적으로 2 개의 기본 앱을 구축하는 것보다 30-40% 적습니다. 그러나 그것은 방정식의 일부일뿐입니다.
크로스 플랫폼 앱은 종종 더 많은 디버깅, QA, 성능 튜닝 및 앱 스토어 관리가 필요합니다. 시간이 지남에 따라 이러한 비용은 쓰레기통으로 너구리처럼 예산으로 먹을 수 있습니다.
Web Design Columbia에서는 은행을 깨지 않고 고품질 앱을 제공하는 임무를 수행했습니다. 우리의 가격은 투명하고 공정하며 실제 결과에 뿌리를두고 있습니다. 우리는 2006 년 부터이 작업을 수행해 왔습니다. 앱을 구축하는 것이 Symbian 및 BlackBerry OS Nightmares의 Java를 의미했을 때, 우리는 코드뿐만 아니라 인간을 말하기 때문에 고객과 함께 있습니다.
당사의 일반적인 모바일 앱 프로젝트는 MVP의 경우 3,000 달러, 풀 기능을 갖춘 시스템의 경우 25,000 달러입니다. 그것은 전형적인 대도시 회사에서 지불하는 것보다 여전히 수천 명 정도이며, 우리의 품질은 최고로 발끝까지 다릅니다. 우리는 쿠키로 뇌물을주기 때문에 10 년 넘게 우리와 함께 일한 고객이 있습니다.
그렇다면 크로스 플랫폼이 그만한 가치가 있습니까?
절대적으로 - 그것이 올바른 착용감이 될 때. 애니메이션, 장치 센서 또는 플랫폼 별 동작에 크게 의존하지 않는 앱은 React Native 또는 Flutter에 적합합니다. 크로스 플랫폼 개발은 종종 내부 비즈니스 도구, MVP, 교육 앱 및 간단한 소셜 플랫폼에 큰 도움이됩니다.
그러나 고성능 게임, AR 경험 또는 복잡한 GPS 추적 앱을 구축하는 경우 기본 또는 기본 모듈에 의지하는 하이브리드 아키텍처를 고려할 수 있습니다. 최고의 전략? 두 세계를 알고 있고 특정 프레임 워크에서 당신을 상향 판매하려고하지 않는 사람과 대화하십시오.
그것이 우리가 Web Design Columbia에서하는 일입니다. 우리는 과대 광고가 아닌 전략으로 시작합니다. 그런 다음 고객이 사용하지 않고 실제로 즐기는 빠르고 매끄럽고 사용자 친화적 인 것을 구축합니다.
지금까지 만들었다면 축하합니다. 이제 첫 번째 앱을 출시하는 비즈니스 소유자의 90%보다 모바일 앱 성능에 대해 더 많이 알고 있습니다. 크로스 플랫폼 도구는 우수하지만 마법의 것이 아니라 테스트, 플랫폼 별 조정 및 실제 경험이 평범한 앱을 시장에서 우승 한 앱과 분리시키는 것임을 배웠습니다.
Web Design Columbia에서 우리의 전체 모바일 팀은이 도전을 위해 살고 있습니다. 우리는 단지 코드를 작성하는 것이 아니라 문제를 해결합니다. 우리는 테스트, 조정, 반복 및 앱이 두려운 "첫 번째 사용 후 삭제 된"카테고리로 끝나지 않도록합니다.
컬럼비아, 사우스 캐롤라이나 또는 전 세계의 스타트 업 설립자이든, 우리는 실제 성능을 염두에두고 SC 컬럼비아에서 전문적이고 저렴한 모바일 앱 개발을 어떻게 구축하는지 보여 드리고자합니다.
다음 앱이 깨지지 않고 화려한 것으로 기억되도록합시다.