Ionic 4 - Build iOS, Android and Web Apps with Ionic and Angular

Video description

Ionic is one of the most exciting technologies you can learn. It enables you to use one codebase (written in HTML, JS, and CSS) to build and ship regular (progressive) web apps as well as native mobile apps for iOS and Android. This course will help you work with the latest version of Ionic from scratch. Angular (formerly Angular 2) allows you to create awesome web applications powered by TypeScript or JavaScript. The Ionic framework allows you to use your Angular knowledge to build web applications that can be compiled into native mobile apps, running on any iOS or Android device, and enables you to publish them as progressive web apps. You’ll use your existing Angular, HTML, JS, and CSS knowledge to build your native mobile apps and discover components that can be used to compose native-like user interfaces. The capacitor will handle the rest as it's used to then build a native mobile app for iOS/ Android based on your code. This allows you to make the most of your knowledge and release your application on all possible devices without having to learn different languages! No wonder that hybrid frameworks like Ionic are extremely popular and in high demand!

What You Will Learn

  • Build native apps and progressive web apps from the same codebase
  • Develop native apps for iOS and Android using Angular and powerful Ionic 4 features
  • Delve into Ionic 4 to learn more about its core and advanced features
  • Test iOS and Android apps on real devices and publish them on their respective app stores

Audience

This course is for anyone who wants to use their Angular knowledge to build native mobile apps and web apps with one codebase and for everyone interested in developing native mobile apps for iOS and Android.

About The Author

Maximilian Schwarzmüller: Maximilian Schwarzmüller: A professional web developer and instructor, he has never stopped learning new programming skills and languages since the age of 13. In his early days, he started creating websites simply for fun. This passion has remained and shaped his decision to work as a freelance web developer and consultant. Although he started web development on the backend (PHP with Laravel and NodeJS), he has progressed to becoming a front-end developer using modern frameworks such as React, Angular, and VueJS 2 in many projects.

The most rewarding experience for him is to see how people find new and better jobs, build exciting web applications, acquire amazing projects, or simply enjoy their hobby with the help of his content.

