iOS : AutoResizing, AutoLayout, SwiftUI, UIKit iOS 의 선언형 UI 로는 Swift UI 가 있다. 가장 일반적인 것은 스토리보드를 이용하는 것. 스토리보드로 하는 것을 숙지했다면 iOS 에서 기본 제공하는 코드로만 UI 짜는 방법을 학습하면 된다. 그리고 스냅킷 같은 써드파티는 검색하면서 컨셉 알아가면서 사용하면 된다. 스토리보드 vs 코드 vs 스냅킷... 이런 쉐어는 거의 3:3:3 으로 비슷하다. 프로젝트 별로 사용 여부에 따라 따라가면 된다. 스토리보드를 아예 안 쓸 수도 있고 화면전환만 안쓸 수도 있고 오토레이아웃을 안 쓸 수도 있고 모든 것이 선택사항이다. 스토리보드를 안쓰면 코드 타이핑 할 때 마다 디자인이 화면에 반영이 안되서 보고 싶을 때마다 빌드..
sqflite vs moor vs hive https://blog.codemagic.io/choosing-the-right-database-for-your-flutter-app/ Choosing the right database for your Flutter app | Codemagic Blog There are many Flutter database options. Learn which database is the best for your Flutter app – SQflite, Moor, Firebase or Hive. blog.codemagic.io
https://grow-grow.tistory.com/9 Flutter ListTile 프로퍼티 정리 문서 ListTile 프로퍼티 종류 자주사용하는 프로퍼티들은 제외 const ListTile({ Key? key, this.leading, this.title, this.subtitle, this.trailing, this.isThreeLine = false, this.dense, this.visualDensity, th.. grow-grow.tistory.com
https://api.flutter.dev/flutter/material/ReorderableListView-class.html https://mixable.blog/flutter-add-drag-handle-to-reorderablelistview/ https://medium.flutterdevs.com/reorderable-listview-in-flutter-731324f0677b
https://blog.codemagic.io/environments-in-flutter-with-codemagic-cicd/ https://github.com/codemagic-ci-cd/codemagic-sample-projects/tree/main/flutter/flutter-flavors-demo-project https://medium.com/@animeshjain/build-flavors-in-flutter-android-and-ios-with-different-firebase-projects-per-flavor-27c5c5dac10b https://docs.flutter.dev/perf/app-size#reducing-app-size * Run Debug By default, flutter ..
https://flutter-ko.dev/docs/deployment/android Android 앱 출시 준비하기 Flutter 앱을 개발하는 동안, 커멘드 라인에서의 `flutter run`을 실행하거나IDE에 있는 툴바 **Run** 과 **Debug**를 선택하여 앱을 테스트할 수 있습니다. Flutter는 기본적으로 앱의 _debug_ 버전을 빌드합니 flutter-ko.dev 로컬에서 릴리즈 빌드를 위한 설정. keytool -genkey -v -keystore ~/someapp-release-key.jks -keyalg RSA -keysize 2048 -validity 10000 -alias someapp-release-key flutter run -t lib/main_dev.dart --f..
https://stackoverflow.com/questions/55399209/update-flutter-dependencies-in-pub-cache Update flutter dependencies in /.pub-cache I erased in my folder .pub-cache/hosted/pub.dartlang.org/this_plugin What is the command to update the dependencies inside pubsec.yaml? I believe it is flutter packages get The folder under .... stackoverflow.com
sudo gem uninstall cocoapods brew link --overwrite --dry-run cocoapods brew install cocoapods brew link --overwrite cocoapods android studio 재시작... 메뉴에서 invalidate 해서 캐시 날리면서 재시작해도 좋아보인다. 아마 ruby gem 으로 설치되어 있는 기본 cocoapods 의 링크가 깨어지거나 한 듯 보인다. brew 의 cocoapods 가 더 나은 듯 보인다. 이전에는 ruby gem cocoapods 의 경우 오래된 맥북 프로에서는 최신 버전의 cocoapods 가 설치가 되지 않는 문제도 있었다. 그래서 brew 로 cocoapods 를 사용하는 것이 좋아 보인다.
윈도우에서는 안드로이드 빌드 밖에 되지 않지만 윈도우 11 PC 의 속도와 편리함을 무시할 수 없기에 윈도우 환경에서 개발도 상당한 메리트가 있다. 그래서 관련 이슈를 정리. 윈도우 10 이나 윈도우 11 의 콘솔에서 yarn 이나 다른 명령어들 사용시 "이 시스템에서 스크립트를 실행할 수 없으므로..." 에러시... Get-ExecutionPolicy 로 확인. 아마도 Recstricted 로 되어 있을 것. get-help Set-ExecutionPolicy 전부 y 할 것. Set-ExecutionPolicy RemoteSigned 해주면 된다. 전부 y 할 것. eslint 의 CRLF , LF 문제 해결. https://simsimjae.medium.com/vscode%EB%A5%BC-%EC%8..
https://pub.dev/packages/graphql_flutter https://pub.dev/packages/graphql_flutter/example flutter pub add graphql / dart pub add graphql flutter pub remove graphql / dart pub remove graphql https://hasura.io/learn/ https://hasura.io/learn/graphql/intro-graphql/graphql-vs-rest/ https://hasura.io/learn/graphql/flutter-graphql/introduction/
https://pub.dev 권한 요청 https://pub.dev/packages/permission_handler https://github.com/Baseflow/flutter-permission-handler/blob/master/permission_handler/README.md https://github.com/Baseflow/flutter-permission-handler/blob/master/permission_handler/example/ios/Runner/Info.plist 휴대폰 연락처 정보 얻기 https://pub.dev/packages/contacts_service Android 휴대폰 번호 얻기 https://pub.dev/packages/mobile_number
initializer list https://stackoverflow.com/questions/50274605/colon-after-constructor-in-dart 아래와 같이 생성자 뒤에 콜론 : 뒤에 오는 로직은 생성자로 인한 객체가 생성되기 전에 수행된다. assert 도 해줄 수 있고 초기값을 넣어줄 수도 있다. super 를 호출해줄 수도 있다. 아직 객체가 생성되기 전이기 때문에 this 를 붙이지 않는다. 실제 생성자의 파라미터에 네임드 옵션에는 this 를 붙이는데 이런것 때문에 혼동되지는 말고 그냥 각각의 사용법일 뿐. 그냥 굳이 말하자면 아직 객체 생성전이라 그렇다고 생각하면 이해하기 편하다. FbAuth() : _firebaseAuth = FirebaseAuth.instance; ..
https://pub.dev/packages/table_calendar TableCalendar( firstDay: DateTime.utc(2010, 10, 16), lastDay: DateTime.utc(2030, 3, 14), focusedDay: DateTime.now(), ); firstDay: 캘린더에서 가능한 첫째일. 이 날짜 이전에 접근불가. lastDay: 캘린더에서 가능한 마지막일. focusedDay: 현재 타겟되는 날짜. 몇월을 보여줘야 하는지 결정해준다. selectedDayPredicate: (day) { return isSameDay(_selectedDay, day); }, onDaySelected: (selectedDay, focusedDay) { setState(() { _s..
https://pub.dev/packages/grouped_list grouped_list: ^4.1.0 https://pub.dev/packages/grouped_list/example import 'package:flutter/material.dart'; import 'package:grouped_list/grouped_list.dart'; void main() => runApp(MyApp()); List _elements = [ {'name': 'John', 'group': 'Team A'}, {'name': 'Will', 'group': 'Team B'}, {'name': 'Beth', 'group': 'Team A'}, {'name': 'Miranda', 'group': 'Team B'}, {'..
https://www.youtube.com/watch?v=2g8DsOSreqk 30분 안에 배우는 Dart 언어 https://www.youtube.com/playlist?list=PLgRxBCVPaZ_1j9Z66HEu71ST3GqssBdma 개남 플러터 유튜브 리스트 https://docs.flutter.dev/development/ui/widgets 위젯 https://api.flutter.dev/flutter/material/Icons-class.html 기본 머터리얼 아이콘들 https://github.com/flutter/gallery 플러터 갤러리 예제 깃헙 https://gallery.flutter.dev/#/ 플러터 갤러리 웹 https://flutter.github.io/samples/#..
Business Logic Component : MVC 가 있고 MVVM 이 있다 하면 MVVM 이라 볼 수 있는데 그 중에서도 거의 Model 이라고 볼 수 있는 부분이지만 통틀어 Business 로직이라 볼 수 있는 부분을 UI 와 완전히 분리 시킨다. Provider : React 의 Provider 와 거의 같다고 보면 된다. GetX: 오호라~
왜 React Native 가 좋은가? Android / Ios Native 를 Java, Kotlin, Swift 를 통해서 개발한다고 생각해보자. 단순히 한 화면에서 다른 화면으로 전환하며 데이터 전달을 한다고 할 때 간단히 보면 아래와 같다. 논리적으로나 복잡도에서나 react native 가 가장 단순하고 논리적이라 할 수 있다. 또한 안드로이드나 Swift 네이티브의 경우 구현을 하려면 꽤나 성가신 것을 알 수 있다. 간단한 화면 전환에서 데이터 전달을 함에 있어 인텐트, 액티비티, 세그웨이, 뷰컨트롤러 등의 고차원적 개념과 이를 각 문법에 맞게 그들 특유의 방식에 맞추어 공을 들여 구현해야 하고 또한 이런 간단한 의도를 코드로 구현하고자 함에 있어 여러가지 고려하고 생각해야할 것들이 많아 상당..