À quoi me suis-je préparé lorsque je suis entré dans un projet de développement d'application Android tout en développant le Web avec Java?

Depuis que j'ai décidé de me lancer dans le projet de développement de l'application Android à partir d'avril, je vais résumer ce que j'ai appris à l'avance et ce que j'étudie en ce moment.

supposition

Ma situation

État de la question

L'ensemble de compétences que vous souhaitez acquérir pour participer au développement

Je veux comprendre l'atmosphère du développement d'applications Android en premier lieu

Étant donné que la transition du Web vers l'application comporte de nombreux changements de paradigme, vous voulez d'abord connaître l'atmosphère. Je suis à travers

J'ai pu apprendre sans megging.

Cours vidéo conçu par Google: principes de base

difficulté :star:
Temps passé 10 heures

Un site d'apprentissage vidéo appelé Udacity propose des cours gratuits créés par Google. Il existe de nombreux cours, mais j'ai fait les suivants à la légère. Qu'est-ce que JSON? Il y a aussi une partie comme celle-ci, vous n'avez donc pas à les effacer toutes. Veuillez l'ignorer.

Je n'ai pas fait de conférence sur la création d'un écran, mais si je connaissais le HTML, je pourrais commencer à écrire avec uncode: shit: pour le moment.

La bonne chose à propos de ce cours est

C'est. Une personne de l'équipe Android de Google parle de manière expressive. La langue est l'anglais, mais vous pouvez la comprendre dans l'atmosphère car il y a beaucoup de chiffres.

図つきで説明してくれる

Il y a beaucoup de bulletins des points

箇条書きでさえ丁寧

Ce sera l'écran de l'affectation tel quel. C'est une interface utilisateur fluide!

そのまま課題が始まっちゃう

Immédiatement après la modification du code, il y a une partie réponse. Bien sûr, la réponse est également publiée sur GitHub, vous pouvez donc la déplacer à portée de main et la vérifier immédiatement.

En répétant ces petites étapes, j'ai pu me faire une idée de l'ambiance en étant exposé à de nombreux modèles d'applications Android!

Cours vidéo réalisé par Google: édition pratique

difficulté :star::star::star:
Temps passé 10 heures

Ceci est également une conférence Google de Udacity.

Ici, vous pouvez essayer d'écrire une application qui utilise toutes les fonctions après avoir compris le cours ci-dessus. J'ai fait les bases des bases, de la communication API et de la base de données que je pourrais utiliser immédiatement au travail. Il décrit également comment utiliser GitHub, donc je ne pense pas que ce soit nécessaire pour ceux qui ont de l'expérience dans le développement Web. Veuillez l'ignorer.

Ce parcours est également un peu plus difficile, mais il est toujours bien conçu!

Je veux pouvoir écrire Kotlin

Kotlin est meilleur Java, donc les coûts d'apprentissage ne sont pas si élevés

J'ai entendu cela à l'avance, et si vous avez réellement utilisé l'API Stream en Java, ce n'est pas grave. Cependant, bien sûr, il y a des parties où l'idée est différente de Java, donc il y a des moments où c'est difficile à comprendre à la fois. Ce n'était pas si doux.

Kotlin Koans

difficulté :star:
Temps passé 10 heures

Une simple collection de problèmes qui comprend les caractéristiques des langages de programmation s'appelle Koans, qui est la version Kotlin. Il est fabriqué par JetBrains et en réussissant le test, vous pouvez vous faire une idée approximative des caractéristiques de Kotlin.

Je souhaite pouvoir utiliser différentes bibliothèques incluses dans le produit

Dans ce produit, Retrofit pour la communication API, orma pour OR mapper, conteneur DI J'utilise Dagger pour et RxAndroid pour le traitement asynchrone.

Écrivons une petite application qui n'utilise que cela à partir de zéro

difficulté :star::star:
Temps passé 6 heures

 Grâce au cours Udacity, j'ai réussi à comprendre la procédure de création d'une application, je vais donc essayer une par une les bibliothèques utilisées dans le produit.

Cependant, je n'ai pas encore écrit l'application à partir de zéro, alors j'ai écrit l'application Todo après l'avoir examinée.

TodoApp

J'ai découvert pourquoi les applications ToDo sont un élément essentiel des didacticiels de langage et de bibliothèque. Cela signifiait que vous ne pourriez jamais faire de travail compliqué après cela, à moins que vous ne puissiez le faire sans regarder quoi que ce soit aussi rapidement qu'une application ToDo.

Après cela, j'ai écrit une application qui répertorie les nouveaux messages en accédant à l'API Qiita en utilisant Retrofit.

QiitaReader

Un autre traitement de thread est réalisé par RxAndroid, j'ai donc pu pratiquer ensemble ici. Plus tard, j'ai pu essayer la Kotlinisation, et j'ai été un peu touché par Kotlin x Android.

RxAndroid a fait beaucoup de progrès lorsque mon collègue m'a donné un bon article si j'avais des problèmes avec l'idée de RxJava au début.

orma a essayé de faire une simple application d'enregistrement de données.

MoodKoro

Ceci est également traité dans un thread séparé avec RxAndroid](https://github.com/gfx/Android-Orma) lors de l'enregistrement des données.

Dagger sera intégré à l'application d'enregistrement ci-dessus. Je fais de mon mieux maintenant.

Combinez-les tous

difficulté :star::star::star:
Temps passé ---

Nous travaillons dur jour et nuit pour y intégrer l'application d'enregistrement ci-dessus.

Je veux apprendre le concept de design

Pour être honnête, je n'ai pas fait grand-chose au sujet de l'architecture propre et du DDD que le produit choisit comme base, et après mon entrée, j'ai lu le wiki dans l'équipe et j'ai approfondi ma compréhension en demandant aux membres de l'équipe de m'apprendre. ..

Lisez un livre simple sur DDD

difficulté :star:
Temps passé (Je lis, mais pour voir le rythme jusqu'ici, jusqu'à la fin)4 heures

Je pense que vous devriez en fait lire le livre d'Eric Evans, mais d'abord, afin d'acquérir les connaissances nécessaires pour parler avec les membres de l'équipe qui sont des seniors de DDD, Comprenez! Domain Driven Design ~ L'aventure de Mochiko-chan ~ est en cours de lecture. Je l'ai plutôt lu en équipe après la réunion du matin.

Je suis heureux que vous puissiez l'utiliser comme référence

Bien sûr, les choses ci-dessus m'ont aidé, mais bien sûr je ne suis pas assez et je continue à étudier tous les jours. Cependant, à ce stade, je pense que ce n'était pas mal de sortir de l'état de ne rien savoir, alors j'espère que cela sera utile pour les personnes dans des situations similaires!

Recommended Posts

À quoi me suis-je préparé lorsque je suis entré dans un projet de développement d'application Android tout en développant le Web avec Java?
Construction d'environnement de développement d'applications Web en Java (pour les personnes inexpérimentées)
[Développement personnel] 8 choses que j'ai faites après la publication de l'application Web
[java] Ce que j'ai fait en comparant des listes dans ma propre classe
Ce que les débutants du développement Android ont fait avant de publier l'application dans 2 semaines
[Android Studio] Définir une image arbitraire pour l'arrière-plan de l'application [Java]
Ce que j'ai fait lorsque JSF ne pouvait pas afficher les informations de la base de données dans la vue
Ce que j'ai fait lorsque j'ai converti Java en Kotlin
[Développement Android] Obtenez des images du serveur avec Java et définissez-les dans ImageView! !!
[Android studio / Java] Ce que vous ne comprenez pas lorsque vous le touchez pour la première fois
Ce que j'ai appris lors de la création d'un serveur en Java
J'ai essayé d'utiliser l'instruction Extended for en Java
Ce dont les ingénieurs Java ont besoin pour se préparer à la version Java 11
J'étais accro à WSl en essayant de créer un environnement de développement d'applications Android avec Vue.js
J'ai traduit [Méthode Clone pour les tableaux Java] comme méthode Clone dans les tableaux Java.
Ce que vous utilisez souvent lorsque vous faites du développement Web avec Java
[Java] Exemple de projet de développement d'applications Web avec Spring Boot
[Débutant en programmation] Que faire lorsque les rails deviennent une erreur dans l'environnement de développement local
Ce que j'ai appris en Java (partie 1) Flux de développement Java et présentation
Collecte des informations client lorsqu'une erreur se produit dans une application Web
À propos de ce que j'ai fait lors de la création d'un fichier .clj avec Clojure
Ce que j'ai fait lorsque la base de données n'a pas démarré avec docker-compose up
Ce que j'ai fait lors de la migration de la série Spring Boot 1.4 vers la série 2.0
[Probablement le plus simple] Développement d'applications WEB avec Apache Tomcat + Java Servlet
Quelle est la différence entre un serveur Web et un serveur d'applications?
J'ai essayé de créer une application Android avec MVC maintenant (Java)
Ce que j'ai fait lors de la migration de la série Spring Boot 1.5 vers la série 2.0