Cross-platform mobile development with Ionic Framework and Angular
This development container provides a complete Ionic Angular development environment with:
- ✅ Node.js 20 LTS
- ✅ Ionic CLI latest version
- ✅ Angular CLI
- ✅ Cordova for native builds
- ✅ TypeScript support
- ✅ Live reload development server
-
Open in VS Code
code . -
Reopen in Container
- Press
F1→Dev Containers: Reopen in Container
- Press
-
Create your first Ionic app
ionic start myApp tabs --type=angular cd myApp ionic serve --external -
Access your app
- Open browser at
http://localhost:8100
- Open browser at
- 📦 Node.js 20 - Latest LTS version
- ⚡ Ionic CLI - Ionic command-line interface
🅰️ Angular CLI - Angular tooling- 📱 Cordova - Native app builds
- 🏃 Native Run - Run on devices
- ✨ ESLint - Linter
- 💅 Prettier - Code formatter
- 📘 TypeScript - Type safety
ionic.ionic- Ionic extensionangular.ng-template- Angular language servicejohnpapa.angular2- Angular snippetsdbaeumer.vscode-eslint- ESLint integrationesbenp.prettier-vscode- Prettier formatternrwl.angular-console- Angular Console
- base - Node.js 20
- build-tools - npm, yarn
- ionic-angular - Ionic CLI, Angular CLI, Cordova
- dev-tools - Linting, formatting
- android-tools - Android SDK (optional)
- tools - Additional utilities
- development - Dev environment
- builder - Build stage
- production - Nginx runtime
Uncomment the Android SDK stage in .devcontainer/Dockerfile.
# Tabs template
ionic start myApp tabs --type=angular
# Sidemenu template
ionic start myApp sidemenu --type=angular
# Blank template
ionic start myApp blank --type=angular
# With Capacitor
ionic start myApp tabs --type=angular --capacitor# Start dev server
ionic serve --external
# Start on specific port
ionic serve --port 8200 --external
# Lab mode (iOS & Android preview)
ionic serve --lab
# Build
ionic build
# Build for production
ionic build --prod# Page
ionic generate page my-page
ionic g page my-page
# Component
ionic generate component my-component
# Service
ionic generate service my-service
# Module
ionic generate module my-module# Add Capacitor
ionic integrations enable capacitor
# Add platforms
ionic cap add android
ionic cap add ios
# Sync web assets
ionic cap sync
# Open in native IDE
ionic cap open android
ionic cap open ios
# Run on device
ionic cap run android
ionic cap run ios# Add platforms
ionic cordova platform add android
ionic cordova platform add ios
# Build
ionic cordova build android
ionic cordova build ios
# Run on device
ionic cordova run android --device
ionic cordova run ios --device
# Add plugins
ionic cordova plugin add cordova-plugin-camera# Camera
npm install @capacitor/camera
ionic cap sync
# Geolocation
npm install @capacitor/geolocation
# Storage
npm install @capacitor/storage
npm install @ionic/storage-angular
# HTTP
npm install @capacitor/http
# File System
npm install @capacitor/filesystem
# Network
npm install @capacitor/network
# Push Notifications
npm install @capacitor/push-notifications
# Social Sharing
npm install @capacitor/shareIonic provides rich UI components:
// Import in your module
import { IonicModule } from '@ionic/angular';
// Use in templates
<ion-button>Click Me</ion-button>
<ion-card>
<ion-card-header>
<ion-card-title>Card Title</ion-card-title>
</ion-card-header>
<ion-card-content>
Card content
</ion-card-content>
</ion-card># Unit tests
ng test
# E2E tests
ng e2e
# Test coverage
ng test --code-coveragePress F5 to launch Chrome debugger with your Ionic app.
- 8100 - Ionic dev server default
- 4200 - Angular dev server
Happy Coding! 🎉