More
Flutter에서 Back4app 백엔드를 이용한 패턴 매칭 이해하기
10 분
소개 패턴 매칭은 dart 3에 도입된 강력한 기능으로, 개발자가 애플리케이션 내에서 특정 데이터 구조를 쉽게 식별하고 추출할 수 있도록 합니다 kotlin, swift 또는 javascript와 같은 언어에 대한 경험이 있다면 패턴 매칭에 이미 익숙할 수 있습니다 그러나 dart에서 이 개념이 처음이라면, 이 튜토리얼이 여러분이 편안하게 사용할 수 있도록 도와줄 것입니다 우리는 패턴 매칭을 탐구하고, back4app을 백엔드로 통합하여 데이터를 관리하고 저장하는 실용적인 예제를 통해 flutter 앱에서 사용하는 방법을 살펴볼 것입니다 전제 조건 시작하기 전에 다음 사항을 확인하세요 back4app 계정 back4app com https //www back4app com 에서 무료 계정에 가입하세요 로컬 머신에 flutter 개발 환경이 설정되어 있어야 합니다 아직 설정하지 않았다면 flutter 설치 가이드 https //flutter dev/docs/get started/install 를 따르세요 dart, flutter 위젯 및 백엔드 서비스로서 back4app 사용에 대한 기본 지식 1단계 – back4app 백엔드 설정하기 back4app 프로젝트 생성하기 back4app 계정 https //www back4app com/ 에 로그인하고 새 프로젝트를 생성하세요 parse 클래스 생성하기 이 튜토리얼을 위해 사용자 정보를 저장할 userdata 라는 parse 클래스를 생성하세요 username (문자열) 사용자의 사용자 이름 age (숫자) 사용자의 나이 preferences (json) 사용자 선호도를 저장하는 json 객체 back4app 자격 증명 가져오기 프로젝트 설정으로 이동하여 flutter 앱을 back4app에 연결하는 데 필요한 application id와 client key를 가져오세요 2단계 – flutter 프로젝트 설정 새 flutter 프로젝트 만들기 터미널 또는 명령 프롬프트를 열고 다음을 실행하세요 flutter create pattern matching example 종속성 추가 pubspec yaml 을 열고 다음 종속성을 추가하세요 dependencies flutter sdk flutter parse server sdk flutter latest version 다음 명령을 실행하세요 flutter pub get 이 종속성을 설치합니다 앱에서 parse 초기화하기 lib/main dart , parse sdk를 초기화합니다 import 'package\ flutter/material dart'; import 'package\ parse server sdk flutter/parse server sdk flutter dart'; void main() async { widgetsflutterbinding ensureinitialized(); const keyapplicationid = 'your back4app app id'; const keyclientkey = 'your back4app client key'; const keyparseserverurl = 'https //parseapi back4app com'; await parse() initialize(keyapplicationid, keyparseserverurl, clientkey keyclientkey, autosendsessionid true); runapp(myapp()); } class myapp extends statelesswidget { @override widget build(buildcontext context) { return materialapp( home patternmatchingscreen(), ); } } 'your back4app app id' 'your back4app client key' 를 실제 back4app 자격 증명으로 교체하세요 3단계 – 패턴 매칭 구현 patternmatchingscreen 위젯 생성 lib/main dart , 사용자 데이터를 검색하고 처리하여 패턴 매칭을 보여주는 새 위젯을 생성합니다 class patternmatchingscreen extends statefulwidget { @override patternmatchingscreenstate createstate() => patternmatchingscreenstate(); } class patternmatchingscreenstate extends state\<patternmatchingscreen> { string message = 'fetching data '; @override void initstate() { super initstate(); fetchandmatchdata(); } future\<void> fetchandmatchdata() async { final query = querybuilder\<parseobject>(parseobject('userdata')); final response = await query query(); if (response success && response results != null) { for (var result in response results!) { // using pattern matching to destructure and validate data if (result is parseobject) { final userdata = { 'username' result get\<string>('username'), 'age' result get\<int>('age'), 'preferences' result get\<map\<string, dynamic>>('preferences') }; switch (userdata) { case { 'username' string name, 'age' int age when age >= 18, 'preferences' {'theme' string theme} } setstate(() { message = 'welcome, $name! you are $age years old and prefer the $theme theme '; }); break; default setstate(() { message = 'data does not match the required pattern '; }); break; } } } } else { setstate(() { message = 'failed to retrieve data '; }); } } @override widget build(buildcontext context) { return scaffold( appbar appbar(title text('pattern matching example')), body center(child text( message)), ); } } 이 코드는 back4app에서 사용자 데이터를 가져오고, 패턴 매칭을 적용하여 데이터를 검증하고 구조를 분해한 다음, 일치하는 데이터를 기반으로 개인화된 메시지를 표시합니다 4단계 – 앱 실행하기 앱을 실행하세요 flutter run 패턴 매칭을 사용하여 검색하고 일치시킨 데이터를 기반으로 화면에 메시지가 표시됩니다 back4app에서 데이터 확인하기 back4app 대시보드에 로그인하여 userdata 클래스를 확인하세요 다양한 패턴이 어떻게 일치하는지와 앱이 어떻게 반응하는지 확인하기 위해 데이터를 조정할 수 있습니다 결론 이 튜토리얼에서는 dart의 패턴 매칭 개념과 이를 flutter 앱 내에서 어떻게 적용할 수 있는지 살펴보았습니다 back4app을 백엔드로 통합하여 패턴 매칭을 사용하여 데이터를 가져오고 처리하는 실용적인 예제를 보여주었습니다 이 접근 방식은 데이터를 효율적으로 검증하고 구조를 분해할 수 있게 하여 flutter 앱을 더 견고하고 유지 관리하기 쉽게 만듭니다 dart 패턴에 대한 더 많은 정보는 dart 문서 https //dart dev , 그리고 백엔드 통합 팁은 back4app 문서 https //www back4app com/docs 코딩을 즐기세요!