Code Monkey home page Code Monkey logo

farrell23 / mvvm-framework Goto Github PK

View Code? Open in Web Editor NEW

This project forked from lecode-official/mvvm-framework

0.0 2.0 0.0 1.63 MB

The MVVM Framework is a compact and simple, yet powerful implementation of the MVVM pattern. It provides a strong model for managing the application lifecycle and the navigation. It is available in two flavors, one for WPF and one for the Windows universal app platform (UWP). They both have a similar API surface, which still acknowledges the differences between the platforms.

License: MIT License

PowerShell 0.07% C# 99.93%

mvvm-framework's Introduction

MVVM Framework

MVVM Framework Logo

The MVVM Framework is a compact and simple, yet powerful implementation of the MVVM pattern. It provides a strong model for managing the application lifecycle and the navigation. It was build on three important core principles:

  1. Decoupling operating system functionality from the application logic
  2. Asynchronous from top to bottom using the task awaitable pattern
  3. Playing nice with other frameworks

The MVVM framework decouples operation system functionality from the application logic by providing a powerful service system, which abstracts away any platform specific code from the application logic. Everything in the framework was build with the task awaitable pattern in mind, from application lifecycle management to navigation. The framework plays nice with all kinds of frameworks, for example the dependency injection mechanism build into the framework does not care what kind of inversion of control container you are using.

Right now the MVVM Framework is available in two flavors: one for WPF and one for the universal Windows app platform UWP. Both share a pretty similar API surface but are not the same. Both flavors look and feel very similar, but each of them acknowledges the differences between the platforms by providing APIs that are tailor-made for for each platform.

Acknowledgments

My special thanks goes out to Lukas Rögner who wrote a lot of the code and did a great deal of refactoring. Without him the project would not have happened.

Using the Project

The project is available on NuGet. You can find the WPF version here: https://www.nuget.org/packages/System.Windows.Mvvm.

PM> Install-Package System.Windows.Mvvm

The UWP version is available here: https://www.nuget.org/packages/Windows.Mvvm.

PM> Install-Package Windows.Mvvm 

If you want to you can download and manually build the solution. The project was built using Visual Studio 2015. Basically any version of Visual Studio 2015 will suffice, no extra plugins or tools are needed (except for the System.Windows.Mvvm.nuproj project, which needs the NuBuild Project System Visual Studio extension for building the NuGet package). Just clone the Git repository, open the solution in Visual Studio, and build the solution.

git clone https://github.com/lecode-official/mvvm-framework

The solution is split up into several light-weight projects, each of them containing a small portion of the functionality.

For more information, please refer to the Documentation.

Contributions

Currently we are not accepting any contributors, but if you want to help, we would greatly appreciate feedback and bug reports. To file a bug, please use GitHub's issue system. Alternatively, you can clone the repository and send us a pull request.

mvvm-framework's People

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.