2026/04/02

오늘의 이야기

KMP: UI 및 Compose Multiplatform으로 안드로이드 앱을 iOS로 이동

ios




• 이 기사는 코틀린 멀티플랫폼을 사용하여 기존 안드로이드 앱을 iOS로 마이그레이션하는 시리즈의 일부이다. 이 부분에서는 컴포즈 멀티플랫폼을 활용한 멀티플랫폼 사용자 인터페이스를 만드는 데 초점을 맞추고 있다.

• 제트팩 컴포즈에서 컴포즈 멀티플랫폼으로의 마이그레이션은 비교적 간단하며 일부 주의 사항이 있다. 구글과 제트브레인스의 팀은 제트팩과 컴포즈 멀티플랫폼 사이의 원활한 작동성을 보장하여 대부분의 컴포즈가 큰 변화 없이 작동할 수 있도록 했다.

• 알림, 권한, 리소스 및 탐색, 뷰모델 및 소포와 같은 라이브러리와 같은 플랫폼별 요소는 여전히 처리해야 합니다.

• 더 간단한 화면의 경우 마이그레이션은 주로 문자열 및 아이콘과 같은 리소스를 얻는 것을 포함합니다. 모코 리소스는 컴포즈 멀티플랫폼의 리소스를 관리하기 위한 인기 있는 라이브러리로 안드로이드의 기본 리소스와 유사한 기능을 제공합니다.

• 알람, 알림 및 홈 스크린 위젯과 같은 코드의 일부 부분은 멀티플랫폼 대안의 부족으로 인해 네이티브 구현이 필요하다. 코틀린은 스위프트/오브젝티브-C 네이티브 코드를 개발하는 데 사용할 수 있어 안드로이드/코틀린 개발자를 위한 프로세스를 단순화할 수 있다.

• 이 기사는 또한 안드로이드 제트팩 내비게이션에서 알카아의 단순 내비게이션 그래프와 잘 일치하는 내비게이션에 대한 실용적인 접근법인 보이저로의 마이그레이션에 대해 논의한다. Moko MVVM은 ViewModel, LiveData, View Binding, Data Binding 지원에 사용된다.

https://proandroiddev.com/migrating-an-android-app-to-ios-with-kmp-part-iii-ui-and-compose-multiplatform-b5e01cc0769a

Migrating an Android app to iOS with KMP — Part III: UI and Compose Multiplatform

Kotlin Multiplatform banner by JetBrains

proandroiddev.com





오늘의 이야기

제트팩 컴포즈 컴파일러는 코틀린 저장소로 이동합니다.

안드로이드



• 제트팩 컴포즈 컴파일러는 코틀린 2.0이 출시되면서 코틀린 저장소로 이동하여 각 코틀린 릴리스와 함께 일치하는 컴포즈 컴파일러가 출시되도록 하여 컴포즈 앱에서 코틀린 버전을 업그레이드하기 전에 일치하는 컴포즈 컴파일러 릴리스를 기다릴 필요가 없습니다.

• 구글 컴포즈팀은 코틀린 재단의 공동 창립자인 제트브레인스와 협업해 컴파일러를 지속적으로 개발할 예정이며, 코틀린과 매칭되는 타입세이프 API와 버저닝으로 컴포즈의 설정을 단순화하기 위해 컴포즈 컴파일러 그래들 플러그인을 도입했다.

• 새로운 플러그인으로 마이그레이션하려면 개발자는 그래들 버전 카탈로그에 컴포즈 컴파일러 그래들 플러그인 종속성을 추가하고 컴포즈를 사용하는 프로젝트의 루트 레벨 그래들 파일 및 모듈에 플러그인을 적용할 수 있으며 코틀린 컴파일러 확장 버전은 컴포즈 옵션에서 더 이상 필요하지 않습니다.

https://android-developers.googleblog.com/2024/04/jetpack-compose-compiler-moving-to-kotlin-repository.html?fbclid=IwZXh0bgNhZW0CMTEAAR1-mZcTgml7qJCwT1JKKNCBd9c1pg2NlKD-fvVwKOd1aGaBfrFOQyN5GSg_aem_ATRmRl9YevDb1U19_1jceQUWolZEWD75Wx3aca03xuBAnlfkjsXgqnYh59HfQ4aWKkZsuiiYrazN1MCa8Y2pio2w&m=1

