2023๋…„ 5์›” 19์ผยท1๋ถ„ ์ฝ๊ธฐ

Xamarin.Forms ๋ฐ Xamarin.Essentials๋Š” Android 13 ํ˜ธํ™˜์„ฑ ๋ฐ .NET MAUI๋กœ์˜ ์ „ํ™˜์„ ์ค€๋น„ํ•ฉ๋‹ˆ๋‹ค

Xamarin.Forms ๋ฐ Xamarin.Essentials๋Š” ํ”Œ๋žซํผ ๊ฐ„ ๊ฐœ๋ฐœ์˜ ๋ฏธ๋ž˜์ธ .NET MAUI๋กœ์˜ ์›ํ™œํ•œ ์ „ํ™˜ ๊ณ„ํš๊ณผ ํ•จ๊ป˜ Android 13์„ ๋Œ€์ƒ์œผ๋กœ ํ•˜๋Š” ์—…๋ฐ์ดํŠธ๋ฅผ ๋ฐœํ‘œํ–ˆ์Šต๋‹ˆ๋‹ค.

Xamarin.Forms ๋ฐ Xamarin.Essentials๋Š” Android 13 ํ˜ธํ™˜์„ฑ ๋ฐ .NET MAUI๋กœ์˜ ์ „ํ™˜์„ ์ค€๋น„ํ•ฉ๋‹ˆ๋‹ค

Xamarin ํŒ€์€ ์ตœ๊ทผ Xamarin.Forms ๋ฐ Xamarin.Essentials Android 13์„ ๋Œ€์ƒ์œผ๋กœ ์—…๋ฐ์ดํŠธ๋˜์—ˆ๋‹ค๊ณ  ๋ฐœํ‘œํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด๋Š” 2023๋…„ 8์›”๋ถ€ํ„ฐ Android 13 ์ด์ƒ์„ ๋Œ€์ƒ์œผ๋กœ ํ•˜๋Š” ์ƒˆ Android ์•ฑ์— ๋Œ€ํ•œ Google์˜ ์š”๊ตฌ ์‚ฌํ•ญ๊ณผ ์ผ์น˜ํ•ฉ๋‹ˆ๋‹ค. ์—…๋ฐ์ดํŠธ๋Š” ํ˜„์žฌ ๋ฏธ๋ฆฌ ๋ณด๊ธฐ ์ƒํƒœ์ž…๋‹ˆ๋‹ค. ๋‹จ๊ณ„๋Š” ์ตœ์‹  Android ๋ฒ„์ „๊ณผ์˜ ํ˜ธํ™˜์„ฑ์„ ์œ ์ง€ํ•˜๋Š” ๋™์‹œ์— ๋ฏธ๋ž˜์˜ ๊ต์ฐจ ํ”Œ๋žซํผ ๊ฐœ๋ฐœ์ธ .NET MAUI ํ”„๋ ˆ์ž„์›Œํฌ๋กœ ์›ํ™œํ•˜๊ฒŒ ์ „ํ™˜ํ•  ์ˆ˜ ์žˆ๋Š” ๊ธธ์„ ๋‹ฆ๋Š” ๊ฒƒ์„ ๋ชฉํ‘œ๋กœ ํ•ฉ๋‹ˆ๋‹ค.

์ด ์—…๋ฐ์ดํŠธ๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ Xamarin.Forms ๋ฐ Xamarin.Essentials MonoAndroid13์— ๋งž์ถฅ๋‹ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ๊ฐœ๋ฐœ์ž๋Š” Android 13์—์„œ ์ œ๊ณตํ•˜๋Š” ์ตœ์‹  ๊ธฐ๋Šฅ๊ณผ ๊ฐœ์„  ์‚ฌํ•ญ์„ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์—…๊ทธ๋ ˆ์ด๋“œ ํ”„๋กœ์„ธ์Šค๋ฅผ ์šฉ์ดํ•˜๊ฒŒ ํ•˜๊ธฐ ์œ„ํ•ด ํ”„๋ฆฌ๋ทฐ ๋ฆด๋ฆฌ์Šค๊ฐ€ ์ถœ์‹œ๋˜์–ด ๊ฐœ๋ฐœ์ž๊ฐ€ ์•ฑ์„ ํ‰๊ฐ€ํ•˜๊ณ  ์ž„๋ฐ•ํ•œ ๋ณ€ํ™”์— ๋Œ€๋น„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Xamarin์˜ ์ง€์›์ด 2024๋…„ 5์›” 1์ผ์— ์ข…๋ฃŒ๋  ์˜ˆ์ •์ด๋ฏ€๋กœ ๊ฐœ๋ฐœ์ž๋Š” ์ด๋ฏธ Android 13์„ ์ง€์›ํ•˜๋Š” .NET MAUI๋กœ ์ „ํ™˜ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์šฐ์ˆ˜ํ•œ ๊ต์ฐจ ํ”Œ๋žซํผ ๊ฐœ๋ฐœ ์—์ฝ”์‹œ์Šคํ…œ์„ ์ œ๊ณตํ•˜๋„๋ก ๊ตฌ์ถ•๋œ .NET MAUI๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด Xamarin์—์„œ .NET ๊ธฐ๋ฐ˜ ๊ฐœ๋ฐœ์˜ ๋ฏธ๋ž˜. ๊ฐœ๋ฐœ์ž๋Š” ์ž์„ธํ•œ ์—…๊ทธ๋ ˆ์ด๋“œ ๊ฐ€์ด๋“œ์™€ ์ตœ๊ทผ ์ถœ์‹œ๋œ Visual Studio 2022์šฉ .NET ์—…๊ทธ๋ ˆ์ด๋“œ ๋„์šฐ๋ฏธ ํ™•์žฅ์„ ์‚ฌ์šฉํ•˜์—ฌ ์•ฑ์„ .NET MAUI๋กœ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Xamarin.Forms ์—…๋ฐ์ดํŠธ๋Š” AndroidX ๋ฐ”์ธ๋”ฉ ํŒจํ‚ค์ง€ ๋ฐ ๊ธฐํƒ€ ์ข…์†์„ฑ์— ๋Œ€ํ•œ ํ˜ธํ™˜์„ฑ ๊ฐœ์„ ๋„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ๋งŽ์€ ํŒจํ‚ค์ง€๊ฐ€ ์—…๋ฐ์ดํŠธ๋˜์—ˆ์ง€๋งŒ Xamarin.AndroidX.Lifecycle์€ ํ˜„์žฌ ์กฐ์‚ฌ ์ค‘์ธ ์•Œ๋ ค์ง„ ๋ฌธ์ œ๋กœ ์ธํ•ด ๋ฒ„์ „ 2.6.1๋กœ ์œ ์ง€๋ฉ๋‹ˆ๋‹ค. ๊ฐœ๋ฐœ์ž๋Š” ์•Œ ์ˆ˜ ์—†๋Š” ์—ด๊ฑฐํ˜• ์ƒ์ˆ˜ Scope.LIBRARY_GROUP_PREFIX์™€ ๊ด€๋ จ๋œ ๋นŒ๋“œ ์ถœ๋ ฅ์—์„œ ๊ฒฝ๊ณ ๋ฅผ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. Gerald Versluis์˜ ๋ฐœํ‘œ ๊ฒŒ์‹œ๋ฌผ์—์„œ ๊ฐ•์กฐํ•œ ๋ฐ”์™€ ๊ฐ™์ด ์ด ๋ฌธ์ œ๋ฅผ ์กฐ์‚ฌ ์ค‘์ž…๋‹ˆ๋‹ค.

Xamarin.Forms ๋ฐ Xamarin.Essentials ๋กœ Android 13์„ ๋Œ€์ƒ์œผ๋กœ ์ง€์ •ํ•˜๊ธฐ ์ „์— ๊ฐœ๋ฐœ์ž๋Š” Xamarin.Android 13์ด ์„ค์น˜๋˜์–ด ์žˆ๋Š”์ง€ ํ™•์ธํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๋‹ค์Œ์œผ๋กœ NuGet ํŒจํ‚ค์ง€๋ฅผ ์ตœ์‹  ๋ฏธ๋ฆฌ ๋ณด๊ธฐ ๋ฒ„์ „(Xamarin.Forms 5.0.0.2599-pre1 ๋ฐ Xamarin.Essentials 1.8.0-preview1)์œผ๋กœ ์—…๋ฐ์ดํŠธํ•˜๊ณ  Android ํ”„๋กœ์ ํŠธ์˜ AndroidManifest.xml์—์„œ targetSdkVersion์„ 33(Android 13)์œผ๋กœ ์ˆ˜์ •ํ•ฉ๋‹ˆ๋‹ค. ๋งˆ์ง€๋ง‰์œผ๋กœ ํ”„๋กœ์ ํŠธ๋ฅผ ๋‹ค์‹œ ๋นŒ๋“œํ•˜๋ฉด ๊ฐœ๋ฐœ์ž๊ฐ€ ์•ฑ์˜ ๊ธฐ๋Šฅ๊ณผ ํ˜ธํ™˜์„ฑ์„ ํ‰๊ฐ€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

ํ•ด๋‹น ์ œํ’ˆ์— ๋Œ€ํ•œ Xamarin์˜ ์ง€์›์ด 2024๋…„ 5์›” 1์ผ์— ์ข…๋ฃŒ๋˜๋ฏ€๋กœ ๊ฐœ๋ฐœ์ž๋Š” ํ–ฅํ›„ ํ”Œ๋žซํผ ๊ฐ„ ํ”„๋กœ์ ํŠธ๋ฅผ ์œ„ํ•ด .NET MAUI๋กœ์˜ ์ „ํ™˜์„ ๊ณ ๋ คํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. .NET MAUI๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ƒˆ ํ”„๋กœ์ ํŠธ๋ฅผ ์‹œ์ž‘ํ•˜๋Š” ๊ฒƒ์ด ์ข‹์œผ๋ฉฐ ๊ธฐ์กด Xamarin.Forms ํ”„๋กœ์ ํŠธ๋Š” .NET Upgrade Assistant๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์—…๊ทธ๋ ˆ์ด๋“œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. .NET MAUI ์ฑ„ํƒ์„ ์œ„ํ•œ ํฌ๊ด„์ ์ธ ๋ฆฌ์†Œ์Šค๋Š” ์„ค๋ช…์„œ๋ฅผ ํ†ตํ•ด ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ด์ œ Xamarin.Forms ๋ฐ Xamarin.Essentials ๋ฏธ๋ฆฌ ๋ณด๊ธฐ์—์„œ Android 13์„ ๋Œ€์ƒ์œผ๋กœ ํ•˜๊ณ  ์žˆ์œผ๋ฏ€๋กœ ๊ฐœ๋ฐœ์ž๋Š” ์ตœ์‹  Android ๊ธฐ๋Šฅ์„ ํ™œ์šฉํ•˜๊ณ  .NET MAUI๋กœ์˜ ์ „ํ™˜์„ ์ค€๋น„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ์—…๋ฐ์ดํŠธ๋Š” ํ˜ธํ™˜์„ฑ์„ ๋ณด์žฅํ•˜๊ณ  ๊ฐœ๋ฐœ์ž๊ฐ€ ํ”„๋กœ์ ํŠธ๋ฅผ ์ „ํ™˜ํ•  ์ˆ˜ ์žˆ๋Š” ์ถฉ๋ถ„ํ•œ ์‹œ๊ฐ„์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ํ”„๋ฆฌ๋ทฐ ๋‹จ๊ณ„ ์ดํ›„ Android 13์„ ๋Œ€์ƒ์œผ๋กœ ํ•˜๋Š” Google์˜ 2023๋…„ 8์›” ๊ธฐํ•œ ํ›จ์”ฌ ์ด์ „์— ์•ˆ์ •์ ์ธ ๋ฆด๋ฆฌ์Šค๊ฐ€ ์ถœ์‹œ๋  ๊ฒƒ์œผ๋กœ ์˜ˆ์ƒ๋ฉ๋‹ˆ๋‹ค. Xamarin์˜ ์ง€์› ์™ธ์—๋„ AppMaster ํ”Œ๋žซํผ์€ ๋ชจ๋ฐ”์ผ ์•ฑ ๊ฐœ๋ฐœ์„ ์œ„ํ•œ no-code ์†”๋ฃจ์…˜์„ ์ œ๊ณตํ•˜์—ฌ ๊ฐœ๋ฐœ์ž์™€ ๋น„์ฆˆ๋‹ˆ์Šค ๋ชจ๋‘๋ฅผ ์œ„ํ•œ ํ”„๋กœ์„ธ์Šค๋ฅผ ๊ฐ„์†Œํ™”ํ•ฉ๋‹ˆ๋‹ค.

Easy to start
Create something amazing

Experiment with AppMaster with free plan.
When you will be ready you can choose the proper subscription.

Get Started
Xamarin.Forms ๋ฐ Xamarin.Essentials๋Š” Android 13 ํ˜ธํ™˜์„ฑ ๋ฐ .NET MAUI๋กœ์˜ ์ „ํ™˜์„ ์ค€๋น„ํ•ฉ๋‹ˆ๋‹ค | AppMaster