Flutter
-
[Flutter] 플러터 2.0 null safety 를 이해해보자웹 개발/Flutter 2021. 8. 4. 22:46
Null safety를 이해 해보자 flutter가 2.0 버전으로 업데이트 되면서 dart 언어에 null safety가 적용되었다. null safety가 null을 사용하지 못하게 하는 것이라 오해할 수도 있는데 (왜냐하면 내가 그랬다 ㅎ..), null로 인한 런타임 에러를 방지해 개발자의 생산성을 높이고자 하는 목적이 있다. 자세히 말하면, null safety는 변수가 null을 허용하는지 구분하기 위한 개념인데 기본적으로 null을 허용하지 않는다. dart 언어는 null safety를 지원하지 않았기 때문에 변수 값이 초기화 되지 않았거나 null 값을 전달하면 컴파일 에러는 발생하지 않고 런타임 과정에서 오류가 발생했다. 이러한 이유로 코드를 작성할 땐 오류가 발생할 것을 예상하지 못하..
-
[Flutter] 플러터 2.0 버튼 hover, pressed, focused, disable, overlay 상태(state) 변화 개발앱 개발/Flutter 2021. 7. 30. 21:17
기존에는 state 별 버튼의 컬러를 parameter로 지정하고 state를 조건문으로 지정해줘야했다. 하지만 flutter 2.0에서는 style 요소 내에서 버튼의 상태(state)에 맞는 시각적 요소를 지정할 수 있게 되었다. material design이 정의한 버튼의 상태(state)와 state별로 버튼 시각적 요소 지정, overlay 색상을 수정하는 방법을 정리해보려고 한다. 1. material design에서 지정하고 있는 버튼의 상태 - enabled : 상호작용 가능한 버튼 상태 - pressed : 사용자가 탭 했을 때 - hover : 사용자가 마우스 커서를 상호작용 가능한 버튼 위에 올려두었을 때 - focus : 사용자가 키보드나 음성과 같은 입력 방법을 사용하여 강조표시한..
-
[Flutter] flutter 2.0 stable 버전 출시에 대해 알아보자웹 개발/Flutter 2021. 5. 3. 14:03
flutter 2.0 웹 컨셉 flutter 2.0 에서 웹 stable 버전이 출시되었다. 현재 창업 아이템을 개발 중에 있는데 플랫폼 특성상 UI 디자인적 요소가 중요하고 추후 태블릿 앱으로 발전시켜나갈 계획이였기 때문에 flutter web으로 개발 중이다. url를 포함한 여러 불안정한 웹 지원 요소들 때문에 reactJS로 옮겨야하나 고민이 있었지만 flutter 2.0 버전이 나온 뒤 flutter로 계속 진행하기로 결정되었다. 2.0 버전으로 마이그레이션 하기 위해 어떤 요소들이 추가되었는지 알아보았다. 1) Progressive web apps (PWAs) PWAs, 즉 프로그레시브 웹앱은 모바일 앱과 웹 기술의 장점을 결합하고 단점을 보완한 미래형 웹 기술이라고 한다. 네이티브 앱은 오프..
-
[Firebase] firebase의 google-login과 flutter web 연동방법 및 에러정리 ( idpiframe_initialization_failed / CONFIGURATION_NOT_FOUND/ 구글로그인이 안될 경우)데이터베이스/Firebase 2021. 2. 6. 21:22
firebase의 google-login과 flutter web을 연동하는 방법 1) firebase 웹 앱 프로젝트 생성 - Firebase SDK 추가 안드로이드 앱에서는 google-service.json 파일을 넣는데 web에서는 아래의 코드를 프로젝트의 web - index.html의 태그 하단에 붙여넣는다. -firebase CLI 설치 android studio terminal에서 자동설치 스크립트를 이용해 Firebase CLI를 설치했다. curl -sL https://firebase.tools | bash - Firebase SDK 추가 나는 당장 배포할 생각은 없었기 때문에 CLI 설치 후에 구글에 로그인하고 프로젝트 시작하는 것만 했다. 2) firebase와 flutter 웹 연동..
-
[ERROR] Could not initialize classorg.codehaus.groovy.runtime.InvokerHelper앱 개발/에러 2021. 2. 5. 20:19
keytool을 얻기 위해 ./gradlew signingReport 를 실행했더니 Could not initialize class org.codehaus.groovy.runtime.InvokerHelper 라는 에러가 떴다. 먼저 Gradle이란? Gradle은 그루비를 이용한 빌드 자동화 시스템이며 현재 안드로이드 앱을 만드는데 필요한 안드로이드 스튜디오의 공식 빌드 시스템이기도 하다. Java, C/C++, 파이썬 등과 같은 여러 가지 언어를 지원한다고 한다! (위키백과) 그래들 버전이 자바버전을 지원하지 않아서 생기는 오류라고 한다. 1) 터미널에서 java version을 확인한다.java -version 2) android / gradle / wrapper / gradle-wrapper.pro..
-
[Flutter] Named Routing을 이용한 Navigation (pushedName / pop / WillPopScope)카테고리 없음 2021. 1. 31. 02:48
해당 링크 내용을 토대로 공부 , 정리했습니다. www.filledstacks.com/post/flutter-navigation-cheatsheet-a-guide-to-named-routing/ Flutter Navigation Cheatsheet - A Guide to Named Routing A simple guide that covers the setup and all navigation scenarios using named routing. www.filledstacks.com - route name 정의 routing_constants.dart const String HomeViewRoute = '/'; const String LoginViewRoute = 'login'; route name을 ..
-
[Flutter] 플러터 버튼 종류 (TextButton / OutlinedButton / ElevatedButton / Icon button)앱 개발/Flutter 2021. 1. 18. 19:49
flutter에서 주로 쓰이는 버튼은 FlatButton, RaisedButton, OutlineButton인데 TextButton, ElevatedButton, OutlinedButton으로 각각 변화되었다. theme 또한 TextButtonTheme, ElevatedButtonTheme, OutlinedButtonTheme으로 바뀌었다. style은 textcolor property 요소를 이용해 글꼴 색상을 지정했던 것과 달리 stylefrom property 내에서 color들을 지정한다. primary , onsurface color가 parameter인 것을 보니 material design적인 요소가 많이 반영되었다는 생각이 들었다. * 버튼 상태별로 버튼 스타일을 지정하고 싶다면? htt..