본문 바로가기

Flutter18

플러터로 macOS 앱 만들기 플러터 codelab에서는 macOS 앱 예제로 Github Client 프로젝트를 다루고 있습니다. 이 프로젝트에서는 Github에서 OAuth2 app을 만들고 이 때 생성된 Client ID와 Client secret을 이용해 로그인에 사용하고 있습니다. 프로젝트를 완성하고 앱을 돌려보면 데스크탑 앱에서 로그인 버튼을 누르고 웹 브라우저로 전환되어 인증을 마친 뒤, 다시 데스크탑 앱으로 전환되는 과정을 확인할 수 있습니다. 프로젝트에서는 2가지 앱을 사용하는데, Github Client가 메인 앱이고, Windows to Front라는 플러그인을 만들어 Github 인증을 마치고 리다이렉트시 다시 데스크탑 앱인 Github Client로 돌아오게 해줍니다. 사용자 경험이 굉장히 좋은 앱이기 때문에 .. 2022. 10. 25.
기억해둘 플러터(Flutter) 코드 작성 규칙 프로그래밍 언어마다 공식적으로 권장하는 코딩 컨벤션이 조금씩 다릅니다. 특정 언어에서 다른 언어로 마이그레이션 할 때는 새로운 언어의 코딩 컨벤션에 맞게 코딩 스타일을 적용해주는 게 좋습니다. Java Script는 Java Script답게, Python은 Python답게, 플러터는 플러터답게 코딩하는 방식을 의미합니다. 그렇다면 플러터다운 코딩 방식은 어떤 걸까요? Dart에서 제공하는 Linter rules에서 주요 사항 몇 가지를 살펴보겠습니다. 패키지 임포트할 때 상대 경로 대신 절대 경로 쓰기 (always_use_package_imports) Good Bad import 'package:firebase_auth/firebase_auth.dart'; import 'package:insta_clo.. 2022. 10. 23.
Flutter Linter를 통해 코딩 스타일 맞추기 Linter를 쓰는 이유 Linter는 정적 분석을 통해 잠재적인 결함을 발견하고 코딩 스타일을 맞춰 가독성을 높일 목적으로 사용하는 툴입니다. 정적 분석(Static Analysis)이란 동적 분석과 반대되는 개념으로, 동적 분석이 소프트웨어를 실행시키면서 결함은 없는지 수행 속도는 괜찮은지 등을 분석하거나 테스트하는 방법이라면 정적 분석은 소프트웨어를 실행시키기 전에 정적 분석 툴로 코드를 체크하는 방법을 가리킵니다. 정적 분석은 동적 분석보다 빠르고 소프트웨어 실행이나 배포 전 결함을 잡아낼 수 있기 때문에 다트와 플러터에서도 해당 기능을 제공하고 있습니다. 현재 제가 사용하고 있는 Fluter 3.3.3 (Dart 2.18.2) 버전에서는 플러터 프로젝트를 생성하면 프로젝트 루트에 analysis.. 2022. 10. 22.
Dart 문법 1 - 함수에서 =>와 (_)와 .. 의미 이해하기 플러터 코드랩에서 제공하는 Cupertino App을 살펴보다가 이 프로젝트의 main.dart에서 사용하는 dart 문법이 흥미로워 소개해보려고 합니다. HTML 삽입 미리보기할 수 없는 소스 이 코드의 핵심은 provider 라이브러리에서 제공하는 ChangeNotifierProvider 클래스를 통해 서로 다른 탭에서 동일한 리스트 아이템을 보여주는 것입니다. 함수의 리턴을 의미하는 => =>는 arrow syntax라고 부릅니다. 이 arrow syntax 왼쪽에는 함수명이, 오른쪽에는 리턴값이 위치합니다. Javascript 계열 언어에서 자주 등장하는 문법입니다. 위 예제의 main()함수에서는 =>를 통해 새로운 ChangeNotifier로 AppStateModel 클래스의 loadProud.. 2022. 10. 21.