Creating A Mobile App From Scratch

Most businesses will at some point find a problem that could be overcome by developing a mobile app. For a lot of people though, the time, money and skills required to develop a mobile solution are often lacking and a different solution is implemented.

However, recent advancements in web and mobile application development mean that creating a mobile app could now be faster, cheaper and easier than you thought.

To create a mobile app you need all of the following:

  • A problem to solve
  • A database to store the data
  • A technology to build the app front end
  • Somewhere to host your app
  • The ability to install to a mobile device

This could seem a little daunting at first, but I will break down each heading above and show you how achievable it actually is to develop your own mobile app.

A Problem to Solve

The most important thing you need is a reason to develop a mobile app. Many businesses decide they want an app without actually knowing what they need one for, so make sure you wouldn’t actually be better off with a responsive web app.

A mobile app can generally be useful when you can narrow down tasks for a specific set of users and want them to be able to quickly and easily perform this task on the move.

A Database to Store the Data

All apps are going to need some kind of database and I would recommend jumping straight in with the best one – Oracle. It’s the most robust, feature-rich database there is and it’s been around since the late 70s, with PL/SQL introduced in 1992 and still going strong. Code written back then will still work in a current version of the database, so you know you are future proofing your data by going with Oracle.

Sometimes Oracle gets criticism for cost compared to free database offerings, and also for resource consumption, which leads us on to our next point.

Somewhere to Host your App

Data for your mobile app needs to be accessible at any time and any place. So the cloud is easy choice here. Oracle Autonomous Database actually offers an Always Free tier – an entry level cloud platform that includes two free databases and all the tools you need to manage the database and build applications. This will allow you to build most mobile apps with no hosting costs whatsoever, and access to web service integration allows you to communicate with other databases elsewhere if needed.

A Technology to Build the App Front End

This is my favourite thing about the Oracle database and cloud offerings – they come with Oracle APEX – a low code tool that allows you to quickly and easily build web and mobile applications on top of the Oracle database.

I use this tool every day to develop bespoke applications for customers, and if there was a better tool out there I would be using that instead.

APEX is super easy to pick up and learn and has a hugely active community (just check out the #ORCLAPEX hashtag on twitter!) so if you get stuck there will always be someone willing to help you out.

APEX produces web based applications powered by PL/SQL. You can create an app with no code whatsoever, but if you have existing PL/SQL, HTML or JavaScript skills, you can make APEX do even more.

If you want to learn more about APEX there is lots of literature on our website, and we even offer training courses for those that want to become an expert.

The Ability to Install to a Mobile Device

While APEX lets you create amazing low-code web apps which responsively work on any mobile device, it doesn’t natively let you create an app that you can install to a mobile device. To solve this problem, we need to implement our app as a Progressive Web Application (PWA).

A PWA allows us to prompt the user to install our app to the home screen of a mobile device. The app will then open full screen and function just like a traditional mobile app. The best part about this is that it will work on any device due to the fact that it is running in a browser, you don’t have to develop something platform specific.

There are lots of blogs which describe how to turn your APEX app into a PWA, but my favourite resource is this blog from Johannes Michler. This blog gives you a step-by-step guide to transform your APEX app into a PWA on the Oracle ATP Cloud, along with sample files that you can download and import into your app to get it up and running in no time at all.

And that’s it! If you follow the steps and links above, you go from mobile app idea to having the app built without spending a penny or investing too much time. The only limitation of this solution is that your app will not natively work without an internet connection as the app is served up from the Oracle cloud, but if you disable the internet connection on your phone, how many apps even work? I’m yet to find a client that would prefer to pay for a ‘works offline’ implementation rather than sticking with the out-of-the-box APEX solution, so a native APEX app with PWA capabilities is an excellent combination for a lot of mobile development.

Craig Sykes Contributor
Senior Oracle Development Consultant , Explorer UK Ltd

Craig is a Senior Development Consultant at Explorer. Craig has an MSc in Computing Science and is an experienced software engineer, utilising development tools such as PL/SQL and APEX to provide bespoke ERP software to both UK and international businesses. Craig has experience developing solutions to connect Oracle systems to a wide range of existing external applications within business environments.

follow me