구글 검색으로 Flutter 에 대해 찾아서 요약 정리를 해 본 것이다.
인프런 사이트에서 25% 할인을 미끼로 하길래 Flutter 강좌들은 수강생 평이 좋아서 결제를 했는데 무작정 결제를 한 것이 후회된다. 좀 더 정보 수집을 하고 나서 할 껄~~~
수많은 하이브리드앱이 출시되고 시장에 자리잡기 위한 노력을 하지만, Flutter가 개발자의 헛된 투자가 되지 말아야 할텐데 하는 마음이 든다.
아직 초보인지라 개발 익히려고 투자한 노력 대비 효과가 부족할 거 같아 먼저 iOS Swift 배우고 나서 시작해 볼 생각이다. Android도 코틀린 배워야 해서 항상 배워야 하는 것이 힘들다.
안드로이드 C/C++ 프로그래밍 책을 교보문고에 가서 사오기는 했는데, 언어가 코틀린으로 되어 있다.
다른 NDK 책들은 오래전에 출시되어 Eclipse 기반으로 설명이 되어 있는거 같더라.
플랫폼 시장에서는 어떤 기업이, 혹은 어떤 프레임워크가 최종 승자가 될지 아무도 알 수 없다.
크로스 플랫폼 기술은 하나의 코드를 여러 플랫폼에서 사용할 수 있게 해주는 기술을 말한다.
유명한 크로스 플랫폼으로 Xamarin, React Native, Flutter를 꼽을 수 있다.
Xamarin은 UI 개발 편의성이 좋지 않다는 점이 약점이다.
Flutter는 Google에서 개발한 크로스 플랫폼 모바일 앱 개발 프레임워크이다.
Flutter는 기존에 존재하는 Android와 iOS의 위젯을 사용하지 않고, 자체 Skia 엔진을 이용해 UI를 ‘그리는’ 방식을 사용한다.
Google이 제공하는 위젯을 통해, iOS에서 Cupertino 디자인을, Android에서 Material 디자인을 쉽게 구현할 수 있다.
Android Studio 에서 개발이 가능하고, 개발한 코드를 수정과 동시에 적용하여 살펴볼 수 있는 Hot Reload 시스템도 적용되어 있다.
그외 IntelliJ, VS Code를 사용하여 빌드가 가능하다.
기존 React Native 혹은 Hybrid App의 경우 브릿지를 통한 통신이 불가피했다. 하지만 Flutter는 직접 컴파일되서 Render를 직접 하기때문에 성능이 빠르다.
안드로이드(Java, Kotlin)와 iOS(Object-C, Swift)에서 동작하는 앱을 하나의 코드 베이스로 구현할 수 있는 것은 대단히 큰 장점이다.
아직 플러그인들은 부족한 편이고, 구글에서 만든 언어인 Dart를 사용하는 것은 Flutter의 가장 큰 단점이다.
Flutter가 아무리 자기 스스로를 크로스 플랫폼 앱 개발 툴킷이라고 부르지만, 결국 개발이 조금만 진전되면 그때부터는 안드로이드와 iOS 부분에 자잘하게 손이 많이 간다.
뭐 자세히 알지는 못하더라도 일단 어떤 패키지를 사용할때 어떤 플랫폼에는 어떤 문제 문제가 있다던지, 문제가 생겼을 때 해결책이 다르다던지 하는 것들이 상상 이상으로 많다.
구글팀의 대응이 상당히 느리다는게 큰 문제이다. 비록 깃헙을 통해 오픈소스로 이루어져 있고, 외부 개발자들의 피드백을 열심히 대응하고 있는것은 확실하다.
Android Jetpack
Jetpack은 개발자가 고품질 앱을 손쉽게 개발할 수 있게 돕는 라이브러리, 도구, 가이드 모음이다.
Jetpack은 플랫폼 API와는 별도로 제공되는 androidx.* 패키지 라이브러리로 구성된다.
Android Jetpack 구성요소는 개별적으로 채택할 수 있고 생산성을 향상하는 Kotlin 언어 기능을 활용하면서 함께 작동하도록 빌드된 라이브러리 컬렉션이다.
'하이브리드앱' 카테고리의 다른 글
[jQuery mobile] UI Layout 구성 (0) | 2018.11.23 |
---|---|
PhoneGap 안드로이드 APK 정렬하기 (0) | 2018.11.23 |
PhoneGap CLI 설치 과정 (0) | 2018.11.22 |