Android 및 iOS 앱 개발자가 Flutter를 고려해야 하는 이유{2021-2022}
게시 됨: 2019-03-28모바일 앱 세계 타운에 대한 은밀한 이야기는 Android 와 iOS를 위해 특별히 제작된 네이티브 앱이 단일 코드베이스인 Cross-Platform을 사용하여 둘 다용으로 개발된 앱과 강력한 경쟁에 직면하게 될 것이라는 것입니다.
React Native와 같은 크로스 플랫폼 프레임워크와 Flutter와 같은 훨씬 더 발전된 프레임워크에 대한 관찰에 따르면 이제 모빌리티 세계는 이제 곧 네이티브 대 크로스 플랫폼이라는 음성 질문 시대가 더욱 두드러지고 시끄러워질 것입니다. .
그리고 비록 현재에 머물러 있지만 네이티브 Android 및 iOS 개발과 그것이 제공하는 이점에 대한 상대는 없지만, 네이티브 접근 방식에 대해 완전히 다음 수준의 연료로 가득 찬 경쟁을 제공하기 위해 현재 등장하고 있는 하나의 조수 프레임워크인 Flutter가 있습니다.
최초의 Flutter 1.2 및 Dart 2.2 업데이트 를 받으면 곧 잊혀질 Google의 취미로 간주되었던 프레임워크가 전체 이미지를 변경했습니다.
이 도구는 몇 달 만에 Alibaba, Tencent 등 세계에서 가장 유명한 이름에서 충성도 높은 사용자 기반을 찾았을 뿐만 아니라 크로스 플랫폼 프레임워크 가 없었던 Hemmingway 계획을 시작했습니다. 전에 – 웹.
Flutter 협회의 이점을 보고 업계 전체가 이제 궁극적인 경쟁의 날이 가깝다는 생각에 워밍업하고 있습니다.
이제 우리는 그것이 하루 아침에 일어날 것이라고 말하는 것이 아니라 시간이 걸릴 것이라고 말하지만 앱 산업은 거기로 향하고 있다고 믿어집니다.
개발자와 기업 모두의 모바일 앱 커뮤니티가 앱 개발의 첫 번째 선택으로 Flutter의 아이디어를 준비하는 방법을 확인하십시오.
사실 이것이 바로 점점 더 많은 개발자가 네이티브가 사라질 때 수요를 유지하기 위해 광범위한 기술 스택과 언어를 사용하려고 나가는 이유입니다.
이제 React Native는 개발 라인에서 계속 활동하기를 원하는 앱 개발자가 손에 넣어야 하는 프레임워크로 이미 자리를 잡았지만 이 유명한 도구는 이제 완전히 새로운 블록인 Flutter에 의해 곁길로 빠져드는 것을 보고 있습니다. Flutter 모바일 앱 개발 의 장점 목록 도 알려지지 않았습니다.
플러터 프로 2021
Flutter에서 혁신적이고, 다르며, 간단하게 실행되는 것은 무엇입니까? 새로운 도구를 위해 React Native를 포기하는 것을 고려할 수 있는 2021년 기능과 플러터 찬반 양론을 검토해 보겠습니다.
빠른 UI 코딩을 위한 맞춤형 위젯
Flutter의 가장 혁신적인 점은 빌딩 블록과 일관되고 통합된 개체 모델의 도움으로 사용자 인터페이스를 만드는 데 도움이 된다는 것입니다.
Flutter의 모든 객체는 위젯(버튼, 패딩, 글꼴 등)이므로 Flutter를 위젯이라고 부를 수 있습니다. 위젯을 통합하여 디자인이나 레이아웃을 만들 수 있으며, Flutter 팀에서 수행한 것과 동일한 도구를 사용하여 위젯을 만들 때 구조 사각형에서 가장 낮은 수준까지 모든 수준의 사용자 지정에서 위젯을 활용하도록 결정할 수 있습니다.
Flutter에 자체 위젯이 있다는 점은 한 가지 주요 이점을 제공합니다. 즉, 일반적으로 크로스 플랫폼 개발에서 완료하는 데 가장 오래 걸리는 UI 사용자 정의는 Flutter를 사용하면 최소한의 시간이 걸립니다.
성장하는 커뮤니티
Dart에 익숙해지는 것은 큰 문제가 아니므로 도구를 배우는 것은 간단해야 합니다. Flutter 그룹은 제한된 프로그래밍 지식, 프로토타이핑 및 애플리케이션 구축을 가진 개인을 보았고 Flutter를 시작하는 데 모바일 개선 경험이 필요하지 않다고 지정합니다.
이러한 젊은 기술에 대해 Flutter는 매우 빠르게 성장하고 있습니다. 통계에 따르면 Flutter 사용이 빠르게 증가했으며 매달 50만 명이 넘는 개발자가 Flutter를 사용하는 것으로 나타났습니다. 일부 통계는 Flutter의 증가하는 성장 아래에 표시됩니다 .
- Flutter 개발자의 거의 78%는 안정적인 채널을 사용하고 11%는 베타를 사용하며 나머지 11%는 dev 또는 master를 사용합니다.
- 인도, 중국, 미국, EU, 브라질은 Flutter의 상위 5개 지역입니다.
- Play 스토어에 게시된 Flutter 앱은 대략적으로 계산됩니다. 90,000
Dart – 간단하고 매력적인 언어
Dart는 구문으로 Java 또는 C++를 기억하는 데 도움이 되는 최첨단 객체 지향 언어입니다. 견고한 작곡 스타일과 약한 작곡 스타일을 모두 지원하므로 초보자가 쉽게 선택할 수 있습니다.
XML 레코드에 대한 요구 사항이 없습니다. 안드로이드 개발에서 작업은 디자인과 코드로 나뉩니다. 형식은 XML로 작성된 다음 Java 코드에서 참조되는 보기로 작성되어야 합니다. Dart는 형식과 코드를 한 곳에 보관하여 이를 처리합니다. Flutter의 객체는 위젯이므로 레이아웃은 Dart에서 생성됩니다.
아시다시피 사용자의 가제트에 있는 응용 프로그램은 브리지 없이 로컬 코드로 컴파일되므로 Dart로 인해 쉽게 실행되므로 Dart는 JavaScript 연결 없이 더 나은 실행을 제공합니다.
Dart에 대한 중요한 참고 사항은 언어가 웹 애플리케이션 구축에 사용되기 때문에 모바일 개발에 국한되지 않는다는 것입니다. 일반적으로 웹 구조 및 AngularDart와 함께 사용됩니다.
재장전 기능
배포에 몇 분이 걸리는 일반 프로그래밍으로 돌아가는 것은 어려울 수 있습니다. Hot reload는 프로그래머의 생산성을 높이고 빠른 반복을 지원하며 긴 지연 없이 실험할 수 있도록 합니다. Xamarin 및 React Native에도 이 기능과 동등한 기능이 있지만 일부 리뷰에서는 Flutter에서 훨씬 더 빠르다고 주장합니다. 우리는 아직 그 증거를 위한 벤치마크를 보지 못했습니다.
이 도구는 Flutter의 디자인에 고정되어 있으며 작동하는 데 플러그인이 필요하지 않습니다. 핫 리로딩을 통해 실시간으로 업데이트를 볼 수 있습니다. 예를 들어 프로그램을 실행하는 동안 오류가 발생했다고 가정합니다. Flutter에서는 전체를 다시 시작하지 않고 중단한 부분부터 계속해서 즉시 수정할 수 있는 이점이 있습니다.
배포에 몇 분이 소요되는 일반 프로그래밍으로 돌아가는 것이 어려울 수 있습니다. Hot reload는 개발자의 효율성을 높이고 빠른 반복을 지원하며 긴 지연 없이 테스트할 수 있도록 합니다.
휴대성
Flutter는 프레임워크일 뿐만 아니라 전체 SDK(Software Development Kit)이며 화면이 있는 모든 장치에서 실행할 수 있습니다. Mac OS, Linux 및 Windows용 Flutter 애플리케이션을 개발하기 위해 타사 포트가 만들어졌습니다. 이식 API, 마우스 및 키보드 입력 기능, 다양한 플러그인을 통합합니다. 몇몇 사람들은 Flutter를 활용한 TV 애플리케이션 개발을 시도하기도 했습니다. 가능성을 고려하면 나날이 사랑받는 프레임워크 중 하나가 되고 있습니다.
고성능
많은 구성 요소가 응용 프로그램의 프레젠테이션을 구성하는 데 사용됩니다. CPU 사용, 평균 반응 시간, 초당 프레임 수(fps) 등은 앱 성능에 액세스하는 데 도움이 되는 몇 가지 요소입니다. Flutter는 일관된 60fps를 보장합니다. 이는 현재 화면에서 부드럽고 선명한 화면을 보여주는 비율입니다. 이러한 프레임 속도의 지연은 눈으로 빠르게 관찰되므로 개발자는 이 수준에서 순간을 따라 잡으려고 시도합니다.
우리는 이미 React Native vs. Flutter 논쟁에 대해 React Native 앱 개발에 비해 Flutter 앱 개발의 이점에 대해 자세히 살펴보았기 때문에 이 기사에서는 Android 및 iOS 개발자가 Flutter 앱 개발 서비스 에 집중 하고 도메인에서 기술을 향상시킵니다.
더 이상 고민하지 않고 Flutter가 iOS 및 Android 앱 개발에 미치는 영향부터 시작하겠습니다.
지금까지 iPhone 앱 개발자가 크로스 플랫폼 앱 개발에 시간을 투자하지 않은 이유는 단일 코드 기반에서 두 개의 앱을 개발할 수 있게 해주는 도구가 분명히 무언가가 빠져 있다고 외치는 품질을 제공한다는 사실입니다. Swift가 작업하기에 가장 좋은 도구 중 하나라는 사실에 추가된 이러한 불완전함은 그들이 크로스 플랫폼의 방향을 바라보지 못하게 하는 이유였습니다.
그러나 Flutter가 시장에 진입한 이후로 Native 앱과 Flutter 프레임워크를 사용하여 개발한 앱의 차이점을 찾는 것이 거의 불가능해졌습니다. 프레임워크와 함께 제공되는 부드러움, 매끄럽고 단순한 고유성은 iOS 및 Android 개발자에게 flutter를 이상적인 선택으로 만듭니다.
Flutter가 이제 모빌리티 영역에서 알려지게 되었다는 사실이 이미 확립되었기 때문에, 어느 것이 더 나은지 알아보기 위해 Flutter와 기본 iPhone 앱 개발을 약간 비교하는 것이 시기적으로 적절합니다.
Flutter vs Native iOS 개발 에 대한 답 은 다음 비교 지점에서 볼 수 있습니다.
단일 기술 스택
기본 iOS 앱을 개발할 때 Swift 또는 Objective-C가 사용되는 반면 Flutter는 Dart 언어를 사용합니다. IDE도 언어와 마찬가지로 다릅니다. 기본 iPhone 앱은 Xcode를 사용하여 개발되는 반면 Flutter는 Android Studio, IntelliJ Idea 또는 Atom 또는 Sublime Text와 같은 기타 텍스트 편집기를 사용합니다. 이제 Swift 빌드 앱을 진정으로 빠르게 만드는 것은 앱에 들어가는 모든 구성 요소가 기본적으로 개발되었다는 사실입니다. 반면 Flutter는 기본 모듈과 통신하기 위해 브리징 없이 Dart 프레임워크를 사용합니다. 즉, iOS 개발자를 위한 flutter 는 기본 애플리케이션 개발에 필요한 모든 것을 이미 갖추고 있습니다.
개발자의 생산성
iOS 앱이 기본적으로 개발될 때 개발자는 애플리케이션을 변경할 때마다 장치 또는 자극기의 변경 사항을 확인하기 위해 전체 앱 또는 타사 종속성을 다시 빌드해야 합니다.
반면에 iOS 및 Android 앱 개발에 Flutter를 사용하는 이유에 대한 답은 모든 변경 사항이 시뮬레이터에 실시간으로 표시되는 핫 리로드 옵션을 제공한다는 사실에 있습니다.
네이티브 iOS 개발에 있는 다른 생산성 영향 기능은 종속성 관리 프로그램입니다. 네이티브 개발의 경우 종속성 관리는 학습 곡선과 함께 제공되는 Carthage 또는 CocoaPods와 같은 여러 타사 도구에 의존합니다. 이 경우 Flutter 앱 개발의 이점은 프레임워크가 Pub라는 개인 종속성 관리 도구를 사용한다는 사실에서 확인할 수 있습니다. 의존성 처리 시스템은 이미 Flutter 앱 내부에 구축되어 있어 필요할 때 새로운 의존성을 매우 쉽게 얻을 수 있습니다.
UI 요소
Apple에서 UI 구성 요소를 생성하는 데 사용하는 기본 프레임워크는 UIKit으로 알려져 있습니다. 이는 광범위한 제스처 지원을 제공하는 포괄적인 이벤트 기반 사용자 인터페이스입니다. 프레임워크는 문서, 애니메이션, 인쇄 및 그림에 대한 기본 지원과 함께 제공됩니다. 그러나 Flutter의 UI 엔진은 매우 다르게 작동합니다. 렌더링 엔진과 자체 프레임워크 에서 실행됩니다 . 기본적으로 stateful 및 stateless 위젯의 트리인 엔진은 이름에 충실하며 절대 픽셀 완벽한 위젯을 많이 제공합니다. 사실 Flutter의 UIKit은 Android 및 iOS 앱 개발자가 Flutter를 고려해야 하는 가장 큰 이유입니다.
테스트 지원
Apple은 iOS 앱의 통합, 성능 및 UI 테스트를 위해 XCTest라는 기본 테스트 프레임워크를 제공합니다. XCTest 프레임워크에는 테스트 그룹화, 데이터 기반 테스트, 스냅샷 테스트 등과 같은 여러 중요한 요소가 없습니다. 그러나 XCTest의 가장 큰 단점 중 하나는 조롱 및 스터빙이며 전자는 많은 코드를 요구하지만, 후자에 대한 기본 지원이 아닙니다. Flutter는 개발자가 기능, 단위 및 UI 수준에서 테스트를 작성할 수 있도록 하는 견고한 테스트 프레임워크를 제공합니다. 프레임워크에는 다양한 수준에서 앱을 테스트하기 위해 따라야 하는 프로세스에 대한 예제 코드가 포함된 자세한 문서도 있습니다. Xcode UI 테스트와 유사한 Flutter 통합 테스트는 Flutter Driver라는 별도 패키지에서 제공됩니다.
이제 우리는 Flutter를 Native iOS보다 약간 더 낫게 만드는 모든 다양한 요소를 살펴보았고 Android 및 iOS 앱 개발자 가 Flutter를 고려해야 하는 이유를 어떤 면에서 살펴보았으므로 이제 Flutter를 전환할 때입니다. Play 스토어에 게시되는 앱 개발에 시간을 투자하는 개발자에게 주의를 기울이십시오.
네이티브 Android 앱 개발 프레임워크와 Flutter는 모두 동일한 모회사인 Google에서 제공되지만, 네이티브 Android에서 Flutter로의 전환은 iPhone 모바일 앱 개발자와 마찬가지로 Android 앱 개발자의 경우에도 분명합니다.
Android 개발자를 위한 Flutter 의 경우 강조해야 하는 포인터 와 기본 Android 개발자가 Flutter 프레임워크에서 기술을 확장하고 손을 봐야 하는 이유는 다음과 같습니다.
고도로 반복적인 Gradle 빌드 시간 부재
Gradle은 전체 Android 앱 개발 프로세스에서 가장 중요한 도구 중 하나지만 사실을 직시합시다. 빌드 시간 이 매우 길고 빠른 개발 주기에 큰 걸림돌이 됩니다 .
iOS 및 Android 앱 개발에서 Flutter의 완전한 영향을 받으려면 Gradle 빌드가 필요하지만 기본 Android만큼 많은 것은 아닙니다. Flutter 빌드는 또한 개발 초기에 Gradle 빌드를 요구하지만 완전한 앱 재시작을 위해 다시 요구하지 않습니다. Android Studio도 Gradle 빌드 시간을 좋은 수치로 낮췄지만 Flutter와 함께 제공되는 로드 시간은 기본 로드 시간을 훨씬 능가합니다.
백엔드 및 레이아웃에 대해 동일한 언어
기본 Android에는 개발자가 보기에 대한 참조를 얻은 다음 백엔드 파일에서 변경할 수 있도록 별도의 레이아웃 및 Kotlin/Java 파일이 함께 제공됩니다. 반면에 Flutter는 설계를 위한 단일 언어인 백엔드가 필요하지만 반응형 프레임워크는 위젯에 대한 참조의 필요성을 제거합니다. Flutter로 앱을 만드는 이유와 2021년에 Flutter 를 선택 하는 이유에 대한 답변이 됩니다 .
Dart는 여러 언어의 장점을 최대한 활용합니다.
Java는 Java 8이 출시된 후에도 개선 범위의 흔적을 남기고 있습니다. Dart는 전략적으로 여러 언어의 최고의 기능을 도입했지만 Java에 대한 매우 필요한 친숙함을 잃지 않으면서도 전체 개발 프로세스를 개발자에게 거의 수월하게 만들고 미국 의 플러터 앱 개발자 .
높은 애니메이션 속도
Flutter는 모바일 앱에서 사용할 애니메이션 패턴을 지나치게 단순화하고 최적화합니다. Android 개발자용 Flutter가 60FPS의 속도로 애니메이션을 로드할 수 있다는 사실만으로도 모든 것을 알 수 있습니다.
이제 Flutter가 Android 및 iOS 개발자 모두가 직면한 결점을 해결하는 프레임워크가 된 방법과 Flutter로 앱을 만드는 것이 묻지 않는 질문이 된 이유를 살펴보았으므로 이제 이 전환의 필요성이 시급한 것인지 확인할 때입니다. . 그리고 크로스 플랫폼 프레임워크에 대한 많은 종류의 경우 양쪽의 기본 개발 프로세스를 대체할 준비도 되어 있습니다.
Flutter를 프로덕션에 사용할 준비가 되었습니까?
Flutter의 진정한 발전은 Google이 Flutter를 베타 단계에서 벗어나 Flutter 1.0으로 시장에 진입하여 전 세계의 개발자가 작업할 수 있도록 하고 많은 기업이 더 큰 고유성을 약속하면서 앱의 기술 스택에 추가할 수 있도록 하는 것으로 시작되었습니다. 그리고 더 높은 성능 – Flutter 라이브 이벤트 .
그리고 불과 두 달 후인 2월에 Flutter 1.2와 Dart 2.2가 출시되면서 지금은 사랑받는 크로스 플랫폼 프레임워크가 강화되었습니다. 12월에 출시된 이후로 Flutter 프레임워크에서 지속적으로 업데이트되는 것은 Google이 프레임워크에 대해 얼마나 진지한지, iOS 및 Android 모바일 앱 개발자 와 여러 부문의 기업이 협회를 통해 달성 하고자 하는 것이 무엇인지 상징하기에 충분합니다. .
iOS 및 Android용 Flutter 앱 개발이 제공하는 기능과 문제를 무료로 제공하고 확장성을 갖추기 위한 Google 팀과 성장하는 Flutter 커뮤니티의 끊임없는 노력은 네이티브 앱 개발자의 기반을 흔들기에 충분하지만 전환 시간은 다음과 같습니다. 오늘 말고. 아마 앞으로 2~3년은 아닐 것입니다.
현재 일부 최고의 앱 구축 회사에서 사용하고 있는 프레임워크는 프로덕션 준비가 된 후에도 Flutter 앱 개발 커뮤니티가 현재까지 9000개의 문제를 제거한 훌륭한 작업을 수행한 후에도 일부 눈에 띄는 문제로 어려움을 겪고 있습니다. 디버거의 임의 연결 해제, 명백한 이유 없이 앱 충돌 등 다양한 문제.
2021년에 Flutter는 복잡성이 낮은 앱 및 프로토타이핑에서 모바일 앱 개발자가 사용할 준비가 되었지만 중간 또는 높은 복잡성 앱 프로젝트로 전환하는 것은 어리석은 위험이 될 수 있습니다. 이것은 비즈니스 측면에서 또는 시장에 출시될 앱을 작업하는 동안 Android 및 iOS 앱 개발자로서 타이밍은 Flutter를 배우고 기능을 탐색하는 데 시간을 투자하기에 적합합니다. 제공해야 합니다.
오늘이 아니라면 Flutter가 기업과 신생 기업의 첫 번째 선택 이 되기까지 몇 가지 문제만 남았습니다 . 그리고 그 시간은 더 늦기 전에 도래하기로 되어 있으므로 당신이 준비하는 것이 필수적입니다.