EIEIOTECHNOVATION
← Training programmes

EIEIO / PROGRAMMING & DEVELOPMENT

IONIC 4 Framework using Angular 8

Course outline

5 days

Duration

5 days

Overview

The Economist says there will be 20 billion mobile devices by 2020. Roughly 2 million apps are now in iTune and Google Play. Mobile apps generate additional revenues to every company by encouraging repeat orders from customers on the go. Comparing to the traditional method of marketing mobile apps lowers the marketing cost. This market needs has driven the software industry to focus on mobile apps development. A diverse skill-set is necessary to develop apps for multiple platforms such as Android / iOS.

Angular 8 allows developing awesome web applications powered by TypeScript / JavaScript. Now Ionic framework build on top of Angular, requires HTML, JS and CSS knowledge to build hybrid mobile applications. Hybrid solution enables single code base across multiple platform. Since Ionic allows the developer to release mobile applications without having to learn thousands of different languages, it is extremely popular and in high demand.

This course takes participants from zero to published app, taking a very practice-orientated route. Participants will be building apps throughout the course, learning about the basics of Ionic 4 and its rich component library, how to fetch and handle user input, how to store data and access native device features and much more! Each app will be a real world example that focuses on different topics like Components, Navigation, Tabs, Side menus, User Input, Native Device Features, Storage, Http, and Authentication. Upon completing the app participants will also learn how to run the apps either in browser or on an emulator or on own device.

Objective

  • A brief refresher on JavaScript and TypeScript
  • Understanding Angular 8 Framework
  • Angular 8 components
  • Developing a complete Web Solution based on MVC framework
  • Single Page Application (SPA)
  • Multiple Pages Application using Router
  • How to set up Ionic projects
  • Basics about Ionic Navigation, project structure and its rich component library
  • Use the beautiful components ships with Ionic
  • Back Button Navigation, Tabs and Side menus
  • Show Modals, Alerts, Toasts and many more useful UI components
  • Test the app in the browser, on emulators and real devices
  • Access the local device Storage
  • Access native device features like the Camera or GPS
  • Adding third-party packages for styling and theming the app

Target Participants

The primary target audience for this course is software developers / programmers. This program is for anybody who has programming background and interested in diving into the development of mobile apps for iOS and Android.

Program Prerequisites

An understanding of JavaScript with little bit of programming experience and a brief understanding of Angular and TypeScript would be beneficial, but not ultimately required

Mode of Delivery

Every participant will be provided with course notes and are required to bring in their own laptops for hands-on exercise and practice sessions.

Day 1

  • JavaScript

Introduction

  • JavaScript Refresher
  • Basic Language features
  • Creating variables
  • Control statements
  • Functions and Functional programming
  • Creating objects
  • TYPESCRIPT

Introduction

  • Understanding the case for TYPESCRIPT
  • Types in TYPESCRIPT
  • Functions, lambdas and execution flow
  • Classes, Interfaces and Inheritance
  • Decorators
  • Organizing application with modules
  • Design Patterns such as Decorator, Observable

Day 2

  • Introduction to Angular
  • What is Angular 8
  • Central Features of the Angular Framework
  • Scope and Goal of Angular
  • Angular 8 vs. AngularJS
  • Installing and Using Angular 8
  • Adding Angular 8 and Dependencies to Your App
  • Building Blocks of and Angular 8 Application
  • A Basic Angular 8 Application
  • What is new in Angular 8
  • Summary
  • Building with Components
  • Introducing the component tree
  • Explaining Dependency Injection
  • Component Starter
  • Developing a Simple Feedback Component
  • Feedback Component: Add HTML
  • The HTML Component Template
  • The templateUrl property
  • Feedback Component: Add CSS Styling
  • Feedback Component: Hook Up Input Fields and Button
  • Feedback Component: Fields & Button in the Component Class
  • Component Decorator Properties
  • Component Lifecycle Hooks
  • Using a Lifecycle Hook: OnInit
  • Summary
  • Data and Event Binding
  • Binding Syntax
  • One-Way Output Binding
  • Binding Displayed Output Values
  • Two-Way Binding of Input Fields
  • Input Binding Examples
  • Binding Events
  • Binding Events Examples
  • Setting Element Properties
  • Setting Properties: Examples
  • Summary
  • Attribute Directive and Property Binding
  • What are Directives
  • Directive Types
  • Apply Styles by Changing Classes
  • Changing Classes – Example
  • Applying Styles Directly
  • Applying Styles Directly - Example
  • Obsolete Directives and Property Binding
  • Controlling Element Visibility
  • Setting Image Source Dynamically
  • Setting Hyperlink Source Dynamically
  • Summary
  • Structural Directives
  • Adding and Removing Elements Dynamically
  • Looping Using ngFor
  • ngFor - Basic Syntax
  • ngFor - Full Template Syntax
  • Creating Tables with ngFor
  • ngFor Local Variables
  • ngFor Changes in the backing data source
  • Swapping Elements with ngSwitch
  • ngSwitch - Basic Syntax
  • ngSwitch - Full Template Syntax
  • Summary

Day 3

  • Template Driven Forms
  • Note on Deprecated Forms APIs
  • A Basic Angular Form
  • Binding Input Fields
  • Accessing the Form Object
  • Binding the Form Submit Event
  • The Submit Function
  • Basic HTML5 Validation - "required" Attribute
  • HTML5 vs. Angular Validation
  • Angular Validators
  • Angular Validation State
  • Displaying Form Validation State
  • Displaying Field Validation State
  • Displaying Validation State Using Classes
  • Disabling Submit when Form is Invalid
  • Submitting the Form
  • Binding to Object Variables
  • Additional Input Types
  • Checkboxes
  • Select(drop down) Fields
  • Rendering Options for Select (drop down)
  • Date fields
  • Radio Buttons
  • Summary
  • Services and Dependency Injection
  • What is a Service?
  • Creating a Basic Service
  • What is Dependency Injection?
  • What Dependency Injection Looks Like
  • Injecting Services
  • Using a Service in a Component: Dedicated Instance
  • Using a Service in a Component: Dedicated Instance - Example Code
  • Using onInit to Initialize Component Data
  • Using a Shared Service Instance
  • Dependency Injection and @Host
  • Dependency Injection and @Optional
  • Summary
  • HTTP Client
  • The Angular HTTP Client
  • Using The HTTP Client - Overview
  • Setting up HTTP_PROVIDERS in the Root Component
  • Importing Individual Providers into Services
  • Service Using Http Client
  • Service Imports
  • The Observable object type
  • What does an Observable Object do?
  • Making a Basic HTTP GET Call
  • Using the Service in a Component
  • The PeopleService Client Component
  • Client Component Code Review
  • Importing Observable Methods
  • Enhancing the Service with .map() and .catch()
  • Using .map()
  • Using .catch()
  • Using toPromise()
  • GET Request
  • GET Request with Options
  • POST Request
  • POST Request Example
  • Reading HTTP Response Headers
  • Summary

Day 4

  • Ionic – Getting Started
  • Installing the tools
  • Installing required npm packages
  • Understanding the Ionic CLI
  • Platform and SDK – Android / iOS
  • Starting a fresh project
  • Running the project
  • Viewing App with Browser
  • Viewing on Android Emulator
  • Viewing using IONIC View
  • Lists and other Components
  • Headers and Footers

Content

  • Lists and various types
  • Buttons
  • Modal
  • Popovers
  • Navigation
  • Tabs
  • Menus
  • Side Menus
  • Scroll
  • Transitions
  • History
  • Add tabs to the Blank Project
  • Mixing side menu and Tabs
  • Multilevel Accordion Menu
  • Dynamic Components
  • Loading
  • Spinner
  • Popup
  • Utility
  • Action Sheets
  • Alerts
  • Create a Autoplay Slides
  • Creating beautiful charts using ChartJS

Day 5

  • Input
  • Checkboxes
  • Radio Buttons
  • Gestures and Events
  • Swipe to Refresh
  • Range & Select
  • Calendar UI with Event Integration
  • HTTP Client
  • Connect with JSON API
  • REST API Authentication
  • Consuming REST API using Angular HttpClient
  • Cordova Native Facebook Connect Plugin
  • Ionic CLI
  • Install
  • Start
  • Development & Testing
  • Run and Emulate
  • Icon & Splash Screen
  • Uploading and Viewing
  • SASS
  • Gathering Environment Info
  • Debugging and Testing Ionic Applications
  • General Overview of Debugging
  • Working With Emulators - IOS
  • Working With Emulators - Android
  • Testing On Device - Android
  • Testing On Device - IOS
  • Using Ionic View
  • Proper Testing
  • Finishing Up Our Ionic Application
  • Generating App Icons And Splash Screens
  • Preparing For Submission
  • Code Signing For IOS
  • Code Signing For Android
  • Additional Resources
  • The Road Ahead
  • Conclusion

Programme scope, delivery arrangements and suitability are confirmed during enquiry.