AppMap enables developers to visually map out and then generate their Xamarin.Forms application.
The code generation includes selected projects (iOS and Android, UWP coming soon), Pages (Views), ViewModels, and navigation code that follows best-practice Prism MVVM architecture.
For example, last month I created a 17 page application in three minutes. Easily saved myself an hour or two with project creation..
Please watch these short AppMap training videos to ensure you get the most from the AppMap tool and Prism for Xamarin.Forms.
Download and Installation
AppMap is included with the Infragistics Platform Installer and can also be download from the Visual Studio Marketplace.
Additionally, you can install from within Visual Studio using the Extensions and updates dialog.
AppMap works in all versions of Visual Studio 2015 and 2017.
AppMap is launched from the Visual Studio New Project Dialog or New Item Dialog.
When using the New Item dialog, the name has no impact and is not used by the tool. You can leave the default name and click the Add button.
Note: The New Item dialog only works with Xamarin.Forms project that were created by AppMap.
The first time you open AppMap you’ll need to sign in. If you don’t have an Infragistics account yet, click the link and set one up.
The Customer Experience Improvement Program really does help us plan, allocate resources, is zero impact, and anonymous. As you can imagine, creating and maintaining Visual Studio Tooling is expensive and time consuming. This data helps us provide the best tooling for our customers and provide free tools to the community.
This Create New Project dialog allows the developer to select the platforms for project creation.
UWP will be supported in the coming soon release of AppMap
AppMap uses Prism for Xamarin.Forms. Prism provides a modern framework and developer guidance that embraces separation of concerns, dependency injection (DI), MVVM, and provides an incredibly rich, simple, and easy to use navigation API. The docs can be read here.
This dialog prompts you to select the DI Container you would like to use. When the project is created by AppMap, or when an AppMap Item is added to a project, AppMap automatically registers the added pages with the DI Container for you.
The Show AppMap checkbox allows you to show the AppMap dialog and then create the projects, or when unchecked, just create the projects.
The purpose of this dialog option is to enable a real-world application development workflow. Most developers have their own ViewModel base class. AppMap allows developers to select the ViewModel base class to use for code generation. You can use one of two provided bases classes, or selected your own. So, by first creating empty projects (projects without pages), developers can then bring in their own libraries and frameworks to the solution. Then, launch the add New Item dialog, and in the AppMap select your ViewModel base class.
If your not familiar with the provided AppMap ViewModel base classed, please review them. They both implement Prism navigation interfaces and have several commands that AppMap expects a ViewModel to have. When AppMap generates your views, it wires up buttons and toolbar buttons to commands on the ViewModel. Optionally, you can derive your own ViewModel base class from one of the provided ones, but this is not a requirement.
AppMap provides a diagram tool for laying out pages and creating relationships between them. These relationships provide the tool metadata for generating navigation code.
A feature of AppMap is to parse the entered Name, and set the Title property. You can edit the Name by double clicking the name in the diagram page or use the Properties panel.
The Code Generations Options panel is where you decide where your ViewModels will be placed, which folder names you would like to use, and the ViewModel base class to use.
Again, please watch the series of videos on AppMap to get a full understanding of it’s capabilities and features.
This is the solution that was created by the above AppMap selections. It took me 30 seconds to lay my application out and create it.
Notice that I like my ViewModels nested under my views. This is not a requirement, but a personal preference.
In the near future, we’ll release a new version of AppMap with these features:
- .NET Standard 2.0 Xamarin.Forms Project Creation
- Option to create UWP Project
I always use AppMap for creating my projects as it saves so much time and saves me from having to create the pages and ViewModels one by one.
Have a great day,
Just a grain of sand on the worlds beaches.