Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add More Documentation around MVVM Basic Pattern #886

Closed
michael-hawker opened this issue Jul 25, 2017 · 10 comments
Closed

Add More Documentation around MVVM Basic Pattern #886

michael-hawker opened this issue Jul 25, 2017 · 10 comments
Assignees
Labels
Can Close Out Soon Work relating to this issue has been completed. Documentation Use when requesting new documentation, requesting a change to existing documentation (in the /docs d MVVM Basic Issues specifically related to generating a project with the MVVM Basic framework.
Milestone

Comments

@michael-hawker
Copy link

Ideally, the template/documentation should fill-in some back-end model objects and show how those hook to the existing View/ViewModel patterns in WTS.

There should also be additional info about how you have an over-arching application/command model so that things can be interconnected.

@mrlacey mrlacey added this to the 1.3 milestone Sep 1, 2017
@mrlacey
Copy link
Collaborator

mrlacey commented Sep 1, 2017

getting-started-endusers.md also needs other updates:

  • The pages sections need descriptions (could be copied from the templates.)
  • Need to add entries for the pages and features added since this was last updated.

@ralarcon ralarcon modified the milestones: 1.4, 1.3 Sep 4, 2017
@ralarcon ralarcon self-assigned this Oct 4, 2017
@ralarcon ralarcon added the in-progress The issue is currently being actively worked on. label Oct 4, 2017
@ralarcon
Copy link
Contributor

ralarcon commented Oct 4, 2017

Taking care of documentation update for Pages / Features.

We saw the MVVMBasic as a simplification of any existing frameworks so we understood the users were familiar with the pattern and its applicability to UWP apps.

@crutkas we need to plan to create the MVVMBasic documentation as a framework if we consider is worthy.

@mrlacey
Copy link
Collaborator

mrlacey commented Oct 4, 2017

I don't think we need to create a lot of documentation for MVVMBasic but needs something for people who need more information about how it compares to other options.

Just a few paragraphs should be enough.
Something like:

MVVM Basic is not a framework but provides the minimum functionality to create an app using the Model-View-ViewModel (MVVM) pattern.
Use it if you can't or don't want to use a 3rd party MVVM Framework.

MVVM Basic is not intended to be a fully features MVVM Framework and does not include some features that other frameworks do. ViewModel-first navigation, IOC, and messaging being the most obvious ones. If you want these features then choose a framework that supports them.

Projects created with MVVM Basic contain two important classes, Observable and RelayCommand.
Observable contains an implementation of the INotifyPropertyChanged interface and is used as a base class for all view models. This makes it easy to update bound properties on the View.
RelayCommand contains an implementation of the ICommand interface to make it easy to have the View call commands on the ViewModel, rather than handle UI events directly.

@ralarcon
Copy link
Contributor

ralarcon commented Oct 4, 2017

This could be part of the "more info" in the wizard and can be included in the getting started. @michael-hawker does this make sense?

@mrlacey
Copy link
Collaborator

mrlacey commented Oct 4, 2017

Ideally, the template/documentation should fill-in some back-end model objects and show how those hook to the existing View/ViewModel patterns in WTS.

@michael-hawker we're still working on how best to integrate WTS with different data sources. The challenge is that different people do things very different ways. This makes building something into the tool/generated projects or providing guidance very difficult. If you have some thoughts, I'd love to hear them. Either here or on #396

There should also be additional info about how you have an over-arching application/command model so that things can be interconnected.

@michael-hawker I'm not sure what you're specifically after here. Are you talking about a command that can be activated from any VM or something else?

@michael-hawker
Copy link
Author

There should also be additional info about how you have an over-arching application/command model so that things can be interconnected.

@mrlacey about as a developer using MVVM Basic how I would store state for the application itself in its own VM and have a coherent model to share/access that data. In addition, info around how to pass info from one VM to another when constructing/navigating to another piece of UI.

I know there's a lot of MVVM docs out there, but having info to aid developers off of a template and in context to a project I feel would be a big boost.

@mrlacey
Copy link
Collaborator

mrlacey commented Oct 4, 2017

So it looks like we need to document:

  • Adding an app level VM
  • VM lifecycle (and possibly how to change it. e.g. persistence, reuse or make singleton, etc.)
  • Sharing/passing data between VMs
  • Passing data when navigating (there may be existing templates that already do this which can be used as examples.)
  • anything else...?

If someone is choosing MVVM Basic as they're just getting started with the pattern and don't want to learn a specific framework, we need to do more to help them.

I think this is going to need a separate, specific document. While what I wrote above could go in the "more info" description we'll need a new doc for the above points.
@ralarcon feel free to reassign to me to create this new doc once you've done the other changes.

@ralarcon
Copy link
Contributor

ralarcon commented Oct 5, 2017

The other changes are in place. Re-assigning... This is not urgent so feel free to remove the in-progress label if you want.

@ralarcon ralarcon assigned mrlacey and unassigned ralarcon Oct 5, 2017
@mrlacey mrlacey added Documentation Use when requesting new documentation, requesting a change to existing documentation (in the /docs d and removed in-progress The issue is currently being actively worked on. labels Oct 8, 2017
@mrlacey mrlacey added the MVVM Basic Issues specifically related to generating a project with the MVVM Basic framework. label Oct 16, 2017
@ralarcon ralarcon modified the milestones: 1.4, 1.5 Oct 17, 2017
@mrlacey mrlacey mentioned this issue Oct 18, 2017
@mrlacey mrlacey removed their assignment Oct 24, 2017
@ralarcon ralarcon modified the milestones: 1.5, Backlog Nov 24, 2017
@garfbradaz
Copy link

From a beginners perspective using MVVM Basic, i'm more after how Navigation is handled under the pattern/ MVVM basic.

@mrlacey mrlacey modified the milestones: Backlog, 1.8 Jan 17, 2018
@sibille sibille added the in-progress The issue is currently being actively worked on. label Mar 13, 2018
@sibille sibille removed the in-progress The issue is currently being actively worked on. label Mar 16, 2018
@mrlacey mrlacey self-assigned this Apr 23, 2018
@mrlacey mrlacey added the in-progress The issue is currently being actively worked on. label Apr 23, 2018
mrlacey added a commit to mrlacey/WindowsTemplateStudio that referenced this issue Apr 23, 2018
@mrlacey mrlacey added Can Close Out Soon Work relating to this issue has been completed. and removed in-progress The issue is currently being actively worked on. labels Apr 23, 2018
@mrlacey
Copy link
Collaborator

mrlacey commented Apr 24, 2018

Basic documentation about MVVM Basic has now been added.
Please continue to suggest further documentation improvements.

@mrlacey mrlacey closed this as completed Apr 24, 2018
@microsoft microsoft locked as resolved and limited conversation to collaborators Jun 27, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Can Close Out Soon Work relating to this issue has been completed. Documentation Use when requesting new documentation, requesting a change to existing documentation (in the /docs d MVVM Basic Issues specifically related to generating a project with the MVVM Basic framework.
Projects
None yet
Development

No branches or pull requests

6 participants