Yes!🤔 This question might confuse every beginner whenever they are thinking of to starting a new journey here.
So, if you’re one of those enthusiasts here's my article to help you getting started with android app development.
Mobile development is a broad field and therefore this means there are multiple ways to develop an application i.e this question has more than one answers. Basically the whole mobile development community works on two fronts, one is
Native development and
Android development -> using Kotlin and Java
IOS development -> using Objective C and Swift
Cross-Platform -> using Flutter,Ionic,Xamarin,React-Native,etc
First two points is an example for Native and the Third one for Hybrid
By Native Development it means that is built for one specific platform. Hence written in languages compatible with the platform For instance, native Android app run on Android OS only Whereas native iOS apps run on iOS only.
With Cross-platform Development one's can write code once and run on different platforms. Hence specialized tools are taken into service, can run on both iOS and Android platforms.
For someone new to mobile development, its better to learn native first then move to cross-platform technologies( if you want to ),
As of now better hybrid technologies are React-Native and Flutter and to my understanding that to be good in these we need a pretty strong understanding on native mobile development.
So, keep this Native vs Cross-Platform for some others day topic
However this blog is focused in
Native way of Android development
For the languages, you can develop android apps either by using Kotlin or Java, Hence another confusing part for beginners.
You need to learn basic of any programming language before getting started with android such as OOPS and other such underlying concepts
- Java was the first official programming language that is used to develop android apps.
- The support community and user base is more in Java its older than Kotlin.
- Android is the framework written in Java, so to code android android application you need to learn java and make yourself familiar with the syntax
- Launched by JetBrains, who created IntelliJ IDE and it too runs on JVM
- Google in May 2017 announced Kotlin as the official language of Android App Development
- Kotlin made android app development much easy as the length of the code had decreased than Java , and other such features
- For a android developer Kotlin should be the language of choice nowadays
As time is changing the companies are shifting to Kotlin. Hence its most preferred since it offers a lot as compared to Java. Google also offers a lot of support to Kotlin, like many new Jetpack APIs and features will be offered first in Kotlin.
BUT for beginners in android with no experience with any line of codes or any other programming language first learn Android development in
Java, then switch to
- XML is important used to design
UXof an app its, presentation, layouts,etc
- Since its markup language its work is to describes data and introducing elements like sets the layout of things like
images, and defines the
color, and any
To recap, XML describes the views in layout, and Java/Kotlin tells them how to behave.
Its not needed to learn in depth beforehand you can learn along the way.
- Android SDK stands for Android Software Development Kit which is developed by Google for Android Platform.
- Android SDK is a collection of libraries and Software Development tools helps to create android Apps easily.
- Its includes necessary utilities to help Android developers calling different APIs developed by Google both for controlling the device's functions and for integrating services
- Component of the Android SDK such as
Using an IDE Android Studio
There are many IDE available for development,but
It’s unquestionably the best IDE (Integrated Development Environment) for Android
Android Studio is a must have for both the beginner and experienced Android developer.
- Built on top of IntelliJ IDE,developed by Google for android application development.
- Google on 16th May 2013 announced as a official IDE for Android app development.
- Its comes with great out-of-the-box support for many of the most common Android SDKs.
- It has advanced tools like
etchelping developers make sure their code will maintain high performance on a mobile device.
After just understanding the basics of the above listed ,it is now time to get your hand dirty. Hence just install Android Studio and start developing an app, As Practice together along with theory is one of the best ways of learning.
One of the important skill as an android developer is of reading and searching for answer ,For development Android provides the most important and incredible documentation:-
You won’t understand and remember everything for the first time, ones has to browse this sites millions time and each time you will become one step better version from your previous
Here's the link of bunch of resources you can go through
1.Android basics in Kotlin-Free course by Google , you'll learn the basics of building Android apps with the Kotlin.
2.Developing Android Apps with Kotlin - Its an Udacity course by
3.Android Basics: User Interface -Learn the basics of Android and Java programming this courses doesn't require any prior knowledge in coding. One with no experience with any lines of code can also start here
4.Android codelabs - Its practical codelabs course by Google,finds a lot of helpful examples.
NOW ,this section is once you have started Android development and getting familiar, too with some Techincal terms
List of some important terms which you will find along the way -
- Google has released a set of forward-thinking interface guidelines and standards called Material Design, to help build consistent and high quality app UI and give aesthetic look .
- These standards include tips for how to layer various elements on the screen and use specific styles and highlights the best practices for we can use
- Try to feel it. Be the material. Think like material. Behave like material. You shouldn’t miss this point while getting started with Android.
- Gradle is another build system that takes the best features from other build systems and combines them into one.
- “Build.gradle” are scripts where one can automate the tasks.
- For example, the simple task to copy some files from one directory to another can be performed by Gradle build script before the actual build process happens.
- Every Android project needs a gradle for generating an apk from the .java and .xml files in the project.
- There are multiple Version Control Systems available but Git is the most common one these days.
- These are tools that enables you to keep your code and also track your progress.
- Resource for learning Version Control with Git
- Showcasing your project you can learn and build the portfolio on github
5. AND there is many more
- like for Database connectivity Firebase is there
- you’ll likely want to interact with many other services through APIs Jetpack libraries are there.
This list don't ends here ,
When one picks up a career in tech they commit themselves to lifelong learning, and one thing for sure you will love it , as these technologies there only to help you and make your app developing process easier.
Remember to not be exhausted by the list, just learn the basics and start working on some project, rest of the learnings will come along the way. Good luck!
- Reference -
Personal Tips -If you want to start then, one of the best habits is that start reading articles regarding the application development.
Now we came to an end of the article
I hope you found this article valuable. If yes do let me know in the comments 😊