What you need to know to start building mobile apps with the Ionic Framework

Some of the prerequisites for building mobile apps

Posted on October 18, 2014

I’ve been asked a few times what someone needs to know before they can use the Ionic Framework. I believe anyone can learn Ionic and become an effective mobile app developer, but there are a number of skills you will need to have a command of to be successful. Depending on your style of learning, you might find it best to pick up each skill individually or you might prefer to jump in head first and muddle through it all together. I’ll give you some tips and point you to some resources to help you get started.

What you really have to know to build Ionic apps

There are a few things that you really need to understand before building mobile apps with Ionic. Learning these skills will ensure a higher level of success as you build your app.

HTML

You should know how to build HTML pages and have a good command of all of the available elements. You’ll need to know about the DOM and how HTML determines the structure of the page.

You will want to brush up on the newer tags introduced, such as the newer inputs types. You should also be familiar with how to use the browser inspector tools to look at the DOM and understand the internal workings of the content.

Level up on HTML with HTML in Action.

CSS

While Ionic has already done a lot of heavy lifting with CSS for components, you will want to be familiar with CSS including the newer CSS3 features. For example, the scrolling component uses the CSS transform property, which can be important to understand.

You should be familiar with browser prefixes for CSS rules and how to inspect the page styling to narrow down what CSS rules are controlling which elements.

JavaScript

Understanding how to write JavaScript and being familiar with concepts such as scope and terms like object will help you to become successful. You cannot build an Ionic app without some JavaScript.

Knowing how to use jQuery plugins or how to copy and paste ‘snippets’ from the web will not prepare you for writing pure JavaScript. To get the most out of building an Ionic app, you’ll really need to have a reasonable command of the language, its structure, its limitations, and its syntax.

Level up on Javascript with Secrets of the JavaScript Ninja.

What you don’t have to know, but if you do you’ll be ahead of the game

Don’t get too caught up in feeling like you must know everything before you start. It can be a crippling challenge to overcome.

AngularJS

If you don’t know AngularJS yet, that is ok! However you do need to be prepared to learn it. To make a top quality app, you will have to be able to leverage Angular to its fullest. There are many features of Angular that you might never use, but that depends on the requirements of your project.

If you do know Angular, you’ll find that building apps with Ionic is very logical and consistent with how you are currently building web applications. After all, Ionic is built on top of Angular.

Level up with Angular using AngularJS in Action and AngularJS in Depth.

Cordova

Cordova is a platform that allows you to build a mobile app using a web application. Ionic could be used with other hybrid application platforms, but Cordova is quite popular and the primary tool used by the Ionic team (and is the core part of Phonegap). You’ll learn about Cordova during your time spent building apps with Ionic, but you don’t need to have any experience with it to get started. If you’ve built apps in the past with Cordova, then you’ll be able to apply your experience with Ionic apps.

Learn it along the way

I’m a big fan of learning as you go rather than trying to learn everything before you begin. I recommend that if you have a solid foundation in building websites and web applications, you’ll be able to jump into mobile apps with Ionic and learn the skills along the way.

If you are new to web development in general, you will want to ensure you spend time learning the core technologies of HTML, CSS, and JavaScript. I’ve heard from new developers that they try to jump too far and get lost, and if you feel that way then you can take a step back and work on the base technologies.