Developing real-time apps is the need of the hour, and apps that deal with humongous amounts of user data and real-time information that needs to be updated frequently are in high demand. Currently, one of the most popular frameworks for this task is the Ionic Framework.
Application Development with Ionic 2 is Packt’s Video Learning Path, which is are a series of individual video products put together in a logical and stepwise manner such that each video builds on the skills learned in the video before it.
This course will get you started with Ionic and help you create Angular 2 components that interact with templates.
You will learn to bootstrap an application and enhance one cool feature at a time. Each feature will cover one of the essential components of an app: user experience, logic and data, and the user interface.
You’ll then work with Cordova to support native functionalities on both iOS and Android. Also, you’ll learn to use the default themes for each platform as well as customizing your own.
By the end of this Video Learning Path, we will have built an entire awesome iTunes Browser app along with learning how best to deploy your app to different platforms.
About the Authors:
Mathieu Chauvinc is a Managing Director at Red Ape Solutions, where he aspires to keep the company at the bleeding edge of web technologies. On a daily basis, he leads the tech team of 15 and collaborates with them in building complex single page applications and neat hybrid mobile apps. He has been involved in web technologies for over a decade, from Django to Node.js and Go, SQL to NoSQL, Mootools to Angular 2, continuously trying to keep the right balance between the excitement of new frameworks and the stability of proven ones. He always has a special place in his heart for Python and Django.
Starting a project can sometimes mean installing tons of things and can be quite a lengthy process before everything is up and running. However, this is not the case with Ionic 2, which offers a great CLI and a "start" command to bootstrap code, including a side menu, several pages, and so on.
It is important for developers to be familiar and comfortable with the structure of the project. We'll take a look at the location of some of the different elements of the project, configurations, dependencies, hooks, and actual app components.
The app needs to be served, but this depends on its status. Let's take a look at which way of serving is better. The live reload server is an obvious winner for ease of use and debugging, while the new lab view helps us think about the experience on both Android and iOS. Emulators give a better idea as to the real experience that users will have; finally, the device can be used when the app is close to finalized.
Apps always contain several pages. We need to create them and ensure that they are navigable.
Ionic2's navigation system is very different from the previous version. We will take a look at how the stack is used and the difference between the root and the other pages.
Navigation concepts are acquired; it is time to apply them to our application.
We need to present the list of search results in a visually attractive list. Ionic makes this easy with the ion-list and ion-icon components, and Angular allows us to repeat the items using ngFor as well as bind the values of attributes to the DOM elements' properties.
The app executes a search on the iTunes API. This requires a search bar that will react when the user presses "enter". We'll use the search bar component to present the query input and bind to the keyup as well as cancel events.
The search should be targeted to a specific country's iTunes API. So, we will create a settings page in which we'll use a radio to select the country.
We need to load real data from an API. For this, we need HTTP_PROVIDERS to be provided and the HTTP service to be dependency injected.
Some APIs do not allow cross-origin calls. Also, having logic coded inside the component itself isn't a good practice. So, we'll create our own service and make use of Jsonp to get around the cross-origin restrictions
Filtering and other calls for actions are vital in any app but not easy to present smartly in a mobile application. Action sheet is a great solution to this issue; it displays a nice overlay, and we can code what happens when we click on each button.
Temporary or intermediary pages are often necessary in applications. Although we know we can navigate to a page with a Back button, a modal makes more sense sometimes from a user-experience perspective. We will create such a modal and pass the track we clicked on as part of the navigation to display a preview of this track.
Cell phones often face a shortage of space. So relying on a bulky button is rather outdated. Pull-to-refresh is an amazing user experience tool that allows you to pull a list of items and refresh it with new ones.
The application needs to communicate with the user. Through the use of various dialogs, an alert, a confirm box, and a prompt, we will make the app clearer and more interactive with the user.
Tasks run in the background can be confusing to the user; they can't see that something is happening. Loaders or progress indicators take care of this issue and give users a clear statement that their request is being processed.
Though the app looks really nice, it is rare that your corporate colors match the out-of-the-box Ionic feel. Ionic uses a large number of SASS variables, which you can override in order to make the app feel more like your own.
It is sometimes troublesome and also less declarative to work on data only within the controller. Pipes allow us to modify data from within the template. They are typically used to filter arrays or format content (dates, pluralization, and currency)
The aim of this video is to setup an environment for creating apps
The aim of this video is to get started with the creation of a sample app
The aim of this video is to create an app via the Ionic Creator
The aim of this video is to view the App using a web browser
The aim of this video is to use Ionic CLI to view our App
The aim of this video is to view our app in Xcode
The aim of this video is to view our app using Android
The aim of this video is to view our app using Ionic view
Working with multiple pages makes work faster and easier. This video will enable you to do that.
Menu navigation is important for the user to switch between two pages in the app. In this video, you will learn how to add the navigation menu.
When you create pages, you also need to create the options when the user selects a particular option from the page. The navigation should happen properly.
Everyone loves food, right? We will first start with a basic pizza ordering component.
Components and directives are different in Angular 2. This video will help you understand the difference by creating a user input directive.
Pipes are used to represent data in a different format in the view. We will learn how to build a pipe for that.
Communication across the pages and components makes rendering information easy. It prevents trips to the backend. Therefore, you will need a shared service.
The aim of this video is to Create a form to test our input validation.
It's not always possible to have the backend available when you are developing the frontend. The aim of this video is to learn how to retrieve data.
The aim of this video is to integrate with a real backend service for the payment process.
The aim of this video is to add a video with autoplay in the background
The aim of this video is to show a physics-based animation, which is a bouncing button that can show and hide a top quote box in our app
The aim of this video is to create a gesture to the animation
The aim of this video is to create some animation in the background of your login page
Authentication is important in any app you develop. It provides security to your users. This section will simplify the authentication concept as much as possible.
Push notifications encourage users to open the app even if they are not currently using it. This section will help you set up a push notification server using Ionic.
The push notification server for Ionic and iOS operates in the same way. This section will enable you to do the same with an Android API.
This section will help you make an app that takes photos from the camera plugin or directly from your device.
If you develop an app with shareable content, you can use the native device to share via the device’s social accounts. This prevents logging in from a separate browser and the user has multiple sharing accounts to select from.
When a user installs an app, there are terms of service they need to agree to. However, in case the app is not updated, they agree to the old terms. So, it is advisable to keep the terms of service separate from the app. The user could directly be directed to the app website using the InAppBrowser plugin.
Mapping features in app are always useful to find your location and the directions to the desired location. This section will help you in achieving that, using Ionic Native’s Google Maps.
When you develop an app, you want it to look attractive and good on every platform. Also, you don’t want to run the app on different platforms separately and debug them. Ionic 2CLI provides you with integration, so you could view all the themes in the same browser window. This video will enable you to do that.
Every mobile platform has a different theme design. Ionic 2 has built-in features to support the theme changes based on the detected platform, so you could focus on the app experience rather than spending time on the platform.
When the number of users for your app increases, you will not be able to keep track of everyone’s versions. Also, your backend might require parameters from the newer app. In this case, you need to detect the app version locally, so you can notify the users for an update requirement. This video will help you in developing an app that will do the same.
Publishing an app is the final step and would be frustrating if you are not prepared. This section will arm you with whatever you require to publish your app.
Building and publishing an Android app is easier than doing the same for an iOS app. You will see how to do that in this video.
Packt has been committed to developer learning since 2004. A lot has changed in software since then - but Packt has remained responsive to these changes, continuing to look forward at the trends and tools defining the way we work and live. And how to put them to work.
With an extensive library of content - more than 4000 books and video courses -Packt's mission is to help developers stay relevant in a rapidly changing world. From new web frameworks and programming languages, to cutting edge data analytics, and DevOps, Packt takes software professionals in every field to what's important to them now.
From skills that will help you to develop and future proof your career to immediate solutions to every day tech challenges, Packt is a go-to resource to make you a better, smarter developer.
Packt Udemy courses continue this tradition, bringing you comprehensive yet concise video courses straight from the experts.