앱의 성능을 올려볼 방법이 없을까? 최근 작업을 하면서 성능을 올릴만한게 뭐 없을까? 라는 고민을 하며 회사에서 작업을 하던중 앱의 화면에 asset이 많이 들어가면 화면이 버벅이는거 같은 느낌을 받았습니다. 이 느낌은 아이폰에서 특히 더 많이 느껴지는거같았고 어떻게 해결할 수 있는 방법이 없을지 찾아보던 중 이미지를 precache 할 수 있다는것을 알아냈습니다. 이미지 Precache는 Flutter에서 제공하는 기능 중 하나로, 화면에 표시되기 전에 이미지를 미리 로드하여 캐시에 저장하는 과정입니다. 이를 통해 사용자가 이미지를 요청할 때마다 실시간으로 다운로드하는 대신, 이미지가 사전에 로드되어 빠르게 표시될 수 있습니다. 그래서 어떻게 쓰는건데? 기본적인 사용법은 아래와 같습니다. 이미지를 사용..
Isolate 가 뭐길래? Dart는 기본적으로 싱글 스레드를 기반으로 합니다. 하지만 스트리밍, 백그라운드 작업을 지원합니다. 그 이유는 Dart의 모든 코드는 Isolate 기반으로 동작을 하기 떄문인데요 싱글스레드가 격리된 메모리 공간에서 Isolate를 사용해 _이벤트 루프_를 실행시켜 멀티스레드 처럼 동작시킬 수 있습니다. /// Event Roop는 Event Queue에 담겨 주어진 작업을 순서대로 처리해줍니다. 이러한 Isolate를 코드에서 적절히 사용해주면 개인적으로 Flutter의 큰 단점중 하나라고 생각되는 화면의 버벅거림을 줄여 UX를 좋게 만들어 줄 수 있습니다. 그렇다면 Isolate가 Thread 인가요?? 정확히는 아이솔레이트는 스레드를 감싸는 wrapper입니다! 스레드는..
✍️ 이 포스팅은 노마드 개발자 글쓰기 스터디의 일환으로 자유 주제를 공부한 내용으로 포스팅 하고있습니다. 지난번 포스팅에서 바텀시트를 통해 게임에 객체를 추가해주는 부분을 진행했습니다. 이번 포스팅에서는 펫을 추가해 벽에 닿으면 자동으로 방향을 바꿔 움직이는 기능을 구현해보도록 하겠습니다. 1. 펫 이미지 추가 assets/image 하위에 pet_sheet.png 파일을 추가해 주었습니다. 저는 인터넷에서 아무거나 가져와 사용했고 글을 보시는 분들도 아무 sheet를 구해서 추가해주시면 됩니다. 그리고 나서 pet_component.dart 라는 이름으로 펫 객체로 사용할 클래스를 생성해줍니다. 2. 펫 코드 작성 import 'dart:math'; import 'package:flame/collis..
✍️ 이 포스팅은 노마드 개발자 글쓰기 스터디의 일환으로 자유 주제를 공부한 내용으로 포스팅 하고있습니다. 지난주 포스팅에서 화면의 캐릭터를 자동으로 움직이는 부분까지 구현했는데 이번에는 flutter의 바텀시트를 통해 배경인 벽지에 아이템을 놓는 작업을 해보겠습니다.(원래는 캐릭터 옷을 갈아입혀야 하지만 디자인 리소스를 직접 만들어야 할거같아서 바꿔 버렸습니다 😂😂😂) 1. 바텀시트 추가 우선 바텀시트로 사용할 sliding_up_panel 패키지를 추가해줍니다. henry_some_one/pubspec.yaml 파일에 추가해 주시면 됩니다. 그리고는 바텀시트에 해당하는 위젯과 그 내용물을 만들어줄 파일을 생성해 줍니다. 위와 같이 item_list_bottom_sheet.dart 파일과 item.da..
✍️ 이 포스팅은 노마드 개발자 글쓰기 스터디의 일환으로 자유 주제를 공부한 내용으로 포스팅 하고있습니다. 지난번 포스팅에서는 프로젝트를 생성하는 데에서 끝냈는데 이번 포스팅에서는 실제로 게임 화면을 띄우고 배경을 넣고 게임 캐릭터를 움직여 보려고 한다. 1. 게임 화면 띄우기 우리는 앞서 게임 프로젝트를 패키지로 생성했기 때문에 example 에서 사용을 해보려면 export 과정을 거쳐야 할 필요가 있다. 따라서 패키지 프로젝트 하위에 lib/index.dart 파일을 생성하고 아래와 같이 원하는 파일을 export 해준다. 그리고 나서 실제 게임 화면에 보여질 부분을 만들어 준다. library henry_some_one; import 'package:flame/components.dart'; im..
✍️ 이 포스팅은 노마드 개발자 글쓰기 스터디의 일환으로 자유 주제를 공부한 내용으로 포스팅 하고있습니다. 플러터 개발자로 첫 취직을 하고 1년 반정도가 지났다. 그동안 앱개발을 진행했고 때때로는 플러터 웹을 다뤄보기도 했다. 그러는 와중에 이 Flame 이라는 게임 엔진을 알게된지는 오래되었는데, 플러터로 게임을 만들 수 있다는 사실이 놀라웠고 공부해보고 싶었지만 현생이 바쁘고 다른 공부할게 쌓여있기 때문에 구석에 미뤄두고 잊고 살았었다. 하지만 이번 노마드 개발자 글쓰기 스터디에 참여하게 되면서 나만의 글쓰기 주제를 정해야 했는데 마침 이 주제가 생각나기도 했고 지금 일하고 있는 회사의 프로젝트에도 접목시킬 수 있지 않을까 하는 생각이 들어 공부하고 포스팅을 해보려 한다. 1. 프로젝트 구조 우선 이..
1. 사건의 발단 최근 회사에서 버튼을 누르면 사라졌다 나타는 위젯을 만들어야 할 일이 있었다. 그냥 뭐 간단하게 해결될 일이라고 생각을 했고 처음에는 AnimatedContainer 위젯을 사용해 구현을 하려했다. Column( children: [ _header(context), AnimatedContainer( height: _height, duration: const Duration(milliseconds: 300), child: _child, ), ], ) 대충 위와같이 _header 위젯에 있는 특정 버튼을 누르면 _height 의 크기가 변하면서 자식의 크기가 줄어들거나 늘어나게 만들었었는데 작업 해놓고 보니 간과한것이 있었다..!!! 그것은 바로 AnimatedContainer 의 chil..
나는 안드로이드 개발을 하다가 플러터로 넘어왔지만 항상 느끼는점은 화면 그리기가 너무너무 간단하다는 것이다. 하지만 더 화려한 UI를 만들기 위해서는 화면이 동적으로 움직이는 애니메이션이 필수라고 생각한다. 이번 포스팅에서는 기본적으로 애니메이션을 어떻게 그리고 어떤식으로 커스텀할 수 있는지에 대해 알아보려고 한다. 이번에 구현해볼 애니메이션은 위와 같다. 간단히 RUN 버튼을 누르면 화면의 위젯이 각 방향으로 사라지며, 아래의 리스트의 경우 하나씩 서서히 사라지게 하는 간단한 예제이다. 01. 기초 애니메이션 사용 방법 1-1. AnimationController 애니메이션의 기본요소중의 하나인 애니매이션 컨트롤러이다. 모든 애니메이션은 이 컨트롤러를 통해 실행되고 상태를 얻어올 수 있다! late f..
안녕하세요 Gyeony입니다! Flutter 2.0 버전이 정식 릴리즈 한지도 벌써 5달이 다되어가고 있어요! 아직도 부족함이 많고 회사일이 생각보다 바쁘게 돌아가 시간은 많이 없지만 하나씩 정리해나가 보도록 하겠습니다. 이번 글에서는 Flutter와 SEO에 대해서 다루어 보도록 하겠습니다. Flutter 2.0 릴리즈 당시 사람들은 Flutter Web에 대해서 기대감을 품고 있었어요 모바일에서 보여주던 혁신적인 퍼포먼스를 웹에서도 잘 보여준다면 프론트 시장에서 영향력이 엄청나게 커질테니까요 ㅎㅎ 크로스 플랫폼 모바일 시장에서는 react native를 잘 따라가고 있고 웹마저 react나 vue 등을 따라가 준다면 정말 플러터로 프론트 정복이 가능할수도 있지 않나! 라는 부푼 꿈을 잠시 꿔보았습니다..
나는 취직 전까지는 Native Android 개발자로 살았다. 기업 면접을 보러 다니는 중 지금 다니는 회사에서 플러터 개발을 해보지 않겠냐는 제안을 받았고 나는 수락했다. 내가 전향을 결심했을 때 어떤 생각을 했는지는 아래 포스팅에 쓰여있다. rlg1133.tistory.com/113 Flutter) 플러터를 시작하는 이유 플러터 개발자로의 전향 제안 최근 구직중 플러터를 사용하는 기업에서 입사 제안이 왔다. 입사 제안이 온 다른 회사들보다는 약간 적은 연봉으로 온 제안이었지만 수락해보려고 한다. 나는 기 rlg1133.tistory.com 나는 지금 입사한지 한 달 정도 지났다. 플러터 개발을 처음 접했을 때부터 느낀 점을 써보려고 한다. 플러터 첫인상 회사에 입사하기 전 나는 유투브에서 코딩 셰프..
- Total
- Today
- Yesterday
- WAS
- mysql
- Git
- 에러해결
- 플러터
- redis
- node.js
- django server
- 에러
- 코틀린
- Kotlin
- RecyclerView
- 안드로이드
- github
- Tutorial
- Django
- Android Studio
- socket.io
- CHANNELS
- 알고리즘
- springboot
- 해결
- password
- Hummingbird
- DART
- 안드로이드스튜디오
- flutter
- Android
- flame
- chatting
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 |