본문 바로가기

DART

(14)
Flutter 8일 차 - Flutter for iOS devs (8/8), Databases and local storage, Debugging, Notifications Databases and local storage https://flutter.dev/docs/get-started/flutter-for/ios-devs#databases-and-local-storage How do I access UserDefault in Flutter? iOS 에서는 key-value 쌍으로 된 컬렉션을 UserDefaults 로 알려진 property list 를 이용하여 저장할 수 있다. Flutter 에서는 동일하게 Shared Preference plugin 을 이용할 수 있다. 이 플러그인인 iOS 의 UserDefaults, Android 의 SharedPreference 두 기능을 감싼 것이다. What is the equivalent to CoreData in Flut..
Flutter 7일 차 - Flutter for iOS devs (7/8), Interacting with hardware, third party services and the platform Interacting with hardware, third party services and the platform https://flutter.dev/docs/get-started/flutter-for/ios-devs#interacting-with-hardware-third-party-services-and-the-platform How do I interact with the platform, and with platform native code? Flutter 는 플랫폼에서 바로 코드를 실행하지 않는다. Dartk 코드는 디바이스에서 네이티브하게 실행하는 Flutter 앱을 만든다. Flutter 에서 네트워크 요청을 실행하면 Dart context 에서 바로 실행한다. 일반적으로 네이티브 앱을 만..
Flutter 6일 차 - Flutter for iOS devs (6/8), Form input Form input https://flutter.dev/docs/get-started/flutter-for/ios-devs#form-input How do forms work in Flutter? How do I retrieve user input? Flutter 가 분리된 상태와 불변의 위젯을 사용을 고려할때 , 그림에 유저 입력을 어떻게 맞출지 고민해야 한다. iOS 에서는 일반적으로 유저 입력이나 액션이 제출될때 현재 상태를 조회한다. Flutter 에서는 어떻게 동작할까? 특화된 위젯을 통해서 flutter 에서도 모두 처리된다. 만약 TextField, TextFormField 가 있다면 유저 인풋을 가져오기 위해 TextEditingController 를 제공할 수 있다. What is the..
Flutter 5일 차 - Flutter for iOS devs (5/8), Gesture detection and touch event handling, Theming and text Gesture detection and touch event handling https://flutter.dev/docs/get-started/flutter-for/ios-devs#gesture-detection-and-touch-event-handling How do I add a click listener to a widget in Flutter? iOS 에서는 클릭 이벤트를 처리하기 위해서 GestureRecognizer 를 붙인다. Flutter 에는 터치 리스너를 추가하는 2가지 방법이 있다. 만약 위젯이 이벤트 발견을 지원한다면 함수를 넘겨라 그리고 함수에서 이벤트를 처리해라. 만약 이벤트 발견을 지원하지 않는다면 GestureDetector 로 감싸고 onTap 매개변수에 함수를 넘겨라 Ho..
Flutter 4일 차 - Flutter for iOS devs (4/8), Threading & asynchronicity Threading & asynchronicity https://flutter.dev/docs/get-started/flutter-for/ios-devs#threading--asynchronicity How do I write asynchronous code? Dart 는 Isolates, an event loop, 비동기 프로그램을 지원하는 싱글 스레드 모델이 있다. Isloate 를 생성하지 않는 한 dart code 는 메인 스레드에서 실행되고 event loop 에 의해 구동된다. Flutter 의 event loop 은 iOS main loop 와 동일하다. Dart 의 싱글 스레드 모델은 모든 것을 UI 멈춤을 초래하는 블러킹 연산으로 실행하는 것이 아니다. 그 대신 비동기 작업을 실행하는 as..
Flutter 2일 차 - Flutter for iOS devs (2/8), Views Views How do I lay out my widgets? Where is my Storyboard? https://flutter.dev/docs/get-started/flutter-for/ios-devs#how-do-i-lay-out-my-widgets-where-is-my-storyboard iOS 에서는 뷰와 제약을 구성하는데 스토리보드를 사용하거나 코드로 해야 한다. Flutter 에서는 코드로 위젯 트리를 작성하므로써 레이아웃을 정의한다. iOS 제약을 흉내내는 위젯들에는 여백(padding) 을 추가할 수 있다. 위젯 카탈로그에서 flutter 가 제공하는 레이아웃을 볼 수 있다. How do I add or remove a component from my layout? https://fl..
Flutter 1일 차 - Flutter for iOS devs (1/8), Views Dart Language Tour 를 마치고 이제 본격적으로 flutter 를 알아보려고 한다. iOS 개발자이니 빠르게 적응하기 위해 Flutter for iOS devs 문서 위주로 보려고 한다. 문서 위주로 직역, 의역, 상상(?) 등을 공부하면서 머리에 넣기 위해 기록을 할 예정이다. 주의) 작성자 외에는 제대로 보기 힘들 수 있음. https://flutter.dev/docs/get-started/flutter-for/ios-devs Flutter for iOS developers Learn how to apply iOS developer knowledge when building Flutter apps. flutter.dev 이 문서는 flutter 모바일앱 빌드를 하려고 하는 iOS 지식이 ..
Dart 7일 차 - Language Tour (7/7) 공부 좀 해야지 라는 생각에 하루에 10분이라도 보면서 기록하고 있었다. 오늘이 벌써 1주일이 되는 날이다. 조금씩 봐서 아직 Language Tour 도 못 끝내기는 했지만 많은 부분을 본 것 같다. Isolates https://dart.dev/guides/language/language-tour#isolates 대부분의 모바일, 컴퓨터는 멀티 코어 CPU이다. 멀티 코어의 장점을 활용하기 위해 개발자들은 전통적으로 동시적으로 실행되는 공유 메모리 스레드를 사용한다. 그러나 공유 상태 동시성은 에러가 발생하기 쉽고 코드가 복잡해진다. Dart 는 스레드 대신 isolates 안에서 코드를 실행한다. 개별 isolate 는 전용 메모리 힙을 가지고 있다. 다른 isolate로부터 isolate 상태 접..