Expo 에서 위젯 개발
Expo 프로젝트에 위젯 기능을 적용하는 방법을 정리한 글이다.
Expo SDK 55에서 expo-widgets iOS alpha가 공개되었지만,
Android까지 포함한 커스텀 구성이나 상세 제어가 필요하면 이런 방식이 여전히 유효하다.
Expo 프로젝트에 위젯 기능을 적용하는 방법을 정리한 글이다.
Expo SDK 55에서 expo-widgets iOS alpha가 공개되었지만,
Android까지 포함한 커스텀 구성이나 상세 제어가 필요하면 이런 방식이 여전히 유효하다.
바라봄을 오픈한 지는 6년이 지났고(20년 5월), 마지막으로 바라봄을 업데이트한 지 2년이 지났다.
바라봄은 처음에 설계할 때 기획했던 것보다 기능이 많이 들어갔고 복잡해졌다.
주니어 개발자 시절 설계/개발한 바라봄은 새 기능을 추가하기도, 유지보수하기도 너무 어려워졌다.
그래서 제로베이스로 바라봄을 다시 설계 및 개발에 들어갔다. 처음에는 1년이면 될 줄 알았는데 현실적인 이슈(이직, 결혼, 이사)로 2년이나 걸려버렸다.
또롱이(우리집 고양이)와 대화하면 어떨까?! 라는 단순한 아이디어로 반려동물 채팅 MVP를 만든 지 벌써 3년이 지났다. (ChatGPT 활용해 반려동물 대화 기능 만들기)
AI Agent도 없던 시절이라, 반려동물 채팅 기능까지 유지보수하기는 1인 개발자로서 쉽지 않았다.
그렇게 얼마 지나지 않아 당시 연결해둔 LLM API가 종료되었고, 단일 문자열 프롬프트에 강하게 의존하던 구조는 LLM API 변경에도 쉽게 망가져버렸다.
그렇게 방치된 기능으로 2년이 흘렀다.
잡담과 변명부터 하자면, 2025년은 중대사가 많았다.
자바스크립트는 싱글 스레드(single-thread) 기반으로 동작됨. 즉, 한 번에 하나의 작업만 처리할 수 있다는 것을 의미. 하지만 자바스크립트는 이벤트 루프(event loop)를 통해 비동기적으로 동작할 수 있도록 지원.
이벤트 루프는 자바스크립트 엔진의 메인 스레드에서 동작하는 무한 루프. 이 루프는 실행 중인 코드와 이벤트 큐(event queue)를 관찰하고, 이벤트 큐에 이벤트가 들어오면 해당 이벤트를 처리하는 작업을 수행.
필자의 본업은 코딩학원의 직원으로 주 업무는 외주개발이지만, 종종 아이들에게 강의도 하고 학부모 상담도 한다.
그리고 수 년전부터 코딩을 잘 모르시고 OA, 자격증을 원하시는 학부모 상담시 이런 말을 했었다.
'아이들이 성인이 되었을 때의 미래는 지금으로선 상상하기 힘들다. 20년 전 스마트폰을 상상하지 못했듯.'
'그렇기 때문에 아이들이 코딩을 배움으로 AI가 어떻게 생각하고, AI에게 어떻게 명령해야 할지를 깨우치는 게 중요하다.'
react native 0.71 버전 부터 지원.
Flex Gap 속성을 사용하면 각 아이템들의 margin 값을 일일히 조정하지 않고도, 아이템들 사이의 간격을 일관되게 유지할 수 있음.
(단, 0.71 버전의 경우 픽셀만 지원. 백분율과 같은 값은 불가.)
마진 사용시 가장자리까지 적용됨.