Starting out with Android app development - best approach Java, Kotlin, Python

stephen brackstone

New member
Nov 25, 2019
2
0
0
Visit site
Hi all

Hope this question does not get completely shouted down but it is a broad question.

I am starting out in learning to build Android Apps So far I can write in jQuery, Python and most web languages but have never used Java

My question if whats the best platform for a beginner to start on.

I've just started using Android Studio with Kotlin and although I find the studio very nice Kotlin to me looks a lot like Java which is more difficult to learn than Python (my opinion please don't shoot).

I've also used Kivy on python and I think its not so good at building Androids Apps as the Android studio.

So any thoughts. Any one got any web links to a good beginners on Android Apps?

Should I learn Kotlin first the Android Studio?

Or is python new upcoming language and if so can I use a phone simulator same as Android Studio?

Any help for a beginner with be much appreciated.
 
Last edited by a moderator:

Rukbat

Retired Moderator
Feb 12, 2012
44,529
28
0
Visit site
The best platform for a developer to get started on is ... programming. In English. Programming is problem solving, it's not coding. You code an app after you've developed it.

If you're a beginner you can't think in code, you think in English. (After more than 45 years of development, I sometimes think about solving every-day problems, having nothing to do with programs, in some programming language or other. [After about 10 years of spending 40 hour weeks (or 50 or 60), you begin to think in code as just another language you understand. Anyone who's multi-lingual does it. It doesn't matter if it's English and Italian or English and Java.)

Once you've learned programming (and you don't learn programming from a "Learn Java in 21 Days" book, you learn it by going through a course like Teach Yourself Computer Science or CS50: Introduction to Computer Science), then you develop your app - in English, in a flow chart, in something you can think in.

Then you decide which language to code which parts into. (Forget Python for Android - that's like scratching your left elbow with your left hand. It can be done, but you're left with a broken left arm.) Some parts of an app are easier to code into Java, some are easier to code into Kotlin. It doesn't matter - Android studio can switch from one line to the next without your telling it anything - it compiles both languages. (They're basically the same anyway. It's like the "difference" between JavaScript and jQuery. Some things are just easier to type in Kotlin.)

But you're getting ahead of yourself - don't try to learn coding (in any language) until you've learned programming. If you do, you might make an app that runs (notice - "make", not "develop" - there's a difference), but it won't be anything that anyone will want.
 

stephen brackstone

New member
Nov 25, 2019
2
0
0
Visit site
Hi Rukbat

Thank you for the reply, reading through what you have said I will drop python and stick to Java and Kotlin.

I have been programming and coding for some years now mainly in web development and embedded systems. I'm learning apps not to sell but as a side interest. Never had any real reason to learn this but now my son is looking to go to university to become a programmer/developer so thought i would help him out in any way I can.

I totally agree with the problem solving, something he will need to learn, but in the end you still need to understand how the code is constructed to be able to implement it.
 

Rukbat

Retired Moderator
Feb 12, 2012
44,529
28
0
Visit site
Very true. (And I come from the same background - embedded systems, Windows programs, then web development.) He's going to have to learn the same way you did - one step at a time.

As far as how the code is constructed, Kotlin is just "Java Light" - some of the things you have to mangle by hand in Java are done in one word in Kotlin. Start him on Java, then - when he's competent - start showing him Kotlin. I know when that happened to me - Turbo Pascal 3 to 4, I was so relieved - they did all the scut work for us. He'll probably feel the same when he moves to Kotlin. "I had to write this whole thing by hand in Java!" But he'll understand what that one word is doing under the hood.

Java's pretty simple, though. It's understanding the environment that takes time. But Android Studio gives you an "Android Emulator", so you can write a few lines of code and see what it does on a phone. (There are loads of "how to develop Android apps" videos on YouTube. If he follows along, adding the lines they show - even if he doesn't fully understand them yet - he'll see the why and the effect.)
 

Members online

Trending Posts

Forum statistics

Threads
943,901
Messages
6,920,579
Members
3,159,290
Latest member
Janvi212