λ¦μ κ°μ΄ μμ§ μμ§λ§ μ λ¦¬κ° νμνλ€λ κ²μ λκΌμ΅λλ€.
ν리뷰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
λ λλ§μ λ¬Έμ κ° μμ΅λλ€.