Table of contents

  1. Chapter 1 : Getting Started
    1. Course Introduction
    2. What Is Ionic?
    3. A Closer Look at the Ionic Platform
    4. What is Angular?
    5. Our First Ionic App!
    6. The History of Ionic
    7. Ionic 4+ vs Ionic 3
    8. How to Build Native Mobile Apps with Ionic
    9. Course Outline
    10. How to Get the Most Out Of the Course
  2. Chapter 2 : Angular Refresher
    1. Module Introduction
    2. What is Angular?
    3. Angular SPAs Ionic
    4. Understanding Components
    5. Installing Angular with the CLI
    6. Installing the IDE
    7. Understanding the Folder Structure
    8. The App Component
    9. Creating Our First Component
    10. Cross Component Communication with Property Binding
    11. Understanding Directives String Interpolation
    12. Handling User Input
    13. Understanding Event Binding
    14. Local References
    15. Understanding Two-Way-Binding
    16. Passing Data Around with Custom Events
    17. Implementing Routing
    18. Setting Up Services
    19. Using Services with Dependency Injection
    20. Working with Angular Lifecycle Hooks
    21. Adding a Person with Services
    22. Navigating between Components
    23. Removing Items upon a Click
    24. "Push"ing Data Around with Subjects
    25. Sending Http Requests
    26. Showing a Placeholder Whilst Waiting for a Response
    27. Wrap Up
  3. Chapter 3 : Ionic Component Basics
    1. Module Introduction
    2. Core App Building Blocks
    3. Under the Hood of Ionic Components
    4. Setting Up a Non-Angular Ionic Project
    5. Where to Learn all about Ionic Components
    6. Using Basic Ionic Components
    7. More Basic Components
    8. Component Categories
    9. Using the Ionic Grid
    10. Adding Icons Using Slots
    11. Using CSS Utility Attributes
    12. Using Ionic Elements like "Normal" HTML Elements
    13. Validating User Input
    14. Creating Ionic Elements Programmatically
    15. Finishing Up the Base JavaScript Logic
    16. Finalizing the Layout
    17. Using Controller Components
    18. Why Angular?
  4. Chapter 4 : Angular + Ionic
    1. Module Introduction
    2. Why Use Angular?
    3. Creating a New Ionic Angular Project
    4. Analyzing the Created Project
    5. How Angular Ionic Work Together
    6. Adding Loading a New Page
    7. Using Angular Features on Ionic Components
    8. Setting Up Angular Routes
    9. Managing State with Services
    10. Extracting and Displaying Route Param Data
    11. Navigating Between Pages
    12. Deleting a Recipe
    13. Injecting Ionic Controllers
    14. Angular Components vs Ionic Components
    15. Wrap Up
  5. Chapter 5 : Building Native Apps with Capacitor
    1. Module Introduction
    2. General Information
    3. Creating an Android App
    4. Creating an iOS App
    5. Wrap Up
  6. Chapter 6 : Debugging
    1. Module Introduction
    2. Error Messages console.log()
    3. Using the Browser DevTools Breakpoints
    4. Debugging the UI Performance
    5. Debugging Android Apps
    6. Debugging iOS Apps
    7. Wrap Up
  7. Chapter 7 : Navigation Routing in Ionic Apps
    1. Module Introduction
    2. How Routing Work in an Ionic + Angular App
    3. Ionic Page Caching Extra Lifecycle Hooks
    4. Planning the Course Project
    5. Creating Our App Pages
    6. Adjusting Our Main Routing Configuration
    7. Understanding Ionic Tabs
    8. Adding Tabs to the App
    9. Preparing Data Services for the Project
    10. Outputting "Places"
    11. Adding Forward Navigation
    12. Going Back with NavController
    13. Navigating via Toolbar Buttons
    14. Extracting the ID of Loaded Places
    15. Adding a SideDrawer
    16. Opening + Closing the SideDrawer
    17. Adding Links Switching Pages
    18. Adding the Auth Service
    19. Adding an Auth Guard
    20. Opening a Modal
    21. Closing the Modal Passing Data
    22. Wrap Up
  8. Chapter 8 : Ionic Components Overview
    1. Module Introduction
    2. Attributes Slots
    3. Ionic Grid Basics
    4. Controlling Grid Column Sizes
    5. Controlling Grid Alignment
    6. Responsive Grid Sizing
    7. Grid Summary
    8. ion-list vs ion-grid
    9. ion-label ion-item
    10. ion-text
    11. Swipeable List Items
    12. Swipeable Bookings
    13. Understanding Virtual Scrolling
    14. Implementing Virtual Scrolling
    15. Adding Image Elements
    16. Segmented Buttons
    17. Adding a Spinner
    18. Using the Loading Controller
    19. Using the ActionSheet Controller
    20. Wrap Up
  9. Chapter 9 : Styling Theming Ionic Apps
    1. Module Introduction
    2. How Styling Theming Works in Ionic Apps
    3. Docs Utility Attributes
    4. Setting Global Theme Variables
    5. Setting Global Styles
    6. Setting All Colors at Once
    7. Setting Platform-Specific Styles
    8. Styling Core Components with Variables
    9. Adding Custom CSS Rules
    10. Component-specific CSS Variables
    11. Wrap Up
  10. Chapter 10 : Handling User Input
    1. Module Introduction
    2. User Input Requirements
    3. Setting Up a Form Template
    4. Adding a Template-driven Form
    5. Handling Validation
    6. Switching Between Auth Modes
    7. Finishing the Auth Form
    8. Starting Work on a New Offer Form
    9. Finishing the Offer Form Template
    10. Creating a Reactive Form
    11. Syncing the Form to the Template
    12. Finishing the New Offer Form
    13. Edit Form Challenge
    14. Adding the Edit Offer Form
    15. Starting with the Booking Form
    16. Working on the Book Place Template
    17. Configuring the Date Controls
    18. Validating Submitting the Form
    19. Wrap Up
  11. Chapter 11 : Managing State
    1. Module Introduction
    2. What is State?
    3. Adding New Places
    4. Using RxJS Subjects for State Management
    5. Passing Data via Subjects Subscriptions
    6. UI State in Action
    7. Updating Places
    8. UI State with Bookable Places
    9. Booking Places
    10. Fixing a Bug
    11. Cancelling Bookings
    12. Finishing Touches
  12. Chapter 12 : Sending Http Requests
    1. Module Introduction
    2. How to Connect to a Backend
    3. Setting Up Firebase
    4. Sending Data via Http
    5. Using Response Data
    6. Fetching Displaying Data
    7. Updating Places
    8. Fetching Data in Multiple Places
    9. Loading Data in a Single Place
    10. Updating Places Correctly
    11. Error Handling
    12. Fetching Single Places
    13. Adding a Booking
    14. Fetching Bookings by User
    15. Deleting Bookings
    16. Wrap Up
  13. Chapter 13 : Adding Google Maps
    1. Module Introduction
    2. API Setup
    3. Adding a LocationPicker Component
    4. Opening the Map Modal
    5. Adding the Google Maps SDK
    6. Rendering a Map
    7. Picking Locations via a Click on the Map
    8. Finding the Address for a Place
    9. Fetching a Static Image URL
    10. Displaying a Place Preview
    11. Changing the Selection
    12. Removing the Click Listener
    13. Submitting the Location
    14. Outputting Address Map
    15. Re-using the Maps Modal
  14. Chapter 14 : Using Native Device Features (Camera Location)
    1. Module Introduction
    2. Understanding Capacitor Cordova
    3. Using the Docs
    4. Using Capacitor Plugins
    5. Getting the User Location
    6. Testing the Location Feature
    7. Starting With the Image Picker
    8. Taking Pictures
    9. Detecting the Platform Correctly
    10. Adding a Filepicker Fallback
    11. Getting the Picked Image
    12. Converting the Image String to a File
    13. Storing the Image in the Form
    14. Using PWA Elements
    15. Improving the ImagePicker Component
    16. Adding Server-side Image Uploading Code
    17. Adding Image Upload
    18. Wrap Up
  15. Chapter 15 : Adding Authentication
    1. Module Introduction
    2. How Authentication Works
    3. Adding User Signup
    4. Refactoring the Authentication Code
    5. Adding User Login
    6. Managing the User with a Subject
    7. Storing the Token in Memory
    8. Using the ID Observable Correctly
    9. More userId Usage
    10. Fixing the Subscription
    11. Using the userId everywhere
    12. Storing Auth Data in Device Storage
    13. Adding Autologin
    14. Using Autologin
    15. Adding a Reactive Logout System
    16. Adding Autologout
    17. Requiring the Auth Token on the Backend
    18. Sending the Auth Token to the Backend
    19. More Token Usage
    20. Wrap Up
  16. Chapter 16 : Publishing the Apps
    1. Module Introduction
    2. Preparing App Configs
    3. Custom Icons Splash Screens
    4. Android Deployment
    5. iOS Deployment
    6. Web Development
  17. Chapter 17 : Roundup
    1. Course Roundup

Product information

  • Title: Ionic 4 - Build iOS, Android and Web Apps with Ionic and Angular
  • Author(s): Maximilian Schwarzmüller
  • Release date: April 2019
  • Publisher(s): Packt Publishing
  • ISBN: 9781838828943