< Flutter 활용하기 – Ice Break & References >
이제 Flutter에 대해서 알아보고자 합니다. Flutter는 홈페이지 메인 페이지에 다음과 같이 소개하고 있습니다. “Flutter is Google’s UI toolkit for building beautiful, natively compiled applications for mobile, web, and desktop from a single codebase.” Flutter는 문장 그대로 구글이 만든 사용자 인터페이스 프레임 워크입니다. JavaScript의 경우 모바일/웹/데스크탑에 대해서 서로 다른 프레임워크를 사용해야 하지만, Flutter와 Dart를 사용하면, 동일한 기술로 서로 다른 플랫폼을 지원할 수 있습니다. 또한, 모바일은 Android와 iOS를 함께 지원합니다. JavaScript의 경우는 Cordova/PhoneGap 등으로 모바일 앱을 만들때, HTML/CSS 등의 웹기술에 대한 이해가 GUI를 구성하기 위해서 필수적인 지식이지만, Flutter는 그렇지 않습니다. 또한 구글이 새롭게 만드는 운영체제인 Google Fuchsia의 개발도구에 Dart/Flutter가 전성되어 활용 가능성이 큰 것으로 기대되고 있습니다. 사실 Dart가 배우지 말아야 하는 언어의 상위권이였다가, 프로그래머가 배우고 싶은 언어로 등극하게된 계기가 Flutter라고 해도 과언은 아닙니다.
Flutter 기술을 설명하기 전에, Flutter에 대한 자료들을 찾아 볼 곳을 먼저 리스트업하고자 합니다. Flutter의 경우는 지지자들의 확산에 힘입어 매우 많은 온라인 정보들을 찾아볼 수 있습니다. Flutter에 대한 본격적인 설명을 하기 전에, 참조 할 만한 사이트들을 먼저 언급하겠습니다. 특히 Flutter는 “Widget is Everything!”이라는 말이 있을 정도로 Widget 종류를 알고 활용하는 것이 매우 중요한데, 이들에 대해 정리한 문서들, 예제를 설명한 동영상, 실제 예제를 구현하여 Play Store에 등록한 무료 프로그램들이 많이 있습니다.
Official Flutter Site
Official Video for Flutter Release
- The Mahogany Staircase – Flutter’s Layered Design
- Flutter’s Rendering Pipeline
- 플루터를 소개합니다
- Announcing Flutter 1.0 (Flutter Live, Keynote Part 1)
Flutter Getting Started
Flutter Widgets
- (Official) Flutter Youtube – Widget of the Week
- (Official) Flutter Widget Index
- (Official) Flutter Cookbook
- (Official) Flutter Gallery – Site
- (Official) Flutter Gallery – Sample Application
- (Official) Flutter Gallery – Source Code
- (Widget Case-study) Flutter Tutorials Handbook
- (Curated List) Awesome Flutter
- (Curated List) A Curated List of Samples
- (Playstore) Flutter Reference Android Programs
Flutter References
- (Official) Flutter Youtube
- (Official) Flutter Tutorials
- (Official) Flutter Tutorials (한글)
- (Courses) Google Codelabs – Flutter Category
- (Courses) Google Codelabs – Flutter Category (한글)
- (Ebook) Flutter by Example
- (Weekly Newsletter) Flutter Weekly
- (Community) 구글 Flutter 한국 사용자 그룹
- (Blog) getinthere 님의 블로그
- (Tutorial) raywenderlich.com
AngularDart
HTTP Server Programming for Dart
- (Official) Command-line & server apps
- (Official) Web Server Middleware for Dart
- (Official) Servers with Dart
- (Official) Write HTTP clients & servers
- (Document) Deploying Dart Apps to Linux (with HTTP 2.0)
- (Framework) Shelf – HTTP server frameworks from Dart Team
- (Framework) Aqueduct – An object-oriented, multi-threaded HTTP server framework
- (Framework) Angel – A polished, production-ready backend framework
- (Framework) Jaguar – Full stack server framework with MVC, ORM, Serialization, Auth and Security
Why Flutter?
- What’s Revolutionary about Flutter
- Why Flutter Uses Dart
- GitHub – The Fastest growing language in 2019
- Flutter, 왜 선택하지 못했나
- Flutter 앱 개발후기
- Why iOS developers should pay attention to Flutter in 2019
- Flutter vs React Native: A Developer’s Perspective
- Finished! Porting a 75,000 line native iOS app to Flutter
- Answering Questions on Flutter App Development
- Swift vs Flutter – A side by side comparison for iOS development
- Flutter vs React Native: A developer’s perspective
- Flutter vs Xamarin: A Developer’s Perspective
- Dart vs JavaScript
Flutter Supporting Tools
Google and Android developers
마무리
Javascript를 사용하여 front-end를 개발해 보았다면, HTML/CSS와 같은 웹기술에 대한 설명이 언제 즈음 나올지에 대해서 궁금해 할 겁니다. Flutter는 기본적으로 정해진 template를 Logo 블럭 끼우듯이 만드는 구조 입니다. 특히 Flutter에서 사용할 수 있는 Widget들에 대해서 설명하는 이미지와 소스코드 외에도, 실제 동작과 소스코드를 설명하는 동영상, 예제들을 묶어서 만든 프로그램을 앱 스토어에서 무료로 다운받아 실제 동작을 활용할 수 있다는 점, 그리고 이들의 소스코드를 오픈소스로 누구나 볼 수 있는 생태계(ecosystem)은 다른 언어들과 비교해서 매우 독보적이라고 볼 수 있습니다. 이제 Flutter에 대한 구체적인 설명을 시작해 보려 합니다.
Creative Commons License (CC BY-NC-ND)