Flutter30 [Flutter] 패키지 pub.dev에 배포하기 문득 pub.dev에 올라와있는 패키지들은 어떤 방식으로 배포된 것인지 궁금해졌다. 마침 앱에서 pdf관련 기능을 개발해야 했는데, 이 기능을 패키지로 만들고 pub.dev에 배포까지 해보면 어떨까 생각이 들었다. 아직 패키지는 완성되지 않았지만 우선 배포한 뒤 천천히 관리를 해나가면 좋을 것 같다. 패키지 만들기 플러터에서 제공하는 기본 템플릿으로 패키지(package)와 플러그인(plugin)이 있다. 패키지란 특정 기능이나 라이브러리의 모음을 제공하는 코드 라이브러리이다. 주로 Dart 언어로 구현되며 UI에 직접적인 영향을 미치지 않고 로직이나 데이터를 처리하는 데 사용된다.ex) provider, http, sqflite 등 플러그인은 Flutter와 네이티브 코드 간 상호작용을 가능하게 하는.. 2025. 1. 16. [Flutter] 중첩 조건문 방지하기 Guard Clause 배경최근에 유니티로 서비스하고 있는 앱에서 기능 추가를 위해 불가피하게 레거시 코드를 리팩토링하고 있다.기존에도 다른 사람이 작성한 코드를 수정해야할 일이 당연히 있었지만, 이렇게 레거시 코드를 뜯어 고치다보니 남의 코드를 수정하는 일이 정말 쉽지 않다는 것을 다시 한번 느끼게된다. 리팩토링을하며 소소한 버그도 발견하거나 이해할 수 없는 로직을 분석하는 것도 힘들었지만, 나를 은은하게 열받게(?)하는 포인트는 중첩으로 사용된 if문이었다. 잘 못된 코드는 아니지만 묘하게 보기 불편한 이 중첩 조건문들을 보며 '혹시 나도 이런 코드를 짜지 않았나?' 반성하게 되었다. 문제 중첩 조건문의 문제가 뭘까? void someFunction() { if (isLogin) { if (isUser) .. 2024. 12. 6. [Flutter] Windows 자동 업데이트 구현 현재 회사에서 서비스 하고있는 Flutter Windows 앱에 자동 업데이트 기능이 있으면 좋겠다는 요청이 있었다. 사용자가 늘어남과 동시에 패치가 점점 잦아져 이 기능에 대한VOC가 늘어나게 되었고, 개발을 하게 되었다 기존 프로세스기존 프로세스는 다운로드 홈페이지에서 직접 최신버전의 installer(.exe)를 다운 받고, installer를 실행 하여 설치를 진행하는 방식이었는데 exe파일이다보니 '안전하지 않은 다운로드'가 떠서 사용자들이 불편함을 겪는 문제가 있었다. 또한, 업데이트 까지의 과정이 길고, 사용자들의 동작이 필요한 부분이 많아 프로세스 자체가 간소화될 필요성이 있었다. 생각한 해결 방법들1. auto_updater 등 패키지 사용pub.dev에는 auto_update를 포함한.. 2024. 9. 20. [Flutter] Unable to load asset 오류 해결 Unable to load assset에러는 이미지를 load할 때 심심치않게 발생하는 에러이다. 말 그대로 리소스를 load할 때 발생하는 에러라는 것을 바로 알 수 있는데, 원인을 쉽게 알 수 있는 것과 달리 에러를 해결하는데 꽤나 시간이 소요될 수 있다. 그 이유는 리소스를 load하지 못하는 이유가 너무 다양하고, 개발자의 실수가 아닌경우도 있기 때문이다. 나 또한 이 에러때문에 꽤나 시간을 낭비한 경험이 있어 에러 해결 과정을 기록하기로 하였다. 아래 순서대로 실행한다면 아마 99%는 에러를 해결할 수 있을 것이다. 우선 리소스에 변경이 있을 때, hot reload 혹은 hot start만으로는 리소스 변경을 제대로 캐치하지 못하는 경우가 있다. 이럴때는 아래 명령어를 통해 캐시를 삭제하고, .. 2024. 8. 3. 이전 1 2 3 4 ··· 8 다음