Looking for resources about design and architecture of cross-platform (mobile/desktop/web) enterprise software
Coming from a background of academic and algorithm focused software development, I've relatively recently begun developing enterprise software. I've developed a desktop application using WPF and SQLite, and in the process learned a lot about what I should have done differently in regards to design and architecture for a WPF. Now I am looking to expand on the functionality of the application including mobile and web front-end as well as supporting alternatives to SQLite.
I'm primarily looking for resources to learn more about this topic in general. Books, blogs, articles, whatever - I don't know what I don't know, and I don't want to make major decisions that I'll regret (Like I did with the existing application). Some examples of the questions that do come to mind, however:
- I know there are plenty of frameworks that are supposed to make cross-platform development easier (including some on the front page right now). It's tempting to just pick one and get started, but how do I make sure my code isn't tightly coupled to that particular framework in case I run into issues with it down the road?
- While I'm fully prepared to have some duplicate work in defining the front end, how do I limit duplication in business logic (and testing of that logic)? How does this tie into the different design patterns that are recommended for different front-ends (eg, MVVM vs MVC)?
- It seems like every front-end has completely different methods for data validation, even though I would expect this to be tightly coupled to the model. How should I approach implementing consistent validation rules?
0 comments:
Post a Comment