Where to Start Learning Android App Development?
When it comes to mobile development, there are a lot of options out there. React Native? Sencha? SDKs? APKs? Xamarin? It can all seem a bit much. Hopefully this guide gives you a good idea of what you are facing when you develop your first Android Application, and it basic steps it takes to get from an idea, to a Playstore listing.
The Idea
The first step to any
mobile application is the idea. Think of something that you, or someone you
know, would find useful to have on their phone. This could be something simple,
like a new way to browse your favourite website, or something more complex,
that might even involve a bluetooth device. You don't always have to innovate,
you just have to do something better than what is out there.
The User Experience
Don't make the mistake of
underestimating the value of your user's experience within your application. If
a user gets frustrated with your app, they are likely to stop using it. Have a
look at your favourite applications. What makes them pleasant to use? Ask your
friends to try the app out, look for feedback and utilise it.
It may help you to
visualise the interface and use of your mobile application using
"frameworking" and "timeline" software, but you can also
just do it by hand on paper.
The Design
The design of your
application is also very important. This includes the development of a
"Brand", a consistent design throughout your application and store
listing using Logos, colours and fonts.
The Money
No one likes adverts.
It's the painful truth. Ideally, you should avoid trying to monetise your
application too early as you may scare away potential long term users. It's
what Amazon did, they took (and are still taking) hits with their business in
order to secure long term customers.
The Language
Despite what some people
may try and tell you, the ability to write your own software is critical to a
well designed application. It may seem scary to start with, but there are a
large number of guides out there, such as Codecademy,
or scotch.io, that will help you. Don't try to run before you can walk.
As for which language you
should learn, it comes down to what you want from your application, how much
you are willing to spend, and what you are most comfortable with, which will be
discussed below.
Your application will
have to be well developed in order to succeed. After you feel comfortable
developing in your chosen language, it is time to move to mobile development.
You have a number of
options here, some easier than others.
One option is React
Native, which is written using Web technologies, such as JavaScript, JSX and
HTML. This is a version of Facebook's React framework that can run
"Natively" (in the operating systems own language) which generally
increases performance. It can be very difficult for beginners.
Another option is
Xamarin, a framework recently purchased by Microsoft, which uses C# and Visual
Studio.
Yet another option is
ExtJS developed by Sencha, which is again, JavaScript.
The most popular IDE for
Android App Development, and the one I recommend for this guide, is Android Studio, which is multiplatform
(Windows, OSX and Linux), and is developed by Google.
The Backend
Depending on which type
of application you are looking to build, you may need a "backend",
basically a computer which deals with all the data your application requires,
and generates. Applications that require a backend include a social network
application, or a chat application, whereas applications such as a calculator
or similar generally do not require any backend code.
Generally, this is
written using PHP, NodeJS or some other code that sits on a server somewhere,
usually with some sort of database such as MySQL or MongoDB. If you aren't
willing to purchase and run such a machine yourself, there are options out
there such as Amazon Web Services or DigitalOcean, which only charge you for
the resources you use!
The Testing
Ideally, it helps to have
a test device, which could be your own device. To enable development on an
Android device, simply click the "Build Version" within the phone's
settings, in "About this phone".
If you don't have a
device at hand to use, that's okay as well. Most Integrated Development
Environments (IDE), including Android Studio and Visual Studio, include a
device simulator for their respective operating systems. This can be useful to
try different phones with slower hardware and different screen sizes, to make
sure your application is widely accessible.
The Packaging
For the Google store, you
have to create a "Signed APK". The APK is created by the IDE, and
then "signed" using a keyfile that is generated using your
information. This key is unique to you, and makes sure that no one else can
upload a copy of your application with embedded malicious code.
Google Playstore has it's
own guidelines and procedures that you must follow for it to be accepted, and
it is not uncommon for applications to be rejected, so be careful.
If everything goes well,
you will be able to see your application in the store of your choice. Good
luck!
Comments
Post a Comment