Many people often ask how to learn how to develop a mobile app for Android or iOS.
Today it’s pretty easy to learn in the sense that you find many resources in various forms: eBooks, videos, Massive Online Open Courses (MOOCs), blog posts etc. But while it’s easy to find resources to learn, having some sort of guideline about where to start is important for getting started and not losing motivation along the way.
How to learn how to develop an Android mobile application?
Developing an Android mobile app is not just learning to program. A mobile application has a user interface that will also be designed and enriched over time. The design is an extremely important aspect of a mobile application which developed by app development company. It should not be neglected.
Today you consider the technical side of applications, that is to say, that an app does its job properly without planting, it became the basis. Even if this work is not easy (software development is a business in its own right), today you differentiate by the design that is to say the design of the application.
Attention is often confused design and aesthetics; it has nothing to do! The graphical interface (UI: User Interface) is part of the design, the user experience (UX: User eXperience) is part of the design as well, the choice of colors and the aesthetics of the buttons also make part of the design but it’s only a fraction of the design of an application.
To start slowly learning mobile development it is interesting to start learning to design. Why recommend this instead of getting into the code right away? Simply because if you come from an environment where you have never planned, learning the design first will be a smoother transition than learning to code. Learning the design requires no special technical knowledge and you can bring your application to life by designing the screens that will compose it before learning to develop.
Moreover, it is a good practice to conceive before coding, moreover, you will have knowledge on the different laws of design which will allow you to make a graphical interface usable, pleasant and especially well thought for your users!
Learn programming for an Android mobile application
What resources to use and where to start?
You just want to learn how to develop a mobile application that you already have 10,000 questions! Which language to use? Why this one rather than another? What are the advantages and disadvantages of developing natively? In multi-platform? etc.
Like when you buy a new car and ask a professional “what is the best car to buy right now? If he is serious, he will answer you: “It depends, what is it for? “. And that’s exactly what I’m going to answer, it’s going to depend on your goal.
There are 2 major ways to develop a mobile app (I’ll explain each solution in more detail): Develop using native language or use a cross-platform tool (cross-platform).
Develop with the native language of the platform
There are several tens (see hundreds) of different programming languages with more or less common concepts, I do not go into details here. Just be aware that you can use several different languages and tools to develop the same mobile application.
But there is only a so-called native language. Native language is the basic language used to develop a mobile application. This is the “default” language, which comes with the operating system and the environment in which the mobile application will run. For the Android system, the native language is Java. For iOS, it’s the Objective-C, which will surely be replaced by the new Swift language.
Short. What is the point of developing with native language?
Advantages
It is the richest language that offers the most opportunities in terms of freedom of development.
You will be able to access libraries developed by other developers to facilitate certain tasks and add features very easily. A library is roughly code written by someone else that you can easily integrate into your application to perform a complex task. For example, drawing curves, 3D effects, etc.
Better support from the community and the operating system provider (Google) that will regularly update its development libraries.
The native code allows you to always have the latest news about access to the hardware of the device on which you work, on the phone or tablet for example. If you need the camera, accelerometer or GPS, no problem, you can still access it.
It’s free.
Develop a cross-platform solution
The problem with the native language, as you have seen, is that it only works on its reference platform. But if you want to develop an application for Android and iOS, you will need 2 different source codes for your application.
It requires 2 times more resources (in time and men) to maintain the same application on both platforms. Galley. To solve this problem, some companies have created cross-platform development tools that can develop with one language for all platforms (even Windows Mobile!).
Advantages
One code for multiple platforms: you only write one source code and you have an app that can run on Android, iOS and Windows Mobile. Big time saving and resources! Note that you will have some specificities to manage anyway, including creating a unique graphical interface for each platform. But this is true also if you develop in native language!
Many people use these tools so the community is not bad to help you.
You can “attack” multiple markets at once: Android, iOS, and Windows Mobile. Your user potential is therefore greater.
The main tools that allow you to develop in multi-platform are Xamarin, PhoneGap, and Appcelerator. There are many others but I will not list them here.
Resources to learn how to develop an Android mobile application
To learn how to develop in a native language, use these few references in this area:
developer.android.com (Google’s official website for Android development)
udacity.com/google (free video lessons by Google)
stackoverflow.com (Q & A programming site)
The first is the reference for all official documentation, I invite you to browse the training section. For starters it’s ideal. Then on Udacity, you will have courses in a video of engineers from Google, there are lessons on pure software development but also on the graphic interface design.
Finally, the last link but not least, StackOverflow (SO for the intimate) is the reference of the forum for developers. Do you have a question? It has certainly already been posted on this site and you will find an answer.
There is a saying that says “it is by forging that you become a blacksmith”, for software development, it’s the same. It is by practicing that you will learn and retain what is needed. Finally, the second mistake is that you often work in his comfort zone, you must go out and explore what is just a little beyond, that’s how you learn. You try a new thing, it does not work, you seek a solution, you start again until it works.
Browse Front PageShare Your IdeaComments
Read Elephant’s Best Articles of the Week here.
Readers voted with your hearts, comments, views, and shares:
Click here to see which Writers & Issues Won.