Architecture
When it comes to cross-platform applications, our goal is to share as much code as possible. We focus our attention on architecture, having a nice clean project structure that lends itself to a maximization of code sharing across platforms. So how do we solve this problem? Ask yourself:
What are the different layers?
How do we set up the folder structure?
What parts go in which projects?
There are many different approaches to this problem; here are some of the most common architectural layers:
Data layer: This stores the database
Data access layer: This layer focuses on the objects and wrappers that apply operations on the data layer (Read, Write, Update)
Business layer (logic): This layer focuses on the different domains (domain-driven design), separating the different areas of logic into objects that handle operations for each domain
Service access layer: The area that focuses operations on the web API, how we handle JSON, and data sent and received between the API Controllers
Application...