본문 바로가기

플러터7

데이터 베이스(DB) 다국어 지원, 어떻게 구현하는게 좋을까? Flutter 스터디에서 다양한 프로젝트를 하다가, 이번엔 판을 좀 키워보았습니다. Flutter에 제공되는 정보를 Next.js를 써서 웹페이지로도 제공을 하고, 한글/영어로 서비스 제공이 가능하도록 하는 것이죠. Flutter 소스 내에서 사용되는 언어들에 대해서는 easy_localization 패키지를 써서 진행을 했지만, 서비스에서 제공되는 데이터 중 서버(자체서버) api를 통해 오는 데이터들의 다국어 지원을 어떻게 할지에 대해서는 고민이 필요했습니다. 물론 최근에 번역 시스템이 아주 잘 되어있어서 번역 패키지를 쓰는 것도 좋겠지만, 아직 그 '번역체'의 느낌을 저버릴 수가 없더라구요. 좀 더 확실한 글로벌 서비스 제공을 위해 번거롭지만 컨텐츠들을 직접 번역하기로 마음먹었습니다. 구글링과 함께.. 2021. 4. 23.
[flutter] Isolate, Compute. 화면 안버벅이고 큰 이벤트 실행하기 플러터(다트)는 단일 쓰레드를 사용합니다. 즉, 사람으로 치면 한 사람이 화면도 그리고, 데이터 통신도 수행하고, 유저의 행동에 따른 반응도 해주고, 그에 필요한 다양한 수학적 연산들도 수행하죠! 참 대단한 사람이죠? 하지만 한손으로 하늘을 가리지 못하듯, 점점 더 이 사람에게 많은 것을 요구할 경우 발생할 수 있는 문제가 있습니다. 바로 동시에 할 수 있는 일은 한정되어있다는거죠! 플러터는 60프레임, 혹은 기기에 따라 120프레임의 퍼포먼스를 목표로 하고 있습니다. 개발자로써는 범용앱이라면 항상 최저 디바이스에서도 원할하게 수행되는 앱을 만들 수 있어야 한다고 생각하기 때문에 60프레임에서 무난하게 돌아가는 앱이 되어야겠죠? 이 경우 플러터가 매 16ms마다 한번씩 업데이트를 해야하는데, 바꿔 말하면.. 2021. 3. 16.
[flutter] TextField 밑줄 제거, 글자수 카운트 제거 Flutter에서 TextField 쓸 때 매번 찾아보게 되는 밑줄 제거, 글자 수 카운트 제거 방법 밑줄 제거 TextField( decoration: InputDecoration( border: InputBorder.none, // 이 부분 추가 suffix: FlatButton( child: Text("저장"), textColor: AppTheme.darkText, onPressed: () { print('저장'); }, ), hintText: '닉네임', ) border로 인식 되기 때문에 이 부분을 InputBorder 옵션 중 none으로 주면 아무것도 보이지 않는다. 글자 수 카운트 제거 서비스 안전성을 위해 maxLength 옵션을 주면 텍스트 필드 우측 하단에 1/10 이런 식으로 꼴보기.. 2021. 3. 9.
[flutter] 앱 이름 설정하기 앱 개발 완료 후에 앱 출시를 위해 앱 이름을 변경해줘야합니다. 프로젝트 생성 시에는 자동으로 프로젝트 명이 앱 이름과 매핑되기 때문이죠! 안드로이드와 IOS 모두 설정 변경이 필요합니다. Android 앱 이름 설정 AndroidManifest.xml 수정 (디렉토리: android/app/src/main) // 앱 이름 설정 iOS 앱 이름 설정 info.plist 수정 (디렉토리: ios/Runner) CFBundleName 말잇봇 // 앱 이름 설정 *적용 안될 시 설정 설정 이후에는 아래 키워드를 입력하여 적용 flutter clean 2021. 3. 2.
[flutter] favorites 공략 - url_launcher 패키지 파헤쳐보기 [flutter] 플러터 공부좀 해봤다면 flutter favorites는 써봐야지 Flutter 공부를 하다보면 본인이 만든 패키지를 쓰기도 하지만 다른 기관 / 팀 / 사람들이 만들어둔 패키지를 사용하기도 합니다. 애초에 플러터가 레고 형식으로 간단히 조립해서 사용하기 좋은 padro.tistory.com flutter favorites 패키지 한번씩 써보기 1탄으로 현재 핸드폰의 인터넷 연결 상태를 반환하는 Connectivity 패키지를 간단하게 적용해보겠습니다. 패키지 주소: pub.dev/packages/url_launcher url_launcher | Flutter Package Flutter plugin for launching a URL on Android and iOS. Supports.. 2020. 10. 29.
[flutter] 플러터 공부좀 해봤다면 flutter favorites는 써봐야지 Flutter 공부를 하다보면 본인이 만든 패키지를 쓰기도 하지만 다른 기관 / 팀 / 사람들이 만들어둔 패키지를 사용하기도 합니다. 애초에 플러터가 레고 형식으로 간단히 조립해서 사용하기 좋은 구성을 갖고있는만큼, 있는 부품으로 빠르게 완성작을 만들어낼 수 있다는 장점을 버리고 혼자 다 개발하는것은... 굳이 그럴 필요가 있을까요? 하지만 개발자라고 하신다면 내가 만들지 않은 패키지/라이브러리를 적용시키는데 많은 고민을 하게 되고, 고민을 하는게 맞습니다 ㅎㅎ 빈약한 기능/완성도의 패키지를 별 고민없이 적용했다가 나중에 치명적인 오류가 발생하거나 업데이트를 해주지 않아 deprecated되기라도 한다면 부랴부랴 대체품을 찾아 적용해야하기 때문이죠. 또 빈약한 패키지는 문서 작성도 제대로 되어있지 않아 .. 2020. 10. 28.