Jetpack Compose compiler moving to the Kotlin repository

With the upcoming release of Kotlin 2.0, the Jetpack Compose a matching Compose compiler will release alongside each release of Kotlin.

android-developers.googleblog.com





오늘의 이야기



#스치니1000프로젝트 #재미 #행운기원 #Compose #Firebase

🎯 야 너 토요일마다 로또 확인하냐?
나도 맨날 "혹시나~" 하면서 봤거든 ㅋㅋ

근데 이제는 그냥 안 해
AI한테 맡겼어 🤖✨

그것도 구글 Gemini로다가!

그래서 앱 하나 만들었지
👉 "로또 예상번호 by Gemini" 🎱

AI가 분석해서 번호 딱! 뽑아줌
그냥 보고 참고만 하면 됨

재미로 해도 좋고…
혹시 모르는 거잖아? 😏


https://play.google.com/store/apps/details?id=com.billcorea.gptlotto1127




오늘의 이야기

웹 스크래핑 기법: 5가지 방법을 갖춘 종합 가이드

웹 스크래핑



• 웹 스크래핑은 프로그래밍 또는 특수 도구를 사용하여 웹사이트에서 데이터를 추출하는 데 사용되는 기술이다. 시장 조사, 데이터 분석, 콘텐츠 집계 및 경쟁 지능과 같은 작업에 유용합니다.

• 이 기사는 뷰티풀수프, 스크래피, 셀레늄 및 LLM을 사용하는 방법을 포함하여 웹 스크래핑에 대한 포괄적인 가이드를 제공한다.

• 태그와 속성을 포함한 HTML의 기본 사항을 설명하여 웹 페이지의 구조를 이해하는 데 도움을 준다.

• 선택기는 웹페이지에서 특정 요소를 정확히 찾아내는 데 사용되며 웹 스크래핑에 대한 윤리적 고려 사항이 논의된다.

• 코드와 함께 뷰티풀수프 및 요청 라이브러리를 사용한 웹 스크래핑의 단계별 시연이 제공됩니다.

• 강력한 웹 스크래핑 프레임워크인 스크래피는 코드 스니펫과 설명과 함께 도입됩니다.

• 셀레늄은 동적 웹 스크래핑을 위한 도구로 제시되며, 코드 예와 브라우저의 동작을 사용자 정의하기 위한 크롬 옵션에 대한 논의가 있다.

https://heartbeat.comet.ml/web-scraping-with-5-different-methods-all-you-need-to-know-403a59fceea0

Web Scraping With 5 Different Methods: All You Need to Know

Including how to use LangChain and LLMs for web scraping!

heartbeat.comet.ml





오늘의 이야기


#스하리1000명프로젝트

스치니들!
내가 만든 이 앱은, 내 폰에 오는 알림 중에서 중요한 키워드가 있는 경우
등록해둔 친구에게 자동으로 전달해주는 앱이야 📲

예를 들어, 카드 결제 알림을 와이프나 자녀에게 보내주거나
이번 달 지출을 달력처럼 확인할 수도 있어!

앱을 함께 쓰려면 친구도 설치 & 로그인해줘야 해.
그래야 친구 목록에서 서로 선택할 수 있으니까~
서로 써보고 불편한 점 있으면 알려줘 🙏

👉 https://play.google.com/store/apps/details?id=com.nari.notify2kakao





오늘의 이야기

구글 지도와 제트팩 구성 통합: 안드로이드 개발자를 위한 종합 가이드

구글 맵




• 이 포괄적인 튜토리얼은 구글 지도를 제트팩 컴포즈와 통합하는 단계별 가이드를 제공하여 안드로이드 개발자가 강력하고 대화형 지도 기반 애플리케이션을 만들 수 있도록 합니다.

• 가이드는 구성 지도 라이브러리를 프로젝트에 통합하기 위해 필요한 종속성 및 API 키를 설정하는 방법을 설명하는 것으로 시작합니다.

• 그런 다음 구글맵 구성 기능을 사용하여 기본 구글 맵을 만드는 것을 파고들어 개발자가 사용자 정의 가능한 카메라 위치가 있는 지도를 표시할 수 있습니다.

• 튜토리얼은 사용자 인터페이스 조정, 줌 제어 가능, 위성 보기 등 서로 다른 지도 유형 간 전환 등 다양한 지도 맞춤화 옵션을 탐색하는 과정을 진행한다.

• 지도에 마커를 추가하는 것은 구성 가능한 기능을 사용하는 간단한 마커, 다중 마커 및 맞춤형 마커의 예와 함께 자세히 설명된다.

• 가이드는 또한 사용자가 마커 정보 창을 클릭할 때 마커 정보 창에 추가 정보를 표시하여 마커를 대화형으로 만드는 방법을 보여준다.

• 마지막으로, 튜토리얼은 여러 좌표를 연결하여 지도에 경로를 그리는 방법을 보여주어 개발자에게 탐색 기반 응용 프로그램을 만들 수 있는 기능을 제공합니다.

https://medium.com/@ridvanozcan48/how-to-use-google-maps-in-jetpack-compose-step-by-step-android-guide-55aedac89e43

How to Use Google Maps in Jetpack Compose: Step-by-Step Android Guide

In this tutorial, we will guide you through the integration of Jetpack Compose and Google Maps to develop Android applications. Our…

medium.com





오늘의 이야기

제트팩 구성에서 인스타그램과 같은 롱 프레스 및 드래그 가능한 회전목마 지표 작성

• 이 기사는 제트팩 컴포즈에서 인스타그램과 같은 긴 프레스와 드래그 가능한 캐러셀 표시기를 만드는 방법을 설명하여 코드 스니펫과 함께 자세한 단계별 가이드를 제공한다.

• 핵심 아이디어는 드래그블 인디케이터라는 구성 가능한 지표를 만들어 HorizontalPager와 함께 사용하는 것입니다.

• 드래그 가능 인디케이터 구성은 상자를 사용하여 각 인디케이터를 그리고 초기 스타일의 회색 색상으로 뒤로 그리기 수식어를 사용하여 래지로우를 사용하여 수평 행에 추가한다.

• 현재 선택에서 더 멀리 떨어진 이미지에 대해 지표 크기가 감소하는 시각적 효과를 생성하기 위해 현재 페이지 상태 및 지표 인덱스를 기반으로 각 지표 도트에 대해 스케일 팩터가 계산된다.

• 이 기사는 또한 지시자를 길게 누른 다음 포인터 입력 수정자와 DetectDragGesturesAfterLongPress suspend 기능을 사용하여 좌우 스크롤을 가능하게 하는 제스처의 구현을 다룬다.

• 마지막으로, 약간의 의도하지 않은 드래그가 캐러셀이 페이지를 전환하게 하지 않도록 하기 위해 드래그 임계값이 계산된다.

https://proandroiddev.com/create-instagram-like-long-press-and-draggable-carousel-indicators-in-jetpack-compose-ce16fa75bc1e

Create Instagram-like Long Press and Draggable Carousel Indicators in Jetpack Compose

We must have used this UX in the Instagram mobile app, where we can long press the carousel indicators section and then swipe left or right…

proandroiddev.com





오늘의 이야기


#스하리1000명프로젝트,
有时候和外劳说话很难,对吧?
我制作了一个简单的应用程序,可以帮助您!你用你的语言写作,其他人用他们的语言看到它。
它根据设置自动翻译。
超级方便,可以轻松聊天。有机会就来看看吧!
https://play.google.com/store/apps/details?id=com.billcoreatech.multichat416




오늘의 이야기

Appium을 사용한 안드로이드 제트팩 컴포즈 앱 자동화

안드로이드 UI



• 제트팩 컴포즈는 안드로이드에서 네이티브 사용자 인터페이스를 구축하기 위한 현대적인 툴킷입니다. 구성 가능한 기능을 기반으로 한 선언적 UI 프레임워크를 사용하여 UI 개발을 더 빠르고 쉽게 만듭니다.

• 그러나 제트팩 컴포즈는 UI 요소에 대한 안정적인 식별자를 제공하지 않아 아피움과 같은 도구로 테스트를 자동화하기 어려울 수 있다. 한 가지 대안은 '콘텐츠 설명'을 사용하는 것이지만 이는 접근성에 부정적인 영향을 미칠 수 있다.

• 이를 해결하기 위해 제트팩 컴포즈는 개발자가 테스트 목적으로 UI 트리의 노드를 고유하게 식별할 수 있는 '테스트태그' 속성을 도입했다. 그러나 UiAutomator2와 Appium은 현재 'testTag'의 인식을 지원하지 않는다.

• 해결 방법으로 개발자는 MainActivity.kt 파일의 'semantics { testTagsAsResourceId = true }' 구문을 사용하여 테스트 태그를 리소스 ID로 처리할 수 있습니다. 이를 통해 아피움은 리소스-id를 로케이터로 사용하여 요소와 상호 작용할 수 있으므로 보다 신뢰할 수 있는 테스트 자동화가 가능하다.

https://medium.com/@pourzand.p/automating-android-jetpack-compose-app-with-appium-70aa7a5f80e2

Automating Android Jetpack Compose app with Appium

Jetpack Compose is Android's endorsed modern toolkit for constructing native user interfaces. It streamlines and expedites the process of…

medium.com





오늘의 이야기

안드로이드 스튜디오의 Jellyfish 로부터 코드를 보호하기: 지적 재산권 보안 보장

코딩하는 여자 개발자



• 안드로이드 스튜디오에 제미니가 도입되면서 개발자들은 컨텍스트 기반 코드 제안과 자동 완성 기능을 제공할 수 있는 강력한 AI 도구에 접근할 수 있게 됐다. 그러나 민감하거나 독점적인 코드를 구글과 공유하면 지적 재산권 보호에 대한 우려가 제기될 수 있다.

• 민감한 코드를 보호하기 위해 안드로이드 스튜디오는 사용자가 제미니와의 프로젝트 코드 공유를 제어할 수 있는 사용자 정의 가능한 설정을 제공한다. 개발자는 모든 프로젝트 코드, 특정 프로젝트를 허용하거나 프로젝트 코드 공유를 선택할 수 있습니다.

• 포괄적인 보호를 보장하기 위해 개발자는 제외하려는 디렉토리의 상단 수준에서 .aiexclude라는 파일을 만들 수 있습니다. .gitignore와 유사한 이 파일은 별표(*)를 포함하여 모든 파일과 하위 폴더를 재귀적으로 제외할 수 있어 Gemini가 코드에 액세스하는 것을 방지할 수 있습니다.

• 제미니의 코드 완료 기능은 .aiexclude 파일을 사용할 때 비활성화될 수 있지만 개발자는 여전히 특정 코드베이스와 관련이 없는 일반 질문에 대해 도구를 활용할 수 있다.

https://proandroiddev.com/protect-your-code-from-gemini-in-android-studio-982a58e1ea2a

Protect your code from Gemini in Android Studio

The Studio Bot is great, but be sure you are not sharing proprietary code unintentionally

proandroiddev.com





오늘의 이야기


#billcorea #운동동아리관리앱
🏸 Schneedle,羽毛球俱乐部必备应用!
👉 比洞赛 – 记录分数并寻找对手 🎉
适合任何地方,独自一人、与朋友一起或在俱乐部! 🤝
如果你喜欢羽毛球,一定要尝试一下

前往应用程序👉 https://play.google.com/store/apps/details?id=com.billcorea.matchplay




오늘의 이야기

KMP: UI 및 Compose Multiplatform으로 안드로이드 앱을 iOS로 이동 ios • 이 기사는 코틀린 멀티플랫폼을 사용하여 기존 안드로이드 앱을 iOS로 마이그레이션하는 시리즈의 일부이다. 이 부분에서는 컴포즈 멀티플랫폼을 활용한 멀...