The goal of this course is to teach how to develop hybrid mobile applications, i.e. web apps embedded into native apps on multiple platforms. You will:
- Learn about hybrid mobile application development with Ionic and Cordova.
- Learn the basics of Angular.
- Design and develop a mobile application optionally based on the API developed in the previous course.
- Run the mobile application on your phone.
This course is a COMEM+ web development course taught at HEIG-VD.
-
Going further with JavaScript
-
Ionic
-
Setup
- Mockups
- Live setup
-
Additional JavaScript concepts
-
Ionic
- A Unix CLI (Git Bash is included with Git on Windows)
- Git
- A free GitHub account
- Google Chrome (recommended, any browser with developer tools will do)
- Node.js 8+
- Ionic
Features
- A user must be able to register and/or log in (depending on the API's capabilities).
- A user must be able to manage the main resources of the API's domain model:
- A user must be able to create new instances of all the main resources of the domain model (e.g. create Trips and Places in the Travel Log).
- A user must be able to modify at least one of the resources of the domain model (e.g. update a Trip's title and description in the Travel Log).
- A user must be able to delete at least one of the resources of the domain model (e.g. delete a Place in the Travel Log).
- At least two mobile-oriented features must be used, for example:
- Geolocation of the user (e.g. to center a map on the user's location, or to determine a Place's location in the Travel log).
- Pictures taken with the phone's camera (works only on physical devices).
- There must be a map showing geolocated resources (with more than one item on the same map).
- There must be a resource list with filters or search parameters.
Implementation
- The app must follow Angular and Ionic best practices.
- The app must use an approved API.
- Asynchronous code must be correct (e.g. callbacks, promises & observables).
- The app must provide clear feedback when errors are likely:
- When submitting a form (input might be invalid or the API call might fail).
- When geolocating the user (it might fail).
- Secrets (passwords & keys) must not be committed to the Git repository.
Presentation
You must provide a presentation for your app. This can be either in the form of a user guide or in the form of a pitch as if it were a real app that you were going to sell. You can choose from the following options (one is enough):
- You can present the app in the README of the GitHub repository for the app.
- You can upload your app to a store (e.g. Google Play), and write the store page as you would for a real app.
- You can make a webcast demonstrating or selling your app.
- You can provide a tutorial inside the app.
- You can use any other presentation tool (subject to approval) but your user guide or pitch must be available online.
Each group must send an e-mail no later than January 25th 2019 to Simon Oulevay with:
- The link to your source code repository on GitHub.
- The link to your webcast, presentation page or user guide (if it's not in the repository).