Building Hybrid Mobile Apps
Chapter 1 – Intro
Everyday millions (billions?) of people use a multitude of apps on their phones to accomplish various business or personal tasks. Without question, every mobile phone user eventually asks the question “Is there an app for that?”. In many cases that answer is yes, but many users are disappointed in their app searches and end up saying “I wish there was an app for that”. Sometimes however the most popular apps are the ones no one even knew they wanted.
Many users wonder what does it take to build an application. Today there are many different tools, companies, and approaches to building mobile applications. The good news is it is easier than ever to make fully functional and useful mobile applications. The bad news is the sheer variety of options and opinions on the subject. The great news is many of these options do not cost any upfront money as the tools are free to use.
One big decision is deciding between writing what is called a “native” application versus a “hybrid” or “web” application. A native mobile application is an application that utilizes the primary development environment of the platform and is usually makes use of many platform specific features. Native applications tend to have the fastest performance. On iOS native applications are typically written in Objective-C or Swift. On Android native applications are written in Java. The downside of native apps is that they are not as easily ported to another mobile platform.
You can build Cordova apps using a text editor and the command line tool however you will be much more productive using an Integrated Development Environment. The environment I choose to use is the Microsoft Visual Studio environment. This community version of Visual Studio is free and includes almost everything you need to develop Cordova apps. The only thing you have to supply yourself is a Mac running OS X if you want to compile, debug, and deploy iOS applications.
Many applications require a backend service running on a server to be functional. In this series we will cover building a backend service using node.js and the MySQL database. Both of these options are completely free to use and are supported from within the Visual Studio platform. The backend service we create can be deployed to any cloud service provider such as Amazon or Azure. We will discuss the steps in building a simple RESTful API for your mobile application to utilize.
In the next chapter of this series we will go ahead and go through the steps to setup your environment to start building applications. A new chapter will be released every few weeks.
- Preparing your environment
- Your first app
- Backend and databases
- Push notifications
- Location services
- Deployment to app stores
- Managing updates
- Monetizing your app
- Writing your own plugin