Spike: evaluate Native AOT feasibility for the future Avalonia UI
Nobody has claimed this yet.
Assessment
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Newbie friendliness
- 52/100
- Issue type
- Feature
- Clarity
- Mostly clear
- Activity status
- Active
- Tech stack
- azure, csharp
- Domain
- desktop, performance
Research direction
Run dotnet publish -p:PublishAot=true or a trimming-only publish on the current projects, then inspect the Azure SDK, JSON serialization, DI, and Avalonia dependencies for incompatibilities. Compare cold-start time and binary size with a normal build, and record the findings in docs/native-aot-spike.md. Done means the report names blockers, links upstream issues where available, and gives a clear go/no-go recommendation.
Written by the indexing model from the issue text.
Description
Goal
Investigate whether the Domain/Application/Infrastructure layers (and later the Avalonia UI) can be published with .NET Native AOT, to make sure the finished app starts up fast and feels genuinely native — the main personal complaint about Storage Explorer being Electron-based (heavy, multi-process, slow to start).
Why
This is a research spike, not a feature: we want to know early if any dependency (Azure SDK, JSON serialization, DI container, Avalonia itself) blocks AOT/trimming, so we don't paint ourselves into a corner before the UI work starts.
Tasks
- Try
dotnet publish -p:PublishAot=true(or trimming-only if full AOT isn't yet supported by a dependency) on the current projects. - List any incompatible dependencies/APIs found (reflection-heavy serialization, dynamic proxies, etc.) and note possible workarounds or alternatives.
- Measure and record cold-start time and binary size of the AOT/trimmed build vs. a normal build, as a baseline to compare against later.
- Write up findings in
docs/native-aot-spike.md.
Acceptance Criteria
- A short written report exists with a clear go/no-go recommendation (or "not yet, revisit when X ships") for using Native AOT in this project.
- Any blocking dependency is explicitly named, with a link to its tracking issue upstream if one exists.
- Dominant language
- C#
- Stars
- 0
- Forks
- 0
- PR merge metrics
- No merged PRs in 30d
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from hunterlan/AzStorage
-
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
-
Difficulty 4/5 3-5 days Newbie friendliness 52/100
-
Difficulty 4/5 3-5 days Newbie friendliness 45/100
-
Difficulty 4/5 3-5 days Newbie friendliness 52/100
-
Difficulty 4/5 3-5 days Newbie friendliness 48/100
All issues in hunterlan/AzStorage
Similar issues
-
effort:S P3 refactor
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
nightscout/nocturne#1532 ·
-
core dependencies
Difficulty 1/5 Under an hour Newbie friendliness 80/100
-
documentation
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
-
C#/.NET Roslyn LSP Open
Difficulty 2/5 1-3 hours Newbie friendliness 70/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
DotNetNext/SqlSugar#1458 ·