λ¦μ κ°μ΄ μμ§ μμ§λ§ μ λ¦¬κ° νμνλ€λ κ²μ λκΌμ΅λλ€.
ν리뷰7μ 보면μ 1,2,3,4,5,6μ΄ λΉ μ Έμλ€λκ²μ λ³΄κ² λμμ΅λλ€.
preview1
iOS, Mac Catalyst, κ·Έλ¦¬κ³ μλλ‘μ΄λ νλ«νΌμ λν μ±λ₯κ³Ό νμ§ κ°μ μ μ€μ μ λμ΅λλ€. μ£Όμ λ³κ²½ μ¬νλ€μ λ€μκ³Ό κ°μ΅λλ€.
iOS & Mac Catalyst
-
CollectionView λ° CarouselView νΈλ€λ¬: .NET 9μμ μ ν μ¬νμ΄μλ μλ‘μ΄ νΈλ€λ¬κ° μ΄μ κΈ°λ³ΈμΌλ‘ νμ±νλμ΄ CollectionViewμ CarouselViewμ μ±λ₯ λ° μμ μ±μ΄ ν₯μλμμ΅λλ€.
-
νΈλ¦¬λ¨Έ κ²½κ³ : νΈλ¦¬λ¨Έ κ²½κ³ κ° κΈ°λ³Έμ μΌλ‘ νμ±νλμ΄ κ°λ°μκ° μ½λμ νΈλ¦¬λ° λ¬Έμ λ₯Ό λ μ½κ² νμ νκ³ ν΄κ²°ν μ μκ² λμμ΅λλ€.
-
λΌμ΄λΈλ¬λ¦¬ 리μμ€ λ²λ€λ§: λΌμ΄λΈλ¬λ¦¬ νλ‘μ νΈμ μλ³Έ 리μμ€κ° λ²λ€λ‘ ν¬ν¨λλ κΈ°λ₯μ΄ κΈ°λ³Έκ°μ΄ λμμ΅λλ€.
Android
-
Android 16 μ§μ: Android 16 (API-36) λ² ν 1 SDK μ§μμ΄ μΆκ°λμμ΅λλ€.
-
μ΅μ μ§μ API μ λ°μ΄νΈ: νλ‘μ νΈ ν νλ¦Ώμ μ΅μ μ§μ API λ²μ μ΄ API 24λ‘ μ λ°μ΄νΈλμ΄ λ°νμ μ€λ₯λ₯Ό μ€μΌ μ μμ΅λλ€.
-
JDK-21 λΉλ μ§μ: JDK-21μ μ¬μ©ν λΉλκ° κ°λ₯ν΄μ‘μ΅λλ€.
-
dotnet run μ§μ: dotnet run λͺ λ Ήμ΄λ₯Ό ν΅ν΄ μλλ‘μ΄λ νλ‘μ νΈλ₯Ό μ€νν μ μκ² λμμ΅λλ€.
-
λ§μ¬ λ©μλ: C# μ½λλ₯Ό νΈμΆνλ μλ°λ₯Ό μν λ§μ¬ λ©μλκ° κΈ°λ³Έμ μΌλ‘ νμ±νλμ΄ μ ν리μΌμ΄μ μμ μ±λ₯μ΄ κ°μ λμμ΅λλ€.
preview2
UI 컨νΈλ‘€κ³Ό κ°λ° νκ²½μ λ€μν κ°μ μ κ°μ Έμμ΅λλ€.
μ£Όμ UI 컨νΈλ‘€ κ°μ
-
ShadowTypeConverter: μ΄μ VisualElementμ κ·Έλ¦Όμ ν¨κ³Όλ₯Ό μ½κ² μ μ©ν μ μμ΅λλ€.
Shadow="μμ X Y"λλShadow="X Y λ°κ²½ μμ ν¬λͺ λ"μ κ°μ νμμΌλ‘ κ°νΈνκ² μ€μ ν μ μμ΅λλ€. -
Text-to-Speech: SpeechOptionsμ Rate μμ±μ μ΄μ©ν΄ μμ± μλλ₯Ό μ‘°μ ν μ μμ΅λλ€.
-
Popover μ€νμΌ λͺ¨λ¬: iOS λ° Mac Catalystμμ λͺ¨λ¬ νμ΄μ§λ₯Ό νμ€λ²(Popover) μ€νμΌλ‘ νμνλ κΈ°λ₯μ΄ μΆκ°λμμ΅λλ€.
-
μλ‘μ΄ μμ μμ±:
-
Switch 컨νΈλ‘€μ κΊΌμ§ μν μμμ μ§μ νλ OffColor μμ±μ΄ μΆκ°λμμ΅λλ€.
-
SearchBarμ κ²μ μμ΄μ½ μμμ λ³κ²½νλ SearchIconColor μμ±μ΄ μΆκ°λμμ΅λλ€.
-
κ°λ° λ° κΈ°ν κ°μ μ¬ν
-
HybridWebView: InvokeJavascriptAsync λ©μλκ° κ³΅κ°λμ΄ μΈμλ₯Ό μ¬μ©νμ§ μκ³ λ μλ°μ€ν¬λ¦½νΈλ₯Ό νΈμΆν μ μμ΅λλ€.
-
μ¬μ© μ€λ¨(Deprecations):
-
FontImageExtensionμ μ¬μ© μ€λ¨λμμΌλ©°, λμ FontImageSourceλ₯Ό μ¬μ©ν΄μΌ ν©λλ€.
-
MessagingCenterλ λ΄λΆμ©μΌλ‘ λ³κ²½λμκ³ , WeakReferenceMessengerλ‘ λ체ν μ μμ΅λλ€.
-
preview3
API λ° κΈ°λ₯ λ³κ²½:
-
ListView,Cell,TableViewκ° ν₯ν 릴리μ€μμ μ κ±°λ μμ μ λλ€. -
Androidμμ
WebViewμ μ 체 νλ©΄ λΉλμ€ μ¬μμ΄ κ°λ₯ν΄μ‘μ΅λλ€. -
μμΉ μ 보λ₯Ό μμ²νμ§ μκ³ λ κΈ°κΈ°μ μμΉ μλΉμ€ νμ±ν μ¬λΆλ₯Ό νμΈν μ μλ
Geolocation.IsEnabledκ° μΆκ°λμμ΅λλ€. -
WebAuthenticatorμCancellationTokenμ μ λ¬νμ¬ μΈμ¦μ μ·¨μν μ μμ΅λλ€.
μ±λ₯ κ°μ :
-
PropertyMapperμ μλ‘μ΄ μΊμκ° κ΅¬νλμ΄ μ±λ₯μ΄ ν¬κ² ν₯μλμμ΅λλ€.BenchmarkUpdatePropertiesμ νκ· μκ°μ΄ 64.8% κ°μνμ΅λλ€(167.67ms β 59.04ms). -
iOSμμ
CollectionViewμ μ±λ₯μ΄ κ°μ λμμ΅λλ€. -
Windowsμμ
Labelμ΄FormattedStringμ λ λλ§νλ μλκ° μ½ 56% λΉ¨λΌμ‘μ΅λλ€.
νλ«νΌλ³ μ λ°μ΄νΈ:
-
.NET for Android: νμ§, λΉλ μ±λ₯, λ°νμ κ°μ μ μ€μ μ λμμ΅λλ€.
-
.NET for iOS, Mac Catalyst, macOS, tvOS: Xcode 16.3 Release Candidateλ₯Ό μ§μνλ©°, νμ§ κ°μ μ μ€μ μ λμμ΅λλ€.
preview4
μ£Όμ μ λ°μ΄νΈ
-
MediaPicker νλν: Androidμ iOSμμ μ΅μ νλ«νΌ APIλ₯Ό μ¬μ©νμ¬ μ¬μ§ μ ν λ° μ΄¬μ κΈ°λ₯μ μ λ°μ΄νΈνμ¬ μ΅μ μ¬μ©μ κ²½νμ μ 곡ν©λλ€.
-
Picker Nullable μ§μ:
DatePickerμDate,MinimumDate,MaximumDateμμ±κ³ΌTimerPickerμTimeμμ±μNullableμ§μμ΄ μΆκ°λμμ΅λλ€.
μ±λ₯ λ° λΉλ κ°μ
-
.apk μμ± λ°©μ λ³κ²½:
.apkλ°.aabνμΌ μμ± μSystem.IO.Compression.ZipArchiveλ₯Ό μ¬μ©νλλ‘ λ³κ²½νμ¬ λΉλ μκ°μ λ¨μΆνμ΅λλ€. λ¨, Visual Studio λ΄μμμ λΉλλ κΈ°μ‘΄ λ°©μμ μ μ§ν©λλ€. -
λ€μ΄λ‘λ μ©λ κ°μ:
Mono.Android.dllνμΌμ μ€λ³΅μ μ κ±°νμ¬ Android μν¬λ‘λμ λ€μ΄λ‘λ ν¬κΈ°λ₯Ό μ½ 100MB μ€μμ΅λλ€.
μλ €μ§ λ¬Έμ
- Visual Studioμμ λΉλ μ
RoslynCompilerTypeμμ±μ<RoslynCompilerType>FrameworkPackage</RoslynCompilerType>λ‘ μ€μ ν΄μΌ ν μ μμ΅λλ€.
νλ«νΌλ³ μ λ°μ΄νΈ
-
.NET for Android:
.apkμμ± λ°©μμ λ³κ²½νκ³ λ€μ΄λ‘λ μ©λμ μ€μ΄λ λ± νμ§ κ°μ μ μ΄μ μ λ§μ·μ΅λλ€. -
.NET for iOS, Mac Catalyst, macOS, tvOS: μ λ°μ μΈ νμ§ κ°μ μ μ€μ μ λ 릴리μ€μ λλ€.
preview5
XAML κ°μ μ¬ν
-
κΈλ‘λ² λ€μμ€νμ΄μ€: μ΄μ μ¬λ¬ XML λ€μμ€νμ΄μ€λ₯Ό
http://schemas.microsoft.com/dotnet/maui/globalμ΄λΌλ μλ‘μ΄ κΈλ‘λ² λ€μμ€νμ΄μ€λ‘ λ¬Άμ μ μμ΅λλ€. μ΄λ κ² νλ©΄[assembly: XmlnsDefinition]μμ±μ μ¬μ©νμ¬ λ³λμ μ λμ¬ μμ΄ ν΄λΉ λ€μμ€νμ΄μ€μ μμλ₯Ό λ°λ‘ μ¬μ©ν μ μμ΅λλ€. -
μμμ λ€μμ€νμ΄μ€: νλ‘μ νΈ νμΌμ νΉμ μμ±μ μΆκ°νλ©΄ XAML νμΌμμ
xmlnsλ°xmlns:xμ μΈμ μλ΅ν μ μμ΅λλ€. μ΄ κ²½μ°, κΈ°λ³Έxmlnsλ κΈλ‘λ² λ€μμ€νμ΄μ€κ° λλ©°x:μ λμ¬λ μλμΌλ‘ μΆκ°λ©λλ€. μ΄ κΈ°λ₯μ νμ¬ μ€νμ λ¨κ³μ΄λ―λ‘ XAML λꡬμμ μ€λ₯κ° λ°μν μ μμ΅λλ€.
κΈ°λ₯ νμ₯
- μΉ μμ² κ°λ‘μ±κΈ°:
HybridWebViewμWebResourceRequestedμ΄λ²€νΈκ° μΆκ°λμ΄ λΈλΌμ°μ κ° μΉ λ¦¬μμ€λ₯Ό μμ²νκΈ° μ μ ν΄λΉ μμ²μ κ°λ‘μ±κ³ μμ ν μ μμ΅λλ€. μλ₯Ό λ€μ΄, μμ² ν€λλ₯Ό μΆκ°νκ±°λ μμ²μ λν μλ΅μ μ§μ μ 곡ν μ μμ΅λλ€.
νλ«νΌλ³ μ λ°μ΄νΈ
- .NET for Android, iOS, Mac Catalyst, macOS, tvOS: μ΄λ² 릴리μ€λ κ° νλ«νΌμ μ λ°μ μΈ νμ§ κ°μ μ μ΄μ μ λ§μ·μ΅λλ€. μμΈν λ΄μ©μ κ΄λ ¨ GitHub λ¦΄λ¦¬μ€ νμ΄μ§μμ νμΈν μ μμ΅λλ€.
preview6
MediaPickerμ WebViewμ κΈ°λ₯ κ°μ , λ€μν 컨νΈλ‘€ λ° λ μ΄μμ μμ , κ·Έλ¦¬κ³ νλ«νΌλ³ μ
λ°μ΄νΈλ₯Ό ν¬ν¨ν©λλ€.
μ£Όμ κΈ°λ₯ ν₯μ
-
MediaPicker: μ¬λ¬ νμΌμ μ ννκ³
MaximumWidthλ°MaximumHeightλ§€κ°λ³μλ₯Ό μ¬μ©νμ¬ APIμμ μ§μ μ΄λ―Έμ§λ₯Ό μμΆν μ μμ΅λλ€. -
WebView μμ² κ°λ‘μ±κΈ°:
BlazorWebViewλ° **HybridWebView**μμ μΉ μμ²μ κ°λ‘μ±κ³ μλ΅ν μ μμ΄ ν€λ μμ μ΄λ λ‘컬 μλ΅ μ 곡 κ°μ μλ리μ€λ₯Ό ꡬνν μ μμ΅λλ€.
컨νΈλ‘€ λ° λ μ΄μμ κ°μ
-
CollectionView,CarouselView,SearchBarκ° νλ«νΌ μ λ°μμ μμ μ μΌλ‘ μλνλλ‘ κ°μ λμμ΅λλ€. -
iOSμμ **
CarouselViewHandler2**μ λ©λͺ¨λ¦¬ λμ λ¬Έμ κ° ν΄κ²°λμμ΅λλ€. -
Switch컨νΈλ‘€μ κΈ°λ³Έ μμ μ€μ μ΄ ν₯μλμμ΅λλ€. -
Windows, Android, iOSμμ λ λλ§, μ μ€μ² λ° μ κ·Όμ± κ΄λ ¨ λ²κ·Έκ° μμ λμμ΅λλ€.
νλ«νΌλ³ μ λ°μ΄νΈ
-
.NET for Android: Android API λ 벨 35 λ° 36μ μ§μνλ©°, JNI μνΈ μ΄μ©μ± κ°μ , λ°μ΄λ리 ν¬κΈ° κ°μ, μ§λ¨ λ° νλ‘νμΌλ§ κΈ°λ₯ ν₯μμ ν¬ν¨ν©λλ€.
-
.NET for iOS, Mac Catalyst, macOS, tvOS: Xcode 16.4μ μ°λλ Apple νλ«νΌ SDK μ λ°μ΄νΈλ₯Ό ν¬ν¨νλ©°, λ°μΈλ© μμ±, λΉλ μμ μ±, λ°νμ λμμ΄ κ°μ λμμ΅λλ€.
preview7
XAML μμ€ μμ±κΈ° λμ
, MediaPicker λ° SafeArea κΈ°λ₯ ν₯μ, iOS/macOS ν΄λ° κ°μ λ± λ€μν μ
λ°μ΄νΈλ₯Ό ν¬ν¨ν©λλ€.
μ£Όμ κΈ°λ₯
-
XAML μμ€ μμ±κΈ°: μ»΄νμΌ μ XAML νμΌμ μ½λλ₯Ό μμ±νμ¬ λΉλ μ±λ₯μ λμ΄κ³ IntelliSenseλ₯Ό κ°μ ν©λλ€. **
EnablePreviewFeatures**λ₯Ό νμ±ννκ³[XamlProcessing]μ§μλ¬Έμ μ¬μ©ν΄ μ΄ κΈ°λ₯μ νμ±νν μ μμ΅λλ€. -
MediaPicker EXIF μ§μ: μ΄λ―Έμ§μ EXIF μ 보λ₯Ό μλμΌλ‘ μ²λ¦¬νμ¬, μ΄λ―Έμ§ λ°©ν₯μ μ¬λ°λ₯΄κ² νμνκ³ μλ³Έ λ©νλ°μ΄ν°λ₯Ό 보쑴ν©λλ€.
-
SafeArea κ°μ :
SafeAreaEdgesμμ±μ΄ κ°μ λμ΄SafeAreaRegionsμ΄κ±°νμ ν΅ν΄ λ ΈμΉλ ν€λ³΄λμ κ°μ μμμ λν ν¨λ©μ μΈλ°νκ² μ μ΄ν μ μμ΅λλ€. -
보쑰 ν΄λ° νλͺ©: iOS λ° macOSμμ **
Order="Secondary"**λ‘ μ€μ λ ν΄λ° νλͺ©μ΄ μλμΌλ‘ μ€λ²νλ‘ λ©λ΄μ κ·Έλ£Ήνλμ΄ νλ«νΌ κ΄νμ λ μ λ§κ² λ©λλ€.
μλ‘μ΄ API λ° μ»¨νΈλ‘€ κ°μ
-
μλ‘μ΄ API: νλ‘κ·Έλλ° λ°©μμΌλ‘
Picker컨νΈλ‘€μ μ΄κ³ λ«κ±°λ,SearchHandlerμμ μννΈ ν€λ³΄λλ₯Ό μ μ΄νκ³ ,Vibrationλ°HapticFeedbackμ§μ μ¬λΆλ₯Ό νμΈν μ μλ APIκ° μΆκ°λμμ΅λλ€. -
API μ κ±°: .NET 10μ μΌνμΌλ‘
Accelerator,ClickGestureRecognizerλ± μΌλΆ μ¬μ©λμ§ μλ APIκ° μ κ±°λμμ΅λλ€.
νλ«νΌλ³ μ λ°μ΄νΈ
-
.NET for Android: λ€μν λ°νμκ³Όμ ν΅ν©μ μ§μνλ©° νκ²½ λ³μ, NuGet ν¨ν€μ§ λ¬Έμ λ± μ¬λ¬ λ²κ·Έκ° μμ λμμ΅λλ€.
-
.NET for iOS, Mac Catalyst, macOS, tvOS: Xcode 26 λ² ν 4λ₯Ό μ§μνλ©°, **μλ‘μ΄ λ°μΈλ© μμ±κΈ°(RGen)**λ₯Ό ν΅ν΄ λ°μΈλ© μ±λ₯, λ°νμ λμ λ° λ©λͺ¨λ¦¬ κ΄λ¦¬κ° κ°μ λμμ΅λλ€. λ¨, iOS 26μμ
Shellλ λλ§μ λ¬Έμ κ° μμ΅λλ€.
RC1
μ΄ .NET MAUI 미리보기 릴리μ€λ μ§λ¨ κΈ°λ₯, HybridWebView μ΄λ²€νΈ μΆκ°, κ·Έλ¦¬κ³ Androidμ μ€νμ μΈ CoreCLR λ°νμ μ§μμ μ€μ μ λ‘λλ€.
μ£Όμ MAUI κ°μ μ¬ν
-
μ§λ¨ κΈ°λ₯:
ActivitySourceλ° **Metrics**λ₯Ό ν΅ν΄ μ’ ν©μ μΈ μ§λ¨ λ° λ©νΈλ¦ μΆμ μ΄ μΆκ°λμμ΅λλ€. νΉν λ μ΄μμ μ±λ₯ λͺ¨λν°λ§(maui.layout.measure_duration,maui.layout.arrange_durationλ±)μ΄ κ°νλμμ΅λλ€. -
HybridWebView μ΄λ²€νΈ:
BlazorWebViewμ λμΌν ν¨ν΄μΌλ‘ **WebViewInitializing**κ³ΌWebViewInitializedμ΄λ²€νΈκ° μΆκ°λμ΄, λ€μ΄ν°λΈ WebView μΈμ€ν΄μ€λ₯Ό μ΄κΈ°ν μ νμ ꡬμ±ν μ μμ΅λλ€. -
RefreshView μμ±:
IsRefreshEnabledμμ±μ΄ μΆκ°λμ΄IsEnabledμ λ 립μ μΌλ‘ λΉκ²¨μ μλ‘κ³ μΉ¨ κΈ°λ₯ νμ±ν μ¬λΆλ₯Ό μ μ΄ν μ μμ΅λλ€. -
μ¬μ© μ€λ¨ API: μμΆλ λ μ΄μμ APIμ μ±λ₯ κ΄λ ¨ νμ (
Performance,IPerformanceProvider)μ΄ μ¬μ© μ€λ¨ μ²λ¦¬λμμ΅λλ€.
νλ«νΌλ³ μ λ°μ΄νΈ
-
.NET for Android (μ€νμ ): Android μ ν리μΌμ΄μ μ΄ CoreCLR λ°νμμμ μ€νλ μ μλλ‘ μ€νμ μ§μμ΄ μΆκ°λμμ΅λλ€.
<UseMonoRuntime>false</UseMonoRuntime>μ€μ μ ν΅ν΄ μλν΄ λ³Ό μ μμΌλ©°, νμ¬λ λλ²κΉ λ° μ± ν¬κΈ° λ±μ μ μ½ μ¬νμ΄ μμ΅λλ€. -
.NET for iOS, Mac Catalyst, macOS, tvOS: νμ§ κ°μ μ μ΄μ μ λ§μΆμμ΅λλ€.
RC2
.NET 10 RC 2 β MAUI μ£Όμ κΈ°λ₯ μμ½
- λ§μ΄ν¬ κΆν : Windowsμμ Permissions.RequestAsync()λ‘ λ§μ΄ν¬ μ κ·Ό νμ©/νμΈ κ°λ₯
- SafeAreaEdges : Android μ§μ μΆκ°, ν€λ³΄λμ μμ μμμ κ³ λ €ν μ½ν μΈ λ°°μΉ κ°λ₯
- XAML μμ€ μμ±κΈ° : λΉλ μ κ°λ ₯ν νμ μ½λ μμ±, λλ²κ·Έ λ·° μΈνλ μ΄μ κ°μ
- Android API 36.1 : μ΅μ API λ°μΈλ© μ 곡, OS λ²μ μ²΄ν¬ ν μ¬μ© κ°λ₯
- CoreCLR(Android μ€ν) : Mono λμ CoreCLR μ€ν μ§μ, μ± ν¬κΈ° μ¦κ° λ° λλ²κΉ μ ν μμ
- iOS/macOS/Xcode 26 : Xcode 26 λ°μΈλ© μ λ°μ΄νΈ, .NET 9Β·10 RC2 νκ² μ§μ
- νλ«νΌ μμ ν : Android, iOS, macOS μ λ° λΉλΒ·λ°νμ μ±λ₯ ν₯μ λ° λ²κ·Έ μμ