Since I decided to jump into an Android application development project from April, I will summarize what I learned in advance and what I am studying right now.
Since the transition from the Web to the app has a lot of paradigm shifts, you want to know the atmosphere first. I am through
I was able to learn without megging.
difficulty | :star: |
Time spent | 10 hours |
A video learning site called Udacity offers free courses created by Google. There are many courses, but I did the following smoothly. What is JSON? There is also a part like this, so you don't have to clear all of them. Please skip it.
I didn't take a course on how to make a screen, but if I knew the HTML, I could start writing with uncode: shit: for the time being.
The good thing about this course is
That is. A person from Google's Android team speaks expressively. The language is English, but you can understand it in the atmosphere because there are many figures.
There are a lot of bullet points
This will be the screen of the assignment as it is. It's a smooth UI!
Immediately after editing the code, there is an answer part. Of course, the answer is also posted on GitHub, so you can move it at hand and check it immediately.
By repeating these small steps, I was able to get a feel for the atmosphere by being exposed to a lot of Android app templates!
difficulty | :star::star::star: |
Time spent | 10 hours |
This is also a Google lecture from Udacity.
Here you can try writing an application that uses all the functions after understanding the above course. I did the basics of the basics, API communication and DB surroundings that I could use immediately at work. It also describes how to use GitHub, so I think that those who have experience in web development are unnecessary. Please skip it.
This course is also a little more difficult, but it is still kindly designed!
Kotlin is better Java so learning costs are not so high
I've heard that in advance, and if you've actually used the Stream API in Java, you're fine. However, of course, there are parts where the idea is different from Java, so there are moments when it is difficult to understand at once. It wasn't that sweet.
Kotlin Koans
difficulty | :star: |
Time spent | 10 hours |
A simple collection of problems that understands the characteristics of programming languages is called Koans, which is the Kotlin version. It is made by JetBrains, and by passing the test, you can get a rough idea of the characteristic functions of Kotlin.
In this product, Retrofit for API communication, orma for OR mapper, DI container I use Dagger for and RxAndroid for asynchronous processing.
difficulty | :star::star: |
Time spent | 6 hours |
Through the Udacity course, I managed to grasp the procedure for creating an app, so next I will try the libraries used in the product one by one.
However, I haven't written the app from scratch yet, so I wrote the Todo app after reviewing it.
I found out why ToDo apps are a staple of language and library tutorials. It meant that you could never do complicated work after that unless you could make it without looking at anything as quickly as a ToDo application.
After that, I wrote an app that lists new posts by hitting the Qiita API using Retrofit.
Another thread processing is realized by RxAndroid, so I was able to practice together here. I was able to try Kotlin conversion later, and I was touched on Kotlin x Android a little.
RxAndroid made a lot of progress when my colleague gave me a good article if I was having trouble with the idea of RxJava at first.
orma made a simple data recording app.
This is also processed in a separate thread at RxAndroid](https://github.com/gfx/Android-Orma) when registering data.
Dagger will be included in the above recording app. I'm doing my best now.
difficulty | :star::star::star: |
Time spent | --- |
We are working hard day and night to make the above recording app into it.
To be honest, I haven't done much about the Clean Architecture and DDD that the product chooses as the foundation, and after I entered, I read the wiki in the team and deepened my understanding by having the team members teach me. ..
difficulty | :star: |
Time spent | (I'm reading, but to see the pace so far, until the end)4 hours |
I think you should actually read Eric Evans' book, but first, in order to acquire the knowledge to talk with the team members who are seniors of DDD, Understand! I'm reading Domain Driven Design ~ Mochiko-chan's Adventure ~. Rather, I read it as a team after the morning assembly.
Of course, the above things have helped me, but of course I'm not enough at all and I keep studying every day. However, at this point I think it wasn't bad to get out of the state of not knowing anything, so I hope it will be helpful for people in similar situations!