https://github.com/dpvreony/vetuviem

Vetuvium is a code generation toolkit to support ReactiveUI View to View Model binding (MVVM -> V2VM -> Ve-Tu-Viem)

https://github.com/dpvreony/vetuviem

Science Score: 26.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Committers with academic emails
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (8.9%) to scientific vocabulary

Keywords

mvvm reactiveui roslyn-generator viewbinding viewmodel

Keywords from Contributors

labels
Last synced: 4 months ago · JSON representation

Repository

Vetuvium is a code generation toolkit to support ReactiveUI View to View Model binding (MVVM -> V2VM -> Ve-Tu-Viem)

Basic Info
  • Host: GitHub
  • Owner: dpvreony
  • License: mit
  • Language: C#
  • Default Branch: main
  • Homepage:
  • Size: 1.33 MB
Statistics
  • Stars: 6
  • Watchers: 2
  • Forks: 0
  • Open Issues: 13
  • Releases: 24
Topics
mvvm reactiveui roslyn-generator viewbinding viewmodel
Created almost 5 years ago · Last pushed 5 months ago
Metadata Files
Readme License Code of conduct

README.md

Vetuviem

Vetuvium is a toolkit to support View to View Model binding (MVVM -> V2VM -> Ve-Tu-Viem) aimed at offering a structure to get more re-usability out of ReactiveUI.

Mission Statement

  • To give a mechanism to reduce the amount of boiler plate code being produced, by allowing some of the ReactiveUI specific logic to be hidden away
  • Allow the developer to think along the lines of standard behaviours for controls by offering a way to produce re-usable behaviours through a class and\or function design pattern
  • Allow the developer to focus on what matters on the ViewModel
  • Reduce the cognitive load by
    • Removing the risk of misusing 1 way or 2 way binding
    • Remove the need for the user to think about having to cater for Bind vs BindCommand
  • Offer a structure that allows for more work to be done potentially with Source Generators to reduce reflection and improve the build time developer experience.

Current Status

This is currently a proof of concept alpha. For understanding of the design reasoning please see https://www.dpvreony.com/articles/designing-vetuviem/

Nuget Packages

| Purpose | Package | NuGet | |---------|-------|------| | Command Line Generation | Coming soon | Coming Soon | Visual Studio Integration | Vetuviem.SourceGenerator | VetuviemSourceGeneratorBadge | | Core Functionality | Vetuviem.Core | VetuviemCoreBadge |

An example

Currently to write binding logic in the codebehind you have to write something similar to this for a single control

TODO

But what if you have a way to simplify logic and offer a way to even make it reusable without all the boilerplate leg work?

TODO

Sponsorship

TODO

Support

TODO

Contribute

TODO

Owner

  • Name: David Vreony
  • Login: dpvreony
  • Kind: user
  • Location: UK

.NET Developer \ Analyst \ Architect with experience in Developer Experience, Financial Services and Healthcare domains

GitHub Events

Total
  • Create event: 83
  • Issues event: 3
  • Release event: 5
  • Watch event: 3
  • Delete event: 68
  • Issue comment event: 22
  • Push event: 214
  • Pull request review event: 40
  • Pull request event: 143
Last Year
  • Create event: 83
  • Issues event: 3
  • Release event: 5
  • Watch event: 3
  • Delete event: 68
  • Issue comment event: 22
  • Push event: 214
  • Pull request review event: 40
  • Pull request event: 143

Committers

Last synced: 5 months ago

All Time
  • Total Commits: 552
  • Total Committers: 4
  • Avg Commits per committer: 138.0
  • Development Distribution Score (DDS): 0.511
Past Year
  • Commits: 90
  • Committers: 2
  • Avg Commits per committer: 45.0
  • Development Distribution Score (DDS): 0.144
Top Committers
Name Email Commits
renovate[bot] 2****]@u****m 270
dependabot[bot] 4****]@u****m 147
David Vreony d****y@u****m 134
imgbot[bot] 3****]@u****m 1

Issues and Pull Requests

Last synced: 5 months ago

All Time
  • Total issues: 42
  • Total pull requests: 245
  • Average time to close issues: about 2 months
  • Average time to close pull requests: 4 days
  • Total issue authors: 2
  • Total pull request authors: 4
  • Average comments per issue: 0.12
  • Average comments per pull request: 0.08
  • Merged pull requests: 203
  • Bot issues: 1
  • Bot pull requests: 207
Past Year
  • Issues: 2
  • Pull requests: 91
  • Average time to close issues: N/A
  • Average time to close pull requests: 9 days
  • Issue authors: 1
  • Pull request authors: 2
  • Average comments per issue: 0.0
  • Average comments per pull request: 0.18
  • Merged pull requests: 63
  • Bot issues: 0
  • Bot pull requests: 81
Top Authors
Issue Authors
  • dpvreony (41)
  • renovate[bot] (1)
Pull Request Authors
  • renovate[bot] (155)
  • dependabot[bot] (51)
  • dpvreony (38)
  • imgbot[bot] (1)
Top Labels
Issue Labels
bug (2)
Pull Request Labels
dependencies (142) release (16)

Packages

  • Total packages: 9
  • Total downloads:
    • nuget 87,672 total
  • Total dependent packages: 0
    (may contain duplicates)
  • Total dependent repositories: 0
    (may contain duplicates)
  • Total versions: 162
  • Total maintainers: 1
nuget.org: vetuviem.core

Vetuviem is a Roslyn source generation toolkit for View to ViewModel binding in ReactiveUI to aid in re-usuable binding logic.

  • License: MIT
  • Latest release: 0.11.14
    published 6 months ago
  • Versions: 24
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Downloads: 22,516 Total
Rankings
Dependent repos count: 13.8%
Dependent packages count: 18.8%
Average: 20.1%
Downloads: 27.5%
Maintainers (1)
Last synced: 5 months ago
nuget.org: vetuviem.sourcegenerator

Vetuviem is a Roslyn source generation toolkit for View to ViewModel binding in ReactiveUI to aid in re-usuable binding logic.

  • License: MIT
  • Latest release: 0.11.14
    published 6 months ago
  • Versions: 24
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Downloads: 8,684 Total
Rankings
Dependent repos count: 13.8%
Dependent packages count: 18.8%
Average: 20.4%
Downloads: 28.6%
Maintainers (1)
Last synced: 5 months ago
nuget.org: vetuviem.console

Vetuviem is a Roslyn source generation toolkit for View to ViewModel binding in ReactiveUI to aid in re-usuable binding logic.

  • License: MIT
  • Latest release: 0.9.244
    published about 2 years ago
  • Versions: 6
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Downloads: 2,264 Total
Rankings
Dependent repos count: 13.8%
Dependent packages count: 18.8%
Average: 22.9%
Downloads: 36.2%
Maintainers (1)
Last synced: 4 months ago
nuget.org: vetuviem.wpf.sourcegenerator

Vetuviem is a Roslyn source generation toolkit for View to ViewModel binding in ReactiveUI to aid in re-usuable binding logic.

  • License: MIT
  • Latest release: 0.11.14
    published 6 months ago
  • Versions: 18
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Downloads: 11,024 Total
Rankings
Dependent repos count: 7.7%
Dependent packages count: 20.7%
Average: 28.5%
Downloads: 57.1%
Maintainers (1)
Last synced: 5 months ago
nuget.org: vetuviem.winforms.sourcegenerator

Vetuviem is a Roslyn source generation toolkit for View to ViewModel binding in ReactiveUI to aid in re-usuable binding logic.

  • License: MIT
  • Latest release: 0.11.14
    published 6 months ago
  • Versions: 18
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Downloads: 2,165 Total
Rankings
Dependent repos count: 7.7%
Dependent packages count: 20.7%
Average: 28.5%
Downloads: 57.1%
Maintainers (1)
Last synced: 5 months ago
nuget.org: vetuviem.blazor.sourcegenerator

Vetuviem is a Roslyn source generation toolkit for View to ViewModel binding in ReactiveUI to aid in re-usuable binding logic.

  • License: MIT
  • Latest release: 0.11.14
    published 6 months ago
  • Versions: 18
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Downloads: 11,221 Total
Rankings
Dependent repos count: 7.7%
Dependent packages count: 20.7%
Average: 28.5%
Downloads: 57.1%
Maintainers (1)
Last synced: 5 months ago
nuget.org: vetuviem.avalonia.sourcegenerator

Vetuviem is a Roslyn source generation toolkit for View to ViewModel binding in ReactiveUI to aid in re-usuable binding logic.

  • License: MIT
  • Latest release: 0.11.14
    published 6 months ago
  • Versions: 18
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Downloads: 7,780 Total
Rankings
Dependent repos count: 7.7%
Dependent packages count: 20.7%
Average: 28.5%
Downloads: 57.1%
Maintainers (1)
Last synced: 5 months ago
nuget.org: vetuviem.winui.sourcegenerator

Vetuviem is a Roslyn source generation toolkit for View to ViewModel binding in ReactiveUI to aid in re-usuable binding logic.

  • License: MIT
  • Latest release: 0.11.14
    published 6 months ago
  • Versions: 18
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Downloads: 10,994 Total
Rankings
Dependent repos count: 7.7%
Dependent packages count: 20.7%
Average: 28.5%
Downloads: 57.1%
Maintainers (1)
Last synced: 5 months ago
nuget.org: vetuviem.maui.sourcegenerator

Vetuviem is a Roslyn source generation toolkit for View to ViewModel binding in ReactiveUI to aid in re-usuable binding logic.

  • License: MIT
  • Latest release: 0.11.14
    published 6 months ago
  • Versions: 18
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Downloads: 11,024 Total
Rankings
Dependent repos count: 7.7%
Dependent packages count: 20.7%
Average: 28.5%
Downloads: 57.1%
Maintainers (1)
Last synced: 5 months ago

Dependencies

.github/workflows/codeql-analysis.yml actions
  • actions/checkout v3 composite
  • actions/setup-dotnet v3 composite
  • github/codeql-action/analyze v2 composite
  • github/codeql-action/init v2 composite
  • glennawatson/setup-msbuild v1.0.3 composite
src/ReactiveUI.Blazor.ViewToViewModelBindings/ReactiveUI.Blazor.ViewToViewModelBindings.csproj nuget
  • Microsoft.AspNetCore.Components.Web 7.0.2
  • ReactiveUI.Blazor 18.4.1
src/ReactiveUI.VetuviemSample.BlazorApp/ReactiveUI.VetuviemSample.BlazorApp.csproj nuget
  • Microsoft.AspNetCore.Components.WebAssembly 7.0.2
  • Microsoft.AspNetCore.Components.WebAssembly.DevServer 7.0.2
  • Microsoft.CodeAnalysis.CSharp 4.4.0
  • System.Net.Http.Json 7.0.0
src/ReactiveUI.WPF.SampleApp/ReactiveUI.WPF.SampleApp.csproj nuget
  • ReactiveUI.WPF 18.4.1
src/ReactiveUI.WPF.ViewToViewModelBindings/ReactiveUI.WPF.ViewToViewModelBindings.csproj nuget
  • ReactiveUI.WPF 18.4.1
src/ReactiveUI.WinUI3.VetuviemGenerator/ReactiveUI.WinUI3.VetuviemGenerator.csproj nuget
  • Microsoft.ProjectReunion.WinUI 0.8.12
src/ReactiveUI.WinUI3.ViewToViewModelBindings/ReactiveUI.WinUI3.ViewToViewModelBindings.csproj nuget
  • Microsoft.ProjectReunion 0.8.12
  • Microsoft.ProjectReunion.Foundation 0.8.12
  • Microsoft.ProjectReunion.WinUI 0.8.12
src/Vetuviem.Core/Vetuviem.Core.csproj nuget
  • ReactiveUI 18.4.1
src/Vetuviem.SourceGenerator/Vetuviem.SourceGenerator.csproj nuget
  • Microsoft.CodeAnalysis.CSharp 4.4.0
src/Vetuviem.Testing/Vetuviem.Testing.csproj nuget
  • Foundatio.Xunit 10.6.0
  • Microsoft.CodeAnalysis.CSharp 4.4.0
  • Microsoft.CodeAnalysis.Common 4.4.0
  • Moq 4.18.4
  • NetTestRegimentation 1.5.3
  • xunit.assert 2.4.2
.github/workflows/ci.yml actions
  • actions/checkout 8ade135a41bc03ea155e62e844d188df1ea18608 composite
  • actions/create-release v1 composite
  • actions/download-artifact v3 composite
  • actions/setup-dotnet v3 composite
  • actions/upload-artifact v3 composite
  • dotnet/nbgv master composite
  • glennawatson/ChangeLog v1 composite
  • microsoft/setup-msbuild v1.3.1 composite
src/ReactiveUI.Blazor.VetuviemGenerator/ReactiveUI.Blazor.VetuviemGenerator.csproj nuget
src/ReactiveUI.Maui.VetuviemGenerator/ReactiveUI.Maui.VetuviemGenerator.csproj nuget
src/ReactiveUI.Maui.ViewToViewModelBindings/ReactiveUI.Maui.ViewToViewModelBindings.csproj nuget
src/ReactiveUI.UWP.VetuviemGenerator/ReactiveUI.UWP.VetuviemGenerator.csproj nuget
src/ReactiveUI.UWP.ViewToViewModelBindings/ReactiveUI.UWP.ViewToViewModelBindings.csproj nuget
src/ReactiveUI.VetuviemSample.UwpApp/ReactiveUI.VetuviemSample.UwpApp.csproj nuget
src/ReactiveUI.VetuviemSample.XamDroidApp/ReactiveUI.VetuviemSample.XamDroidApp.csproj nuget
src/ReactiveUI.WPF.VetuViemGenerator/ReactiveUI.WPF.VetuViemGenerator.csproj nuget
src/ReactiveUI.Winforms.VetuviemGenerator/ReactiveUI.Winforms.VetuviemGenerator.csproj nuget
src/ReactiveUI.Winforms.ViewToViewModelBindings/ReactiveUI.Winforms.ViewToViewModelBindings.csproj nuget
src/ReactiveUI.XamForms.VetuViemGenerator/ReactiveUI.XamForms.VetuViemGenerator.csproj nuget
src/ReactiveUI.XamForms.ViewToViewModelBindings/ReactiveUI.XamForms.ViewToViewModelBindings.csproj nuget
src/Vetuviem.Benchmarks/Vetuviem.Benchmarks.csproj nuget
src/Vetuviem.Console/Vetuviem.Console.csproj nuget
src/Vetuviem.IntegrationTests/Vetuviem.IntegrationTests.csproj nuget
src/Vetuviem.UnitTests/Vetuviem.UnitTests.csproj nuget