question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

[Spec] Naming updates

See original GitHub issue

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

Issue Analytics

  • State:closed
  • Created 3 years ago
  • Reactions:17
  • Comments:59 (36 by maintainers)

github_iconTop GitHub Comments

20reactions
domagojmedocommented, Feb 4, 2021

I Like System.Maui more. Something about namespace starting with System gives me more confidence in it, makes it sound like it’s mature and here to stay 🙂

19reactions
dotMortencommented, Feb 5, 2021

I don’t like Maui in the root namespace and it goes against naming guidelines. I’d suggest Microsoft.Maui. Also don’t like Xamarin.Forms is not being renamed even if it is considered legacy.

Read more comments on GitHub >

github_iconTop Results From Across the Web

Updating the spec naming convention · 1ed5fe0440
-36,7 +36,8 @@ Some notes about using this template: * The filename in the git repository should include the StoryBoard number and name,....
Read more >
Semantic Versioning 2.0.0 | Semantic Versioning
In systems with many dependencies, releasing new package versions can quickly become a nightmare. If the dependency specifications are too tight, you are...
Read more >
The value of an updated specification
It depends. Keeping the spec updated during development has a lot of benefits, including: implementers, usability testers, QE, doc, ...
Read more >
About the Naming Service Specification Version 1.3
The Naming Service provides the principal mechanism through which most clients of an ORB-based system locate objects that they intend to use (make...
Read more >
Icon Naming Specification
This specification aims to solve this problem, by laying out a standard naming scheme for icon creation, as well as providing a minimal...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found