Skip to content

[Proposal] Rename Microsoft.UI.Reactor to Microsoft.UI.Declarative #493

@ethanparker436

Description

@ethanparker436

Problem

The term Reactor may not immediately communicate the framework's purpose to developers encountering the project for the first time.

In the WinUI ecosystem, technologies are often identified by names that closely reflect their primary programming model or implementation approach. For example:

  • Repository: microsoft-ui-xaml
  • Namespace: Microsoft.UI.Xaml

A developer can immediately infer that the technology is centered around XAML.

By comparison, the name Reactor does not provide a similar level of clarity. A new developer evaluating the project may not understand what it offers without reading the documentation, whereas the framework's primary differentiator is that it provides a declarative, component-based way to build WinUI applications.

Since the project is still experimental and expected to evolve, this may be an opportunity to evaluate whether the current naming best supports discoverability and onboarding.

Proposed solution

Consider renaming the repository and namespace from Reactor to Declarative, emphasizing the framework's primary programming model.

Examples:

  • Repository: microsoft-ui-declarative
  • Namespace: Microsoft.UI.Declarative

This would align the naming more closely with the way WinUI technologies are commonly presented and make the framework's purpose more obvious to first-time users.

Alternatives considered

If a full project rename is considered too disruptive, an alternative option could be keeping the project name as Reactor while renaming only the namespace to Microsoft.UI.Declarative.

Additional context

The project README currently describes Reactor as:

"A declarative, component-based C# framework for building WinUI 3 desktop apps."

Because the declarative programming model is one of the project's primary differentiators, a name that directly reflects that characteristic may improve discoverability and reduce the amount of explanation required for new users.

The project is currently marked as experimental, which may make this the least disruptive stage at which to evaluate naming changes if they are considered beneficial.

Confirmation

  • I have searched existing issues and specs for prior discussion of this idea.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions