Denis
How do i start?
The project itself isn't that complicated, if we omit the server part.
The issue is MVVM. Its a wonderful architecture for developing decoupled applications; however, it has a steep learning curve.
If your goal is to learn WPF, the. I recommend starting with a smaller simpler project (which you could then incorporate in your larger project), so that you focus on the difficult part which is MVVM
5 replies
How do i start?
That's quite a lot of things you have to cover:
- create a navigation system to change between views/pages
- create an authentication system (what are you logging into? Is it your server or someone else's?)
- create a server if the previous point requires it (this is not beginner friendly imo)
- create views and viewmodels for:
- login
- notes
- calculator
- main page for choosing between notes and calculator
With the server you'll have to handle querying, locking notes for editing such that a different user does not change it while you are editing the notes, and authentication system, user creation and removal. At the very least.
If you have 0 experience with WPF, then this is a leap of a project. I recommend starting small, just create the calculator using WPF and proper MVVM.
For MVVM I highly recommend checking out Community Toolkit MVVM.
If you have no C# knowledge, then I suggest $helloworld
5 replies
MVVM should model items have INotify?
I can say that there's nothing wrong in making a model observable.
The viewmodel must inherently be observable, but it also contains business logic, commands and so on.
A model; however, should just represent data.
So, no business logic, no commands, no methods (apart from equality, cloning, etc.). This doesn't mean you can't make the model observable. Otherwise you'd be forced write a ton of unnecessary viewmodels that'd shadow your models, only to add observability.
In some cases this is a valid approach. E.g., a validated form for creating a record in the db
10 replies