본문으로 바로가기

Flutter

해당되는 글 43
  • thumbnail
    Flutter/Package

    Flutter Riverpod 상태관리 (1) - 도입

    소개 Riverpod 알아보기 Riverpod(Provider의 약자)는 Flutter/Dart를 위한 반응형 캐싱 프레임워크입니다. 네트워크 요청을 자동으로 불러오고, 캐시하고, 결합하고, 다시 계산하는 동시에 오류를 처리할 수 있습니다. 동기 최신 애플리케이션에는 사용자 인터페이스를 렌더링하는 데 필요한 모든 정보가 포함되어 있는 경우가 거의 없습니다. 대신 서버에서 비동기적으로 데이터를 가져오는 경우가 많습니다. 문제는 비동기 코드 작업이 어렵다는 점입니다. Flutter는 상태를 저장하는 몇 가지 방법을 제공하지만, 그 외에는 별다른 기능을 제공하지 않습니다. 따라서 많은 과제가 해결되지 않은 채로 남아 있습니다: 비동기 요청은 UI가 새로 고쳐질 때마다 다시 실행하는 것은 불합리하므로 로컬에 캐..
  • thumbnail
    Flutter/Package

    Flutter native splash screen 라이브러리

    이번 글은 Splash Image이 어떤 것이고 flutter native splash 라이브러리를 사용하여 iOS, Android 두 개를 어떻게 구현하는지 에 대한 글입니다. Splash Screen? "Flutter 공식 홈페이지에서는 앱이 로딩되는 동안에 심플한 초기 경험을 제공합니다"라고 적혀있습니다. 여기에서 말하는 심플한 초기 경험(Simple initial experience)은 여러 내용을 담고 있습니다. 예를 들어, 사용자 입장에서 실행하고 싶은 앱이 맞는지 확인할 수 있는 시간이 될 수 있습니다. 그리고 앱을 제공하는 회사 입장에서는 자신의 회사의 정체성과 사용자에게 첫인상을 보여줄 수 있는 수단이기도 합니다. 이밖에도 개발자 입장에서는 앱이 로딩되는 시간 동안 백엔드 단에서 사용자의..
  • thumbnail
    Flutter/Document

    Flutter Web App 개발 하면서 느낀 문제점

    Web App 개발하면서 느낀 점 과 실수했던 점을 기록해보려고 합니다. 해당 경험은 로박스 Web App 개발하면서 느낀 점을 토대로 작성되었습니다. Flutter Web App 문제점 1. SEO 불가 SEO(검색 엔진 최적화)는 웹사이트가 검색 결과에 더 잘 보이도록 최적화하는 과정입니다. Flutter Web App은 검색 엔진(구글, 네이버)에 노출이 되지 않습니다. Flutter 로 개발되지 않는 웹의 경우 개발자 도구를 켜서 Element Inspect 텍스트를 눌러보면 해당 텍스트가 Select 됩니다. 하지만 Flutter Web App의 경우는 Web App 전체가 Selecte 됩니다. 이는 검색 엔진이 Flutter Web App을 읽을 수가 없다는 것입니다. 공식적으로 SEO를 지..
  • thumbnail
    Flutter/Widget

    Flutter LayoutBuilder 문서

    Web App을 개발하면서 LayoutBuilder를 사용해 화면 크기에 따라 Mobile, Tablet, Desktop 용으로 화면을 보여줄 수 있도록 개발을 진행하였다. 이 글에서 LayoutBuilder에 기본적인 코드와 다양하게 활용해볼 예정이다. 코드 LayoutBuilder 필수 프로퍼티는 builder 하나뿐이다. builder 파라미터에 context와 사이즈를 나타내는 constraints 가 사용된다. constraints 멤버 변수에는 maxWidth, maxHeight, minWidth, minHeight 가 있다. 4가지의 변수를 활용해서 자신의 프로젝트에 맞게 개발하면 된다. Web으로 빌드해서 테스트해보는 것이 가장 편하다. Widget build(BuildContext con..
  • thumbnail
    Flutter/Document

    Dart shallow copy와 deep copy 비교 (class, list)

    개발을 하다 보면 변수를 copy 할 일이 생긴다. 그런데 오랜만에 copy를 사용할 일이 생겨 사용을 하다 보니 shallow copy와 deep copy에 대해 까먹고 개발을 하다가 다시 공부하게 되었다. 그래서 Shallow, Deep Copy에 대해 정리해보려고 한다. Shallow Copy class Person { String? name; int? age; Person(this.name, this.age); } void main() { Person personA = Person('사람A',20); // instance 생성 // 본인은 여기서 deep copy가 될 것이라고 생각하고 코드를 작성했었다. Person personB = personA; // personB 에 personA의 ins..
  • 이모티콘창 닫기
    울음
    안녕
    감사해요
    당황
    피폐

    이모티콘을 클릭하면 댓글창에 입력됩니다.