Non programmer I want to learn Kotlin to create An...
# getting-started
i
Non programmer I want to learn Kotlin to create Android apps and design them in a way that I can port them to iOS as well. Please share the best way to start learning. Any course would do.
c
Do you want to be a programmer?
i
Hey @CLOVIS yes I want to be proficient enough to start learning by myself. I started out with Kotlin because it will help me build a side project and along the way I would learn.
c
Side projects are a very good way to learn. Start with something very simple (even if you think ) like a simple terminal tic-tac-toe or a minesweeper. I insist, without a proper UI, without thinking of Android or iOS. It's much harder than you think now, and it will teach you a lot about code organization without having to worry about things specific to Android or iOS. Depending how fast you learn and how much time you have on your hands, this will already take you a week/a month/or more. For modern apps, you will need to understand parallelization (e.g. coroutines). This could be as simple as making your tic-tac-toe properly multiplayer, but this is already more complicated than you'd think. If you're end goal is multiplatform code, I encourage you to use Ktor at that point, as you will be able to use it as-is later. After that, it would be a good thing to find a simple idea of an Android-only app. After you're done with this, you will have enough knowledge to start thinking of multiplatform.
This seems complicated, but trust me, this is more or less how everyone started. It's not possible to make something big fast. Start slow and pay attention to everything you're doing so you don't get lost / overwhelmed. Android is built upon decades of architecture decisions made by hundreds of people based on their previous experience, you need at least an idea of how to architecture your code to be able to understand why they force you to do the things they force you to do.
What's going to differ depending on who you ask is which order you should learn things in. My personal opinion is: Kotlin (including classes etc) β†’ Coroutines β†’ Network (e.g. Ktor) β†’ Regular Android β†’ Multiplatform
expect each step to take at least a few weeks if you're really quick.
πŸ™Œ 1
i
Thanks a lot @CLOVIS this makes so much sense . I will start laying out a plan for myself, hopefully maybe in a year I can start to crawl πŸ˜„
c
Don't hesitate to ask here for any of these steps, for the first step #getting-started is good, then you can read in #coroutines, #ktor, #server, #android etc
πŸ™Œ 1
i
I am pinning this to my dm. Super thankful to you for taking time out. I have some direction now.
c
also btw not strictly Kotlin, but you will want to learn how to use Git. It's a free tool that manages your project so you don't accidentally forget stuff etc. As long as you're working alone, you only need the basics. Keep in mind that virtually all companies use Git for their projects, so it's definitely worth your time.
i
yes I am using github
m
I would just add that remaining motivated is really important and you never really stop learning as a programmer. So don't panic if you spend lots of time and still feel like there's loads you don't know, that's normal πŸ˜„
I came across this video the other day that has lots of good tips around learning and focus

https://youtu.be/G476MDKTeTUβ–Ύ

πŸ™Œ 1
i
Hey @Mat Moore thanka a lot for responding. This is a really interesting video, I will watch this.