모바일

크로스 플랫폼 프레임워크 비교, Flutter vs React Native

이것도 이전에 작성했던 문서, 작성했던 시점과 많은 부분이 바뀌었다.React Native의 New Architecture(Fabric, TurboModules, JSI)에 대한 설명을 2026년 기준으로 보강, 기존에 "Bridge를 통해서 네이티브 기능 사용"이라고만 적혀있던 부분이 지금은 구조가 많이 바뀜Hermes 엔진에 기본 JS 엔진이 된 점 추가, Flutter 쪽은 Impeller가 Skia를 대체한 현재 상황을 반영하나의 코드베이스로 Android와 iOS 앱을 동시에 만들 수 있다면? 네이티브 언어(Kotlin, Swift)를 각각 쓰지 않아도 된다면? 이게 크로스 플랫폼 프레임워크가 해결하려는 문제다.이 글에서는 가장 많이 쓰이는 두 프레임워크, Flutter와 React Native..

모바일

FCM Notification/Silent Push 알림 처리

이전에 작성했던 문서들이 있는데 블로그를 만든 김에 정리&최신화해서 새 글을 올리려고 한다. 운영 중인 Android 앱을 Flutter로 포팅하는 프로젝트에서 푸쉬 알림을 구현해야 했다. 문제는 기존 앱들이 이미 동작하고 있었기 때문에 서버 쪽 API 수정을 최소화해야 했다는 점이다. 그래서 기존 API가 보내는 Silent Push 방식을 그대로 살리면서 Flutter 측에서 대응하는 방향으로 진행했다.FCM이란FCM(Firebase Cloud Messaging)은 모바일 환경에서 푸쉬 알림을 구현하거나, 서버에서 클라이언트로 데이터를 전송할 때 쓰는 서비스다. Android, iOS, Web을 모두 지원하고 적용례가 많아서 모바일 푸쉬 구현의 사실상 표준이다.FCM의 푸쉬는 크게 두 가지로 나눠다...

안드로이드

안드로이드 컴포즈 dp, sp 단위

플러터에서는 딱히 단위가 필요 없었다. 위젯의 크기, 텍스트의 크기는 논리 픽셀(Logical Pixel, lp)로 결정되었다. 그런데, 안드로이드 네이티브로 돌아오니, dp, sp 단위가 생겼다. 거기에다 em 단위도 있다.dp와 sp는 어떻게 다르며, 왜 필요할까?dpdensity-independent pixel - 화면 밀도에 독립적인 단위로, UI 레이아웃의 기본 단위이다 160dpi 화면에서 1dp = 1px.dp는 어떠한 화면에서도 일정한 크기를 가질 수 있도록 해주는 유연한 단위이다.그렇기에, dp 단위는 개발자가 다양한 크기의 화면에 대응하는 레이아웃을 쉽게 만들 수 있도록 돕는 단위라 할 수 있다.spscale-independent pixel - dp와 동일하지만 시스템 글꼴 크기 설정..

우테코

우테코 안드 8기 "칸반 보드 태스크 - 컴포즈 기초" 리뷰 정리 2차

1차 리뷰에 이은 2차 리뷰, 3주? 전 내용인데 3주 전의 나와 지금의 나를 비교하니 많이 배우긴 한 것 같다는 생각이 든다. 이 당시에는 컴포넌트를 어디까지 분리해야 하는지 기준을 세우지 못했고 컴포넌트에 너무 많은 역할과 책임을 부여했었다. 물론, 지금이라고 완벽한 건 아니지만 어느 정도 기준은 세웠기 때문에 그 기준에 따르고 있다. 기억에 따르면 다음 리뷰에서 컴포넌트 분리 기준을 얘기할 것 같다.PR: woowacourse/compose-kanban-board-task#1리뷰어: ㅋㄹ1. FlowRow 후속 답변KanbanBoard.ktQ: 잘 찾아보셨습니다. 질문주신 부분은 제가 답변드리지 않아도 미션을 진행해나가면서 스스로 답을 찾으실 수 있을 것 같아요. Column이라는 컴포저블 함수가 ..

우테코

우테코 안드 8기 "칸반 보드 태스크 - 컴포즈 기초" 리뷰 정리 1차

블로그 글 작성을 더 이상은 늦춰서는 안되겠다는 생각이 들어서 지금이라도 시작하려고 한다. 일단은 쉬운 주제부터 시작!첫 미션에다 처음으로 PR 리뷰를 받았는데 신선한 경험이었다. 나름 2~3년 개발을 했는데도 PR 자체가 처음이었다. 현업에 있을 때에는 PR 리뷰랄것도 없이 코드 리딩정도만 진행했는데, 이런 과정 자체가 굉장히 충격적이었다. 한편으론, 개발을 헛 했다는 기분도 든다. 그래도, 우테코에서 이러한 선진적인 방법을 배우고 싶은 것이었으니 굉장히 만족한다.PR: woowacourse/compose-kanban-board-task#1리뷰어: ㅋㄹ1. ktlint와 테스트 확인 습관README.mdQ: 항상 제출하기 전 ktlint와 테스트를 확인해보는 습관을 들이면 좋을 것 같습니다.A: 코드 ..

홈으로 돌아가기

검색 결과

"search" 검색 결과입니다.