Skip to content

[Spec] Naming updates #334

Closed
Closed

Description

Naming Updates

Current Name Old Repository Location New Name(space) New Repository Location Package Names
Xamarin.Forms src/Forms/src/ Microsoft.Maui.Controls src/Controls/src/ Microsoft.Maui.Controls
Xamarin.Forms (test) src/Forms/test/ Microsoft.Maui.Controls src/Controls/test/ N/A
Xamarin.Forms.Maps src/Controls/Maps/src Microsoft.Maui.Controls.Maps src/Controls/Maps/src Microsoft.Maui.Controls.Maps
Xamarin.Forms.DualScreen src/Controls/DualScreen Microsoft.Maui.Controls.DualScreen src/Controls/DualScreen Microsoft.Maui.Controls.DualScreen
Xamarin.Essentials src/Essentials Microsoft.Maui.Essentials src/Essentials Microsoft.Maui.Essentials
Xamarin.Platform.Handlers src/Platform.Handlers Microsoft.Maui src/Maui Microsoft.Maui
Xamarin.Forms.Platform.* src/Platform.Renderers Microsoft.Maui.Controls.Compatibility.* src/Compatibility/Renderers Microsoft.Maui.Controls.Compatibility
Xamarin.Forms.Material (old) src/Controls/Material Microsoft.Maui.Controls.Compatibility.Material src/Compatibility/Material Microsoft.Maui.Controls.Compatibility.Material
Xamarin.Forms.Material (new) src/Controls/Visual Microsoft.Maui.Graphics src/Graphics Microsoft.Maui.Graphics

Additional library clarifications

Xamarin.Forms

All libraries that are being brought forward (Maps/DualScreen/Xamarin.Forms) will just become Microsoft.Maui.Controls

Xamarin.Forms.Platform.(iOS/Android/etc..)

These will all move to a Microsoft.Maui.Controls.Compatibility and will be packaged into compatibility packages that are built against NET6. This will allow users to still use older style renderers if they have custom renderers. Legacy renderers will shim into the handler architecture with minimal changes

Xamarin.Forms.Material

The material libraries are going to be replaced with drawn controls so the current renderers using google sdks aren't going to be brought forward to Maui. The existing ones will be packaged into a Microsoft.Maui.Controls.Compatibility.Material package

The new Material will just be a set of handlers that can be used by other UI Frameworks and will have no dependency on Forms. Currently we are calling this library Microsoft.Maui.Graphics but that name is subject to change

Package Dependency Tree

  • Microsoft.Maui.Controls
    • Microsoft.Maui.Essentials
    • Microsoft.Maui
  • Microsoft.Maui.Controls.Maps
    • Microsoft.Maui.Controls
    • Microsoft.Maui
  • Microsoft.Maui.Controls.DualScreen
    • Microsoft.Maui.Controls
    • Microsoft.Maui
  • Microsoft.Maui.Essentials
    • Microsoft.Maui
  • Microsoft.Maui.Controls.Material
  • Microsoft.Maui.Controls.Compatibility
    • Microsoft.Maui
    • Microsoft.Maui.Essentials
  • Microsoft.Maui.Controls.Compatibility.Material
    - Microsoft.Maui.Controls
    - Microsoft.Maui
  • Microsoft.Maui
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions