So you want to become a Mobile-App developer?steemCreated with Sketch.

in #howto8 years ago

A lot of people have come to me recently asking about how to get started with mobile app development. This is understandable with the current job climate, learning to code becoming more accessible than ever, and the mobile industry booming. So what does it take to become a mobile app developer?

I am going to talk to you about one approach, which I think is the best in the long run, especially if you are just learning to code now. Javascript.

Javascript used to be a language just for websites and when it first arose it was an untidy, temperamental language, which was interpreted differently by different browsers, and was generally slow and inefficient.

In recent years the specification and coding practices have vastly improved, the libraries have grown exponentially and the support and consensus across different platforms has become great. Instead of just using javascript to make a few things move around on your website, it can now create mobile apps in conjunction with Cordova, run efficient web servers using NodeJS and even build multi-platform desktop programs using Electron! So it is clear that javascript is a language of the future.

My experience lies mainly within Cordova, so that’s what I’m going to be covering. Cordova will essentially be packaging your code for Android and iPhone and running it inside a WebView (lightweight web browser) inside the phone. This means you only have to write one version of the code and Cordova does the rest. Otherwise you would have to write two versions of the code, one for Android, one for iPhone.

What is the downside to this? At the moment these applications will not be as fast as they could be, and bigger in size. Having a web browser run your code on the app is slower than writing native app code. There is a thing called React Native which allows you to write one version of the code and it will compile it to native code for you. This will run faster on the phone but is new technology, lacks decent visual libraries and has a steeper learning curve.

The way I use Cordova is with a framework called Ionic which provides lots of great visual components, along with a variety of other useful services should you need them. I write in javascript using a library called Angular. Angular will effectively change the style in which you write your javascript, and force you to use strict conventions. This will make your code easier to read and shorter in length.

I should mention to the people who have no concept of web or mobile development is that you will also be writing HTML, which defines the structure of the components you can see on the app. So the process goes somewhat like this:

  • Write a basic index HTML file, telling it to include the Angular library and other assets
  • Write Angular (javascript) code, defining navigation between different “views”
  • Write HTML for each view (where buttons are placed etc.)
  • Write more Angular code to define user interaction with HTML components
  • Run project in your web browser using an Ionic command in your Command Line Interface
  • Test project, find bugs, fix bugs
  • Use Cordova to build your project for Android and iPhone using another Command Line command
  • Test projects on phones
  • Release to app stores when everything is fine and dandy

These steps sort of blur together with you jumping back and forth between some of them, but you get the basic idea.

So where do you start? Well I guess I’ve made it sound quite easy, jumping right into this process with no experience will give you a massive headache, a load of frustration and probably end up with you giving up quite quickly. You need to start with the basics, HTML and Javascript.

I recommend starting off with some HTML tutorials. Build some web pages, get comfortable. Once you feel you have mastered HTML, start throwing in some Javascript to make the components on your page change style and position. For this you could use another javascript library called jQuery, which simplifies things a lot. When you are starting to get comfortable with that I recommend making some actual websites, or maybe helping your friends fix problems with theirs. You should have a good understanding of the DOM before you move to Angular. Make sure you understand what the code is actually doing under the surface and how the browser operates.

So once you’re comfortable with making basic websites, it’s time to try Angular. This has a lot steeper learning curve than the technologies you will have used so far so you must be patient. Make some websites with Angular, do some experiments, get comfortable.

Now you can install Ionic and Cordova and get started! There are plenty of tutorials on internet, just use Google. Just remember to take things slowly and persevere. I have always found development fun (although sometimes frustrating), so if you don’t find you naturally enjoy it, you may want to consider if becoming a developer is for you. Thanks for reading and good luck!

Disclaimer: To professional coders, I am aware this explanation is a bit rushed and I have only covered one approach to making apps. If I have made a mistake in the definition of any of the technologies mentioned, I do apologise. This was meant to be my suggestions and opinion, not a rulebook. Please comment and let others know if there is anything I have missed or if there is anything you would do differently!

Sort:  

if only i had such a skill..

oh yea, don't forget to follow me if you want more posts about technology, futurism, politics, entrepreneurship and coding!

Coin Marketplace

STEEM 0.19
TRX 0.13
JST 0.030
BTC 63850.79
ETH 3415.87
USDT 1.00
SBD 2.46