Process: Spin Up a Development Environment for Ionic 4 (default Angular) Apps on a Linux (Mint 19) Platform.
I found the documentation required to spin up a development environment for Ionic mobile apps... anemic at best.
The intro docs & tutorials (such as: Get started with Ionic ) were very weak sauce. There were a few much higher quality resouces in the developer communituy (such as Ionic Academy) but even their introductory turorials gloss over many of the gory details invvolved in resolving the many intersecting factors that arise in the complex develppment environment required to produce mobile apps for the Android platform.
The process to ferret out these development cycle gotchas was extremely time consuming. I don't like wasting the time of my development teams. And I don't think that "learning to take your lumps as a developer" is constructive either. So I decided to collect all the "run off the runway into the weeds" stuff into one (hopefully useful) reference.
This guide should enable any developer with reasaonable level of Unix/Linux experience to get up to speed on developing Ionic apps for Android devices without wasting enourmous amounts of valuable time.
This guide presents every action-item in the "mental pipeline" as a GH issue:
exercise 1: A basic Ionic4 "hello world" starter PWA (no IDE required)
exercise 2: simple button event processing w/ deployment onto Ionic Lab View Server
install: Android Studio (and various Java-related dependencies)
install: Gradle CI/CD pipeline tools (required for Ionic Android Studio builds)
exercise 3: Build & deploy simple button event processing app onto Android device
exercise 4: Build the benchmark "Photo Gallery" app & deploy using DevApp & Ionic account
exercise 5: Build an app w/ "pretty" controls (Gary Simon's exercise interval timer)
To-Dos Include:
survey: Configure (non DevApp) deployments on iOS and Android
understand: Routing/Navigation & Lifecycle Hooks in underlying Angular MVC framework
There are a few other "farther horizon" issues (important, but not strictly required) recorded as well: