Android And iOS Development
Why Android App Development?
Just thinking of it is already scares and causes anxiety in most of us since it sound complicated, but let’s not worry too much about it and dizzying ourselves with unnecessary exaggerated imagination of its complexity. Let’s start at the beginning and go through it step by step.
But the thing is, why would you even learn Android app development? Well, when you learn Android development skills, you will gain access to not just smartphones but other mobile devices that run on Android OS such as tablets, smart televisions and now even smart watches!
Another thing is, Android system is easy to develop compared to other platforms, this doesn’t mean it is far simpler to code for, but just less barriers. As a beginner, you will need to start things off with Android SDK, Android Studio and Java JDK. Don’t worry, it won’t cost a single dime as these tools are all free to download and use, and they’re easy to install and set up. For starters, you start building a simple app, and might only requires a single visual designer, though if you have the knack for visuals and graphics you can jump into it immediately. If you found yourself stuck somewhere, there are plenty of tutorials on the Internet.
Once your app is completed, you only need to create an APK file which is a very simple process (this file contains your app and for easy installation of the app) and then, you can submit to Google. For submission you only need to pay one-off 25$, then you’ll be able to upload unlimited amount of apps. Once uploaded and approved by Google, your app will be visible within hours. This is because Google Playstore makes easy for people to find and download your newly created app. Chances for you to create a popular and successful Android on Google Playstore is far more easier compared to PC and Mac.
What’s more, Android app development skills are in high demand right now especially Java, the number one and official language for Android programming which highly sought by companies!
These Are The Reasons Why
These ideals reasons are why you should start learning Android development skills. Let’s see it; creating and getting an app on IOS is harder and it’ll probably will only reach a small audience. Developing for PC will find yourself struggling to find right platform to get the word out for the software or hardware you’re developing. But with Android, it is fairly easy to develop, and be discover by a fair amount of audience. This is because you’ll creating apps for devices already in pocket of most people and on a store that people will regularly check.
Finally, Getting Started
If you have read this far down, means you’re piqued and convinced. But just what are things you need to kick things off?
The most obvious thing would be a decent computer, not a potato computer. How to know for sure whether it’s decent enough to run your Android development tasks? If it’s manufactured recent or last couple of years and runs on latest Windows, it should be decent enough.
Then, you need to down these three things first:
- Android Studio
- Android SDK
- Java JDK
Download the latest Android Studio. Make sure you choose and download the latest version, you can spot which one easily with the help of recommendation by Developer.Android. Back then, Android SDK must be downloaded separately but not anymore because comes together in package with Android Studio, so less the hassle for you.
The next thing you need is the Java JDK or Java Development Kit. This kit will allow your computer to interpret Java code, the preferred programming language for Android along with Kotlin, the newcomer. This is a crucial component because your app will be written in Java. You won’t have to touch anything else, unless you changed computers. The you have to download it all over again.
Now, what is Android Studio? Android Studio is the official integrated development environment (IDE) for Android app development. This will act as your central/operation hub and where you will enter the Java code, debug apps and manage all your projects. This software lets you test and code using it’s provided interface. But to do so, you’d be needing another tools.
Android Software Development Kit or Android SDK is a selection tool required for Android development. Included in this selection of tools is an additional code that will act as a bridge between the Java and Android devices (to allow you access native Android devices), features that will help to compile and run apps, and other useful tools during coding work such as emulator to test your app on. An emulator is a software that lets you run Android apps on your PC without additional hardware.
Android SDK now comes together in package with Android Studio. Just download and install, then you are all set and good to go.
How It Really Works In The Nutshell
Android app is written using Java, which requires JDK, that has additional functionality on top of it and this thanks to Android SDK. It also consists of various images, layout files, music, and other resource files. This where Android Studio puts all of together for us when you click on Run or Export, then the process of putting the code into a container called APK takes place. Think of it like .zip file, compressed and like .exe, works as an installation file. By this stage, you only have one file to share and run in order to distribute your programs.
Well, that’s the gist of it, there are more to it than that actually. But let’s understand the basic of how things work with Android app development before we get our hands dirty!
What About iOS?
Coding IOS is nothing like Android, it is more meticulous and strict. This what most IOS developers i have encountered told me. One in particular has 8 years of experience developing countless IOS app. And he has 5 tips or hacks to share with us.
There’s nothing go wrong when you stay native. The logic is every cross-platform technology will surely add another level complexity and headache, not to mention potential bugs. The actual time savings also vary. He also said that many larger projects regretted going from native to cross-platform, while the opposite never said a single complaint.
Stay Away From External Libraries
Try to avoid external libraries, it’ll only complicate matters. Plus, most of things can be solved just as smooth and well by using the native framework. He said the best example is networking, you do not need some fancy schamancy library to do that. Just build a wrapper basing on IOS networking and the needs of your project.
No Package Manager
No external libraries equals to no package manager! Why? Because a package manager is for managing all those external libraries. A dedicated tool for this won’t save you any time.
Make Layout In Code Instead Of Storyboards
He told me that storyboards may help in the beginning but then as you go further and further into it, you’ll reach a point where you’d needing more dynamic layout, well storyboards won’t just cut it, heck, it might even complicate things for you. So why not start coding from the start, in the layout itself. He said he have seen a lot of storyboards that are pretty much empty view controllers without content. Like mentioned earlier, complex for something that can be write easily. He suggested to put all the layout logic in the code, without storyboards or autolayout. It is very simple and flexible to boot!
Use Core Data
Core Data is rarely touched by people new to IOS, it is because it’s complex, requires a lot of boilerplates to get started and it doesn’t look very appealing at first. He told me that he tried it few times but then he failed, that was until he stumbles on this great article. After he read it, he decided to give it a try one more time. Gradually, he learned his way around it and everything came into place. He told me that Core Data is the way to work on data for IOS. It is very powerful and able to help you fix some really difficult problems like persistence and data change propagation much needed in every app.
He told me if you are into iOS development, then just follows this five hacks. It should help you survive and keep things simple for you throughout the years of your career in iOS development.