Android-Entwicklung: Was tun mit Lego und wie nicht "eine Eule auf den Globus ziehen"?

Gäste und Moderatoren der neuen Folge des Podcasts "Dry the Oars" diskutieren die Besonderheiten der Entwicklung, neue Entwicklungen auf dem Gebiet und versuchen herauszufinden, welche Architektur sie wählen sollen. Spoiler Alarm: beliebig!







Artyom Kulakov und Roma Choryev sind die Entwickler von Redmadrobot und zeichnen Podcasts auf, in denen sie verschiedene Aspekte der Erstellung von IT-Produkten diskutieren. In der elften Folge teilen die Gäste ihre Erfahrungen und Witze - Dima Suzdalev, Android Tech Lead KODE , und Vasya Chirvon, Leiterin der Android-Praxis bei Redmadrobot SPB.



Wir fügen einen Link zur neuesten Version, das Timing und Antworten auf einige wichtige Fragen hinzu.





  • 1:58 - Vasya Chirvon spricht darüber, wie er zur Android-Entwicklung gekommen ist.
  • 03:25 - Und jetzt Dima Suzdalev über seinen Weg.
  • 14:52 - Wohin steuert die Android-Plattform?
  • 25:05 - Ist es schwierig, Anwendungen für Android zu entwickeln?
  • 34:30 - Ist es schwieriger, ein guter Android-Entwickler zu werden als ein iOS-Entwickler?
  • 58:01 - Ein bisschen über Jetpack Compose.
  • 01:02:02 - Ein bisschen über Hilt.
  • 01:03:15 – : KMM/Flutter – ?
  • 01:20:02 – UI .
  • 01:27:14 – .


– Android-



Natürlich gibt es Schwierigkeiten und Probleme, aber das ist das gleiche wie in jedem Beruf.



Dima Suzdalev bemerkte, dass die Erfahrung eines Android-Entwicklers darin besteht, dass Sie wissen, "wohin Sie nicht müssen". Wenn Sie immer noch am falschen Ort sind, wissen Sie, wie Sie diesen „falschen Ort“ umgehen können.



Aber Roma verglich die Android-Entwicklung mit dem Gehen in Ketten (schwere Eisenketten): Man kann laufen, aber es tut sozusagen weh. Als Beispiel führte er eine Situation an, die jedem Entwickler vertraut ist, wenn ein Element, von dem Sie ein normales Verhalten erwarten, plötzlich nicht mehr funktioniert. Oder dies geschieht zum Beispiel im Allgemeinen nur auf einem bestimmten Gerät ("Hallo" an eine Flotte von Tausenden von chinesischen Geräten).



Oder so passiert es: Nehmen wir an, Google hat einen Fehler in der API, der auf eine bestimmte Weise funktioniert. Sie sind bereits daran gewöhnt, vergessen Sie nicht, eine Problemumgehung vorzunehmen und in allen Projekten damit zu leben. Aber plötzlich, irgendwann, behebt Google diesen Fehler und jetzt bricht alles, was Sie zuvor getan haben, die Anwendung. Und wieder muss man etwas dagegen tun.



Die Entwicklung ist ähnlich wie bei Lego - manchmal schwierig, aber cool! Sie sitzen und bauen. Und du magst es, denn wenn du Lego nicht magst, wirst du es nicht spielen;)


Über neue Artikel im Bereich der Android-Entwicklung



In letzter Zeit hat Google fast jedes Jahr verschiedene nützliche Dinge für Entwickler vorgestellt: Jetpack Compose, Navigationskomponente, Datenspeicher und andere Anmeldeinformationen für die Sicherheitsidentität.



Dima sagte, dass er Googles Ansatz zur Entwicklung von Jetpack Compose mag. Er hatte es bereits ausprobiert und besonders die Anleitungen und die ausgezeichnete Dokumentation beachtet, in denen alles erklärt wird und es Codebeispiele gibt.



Was die Navigationskomponente betrifft, so hat sich diese Bibliothek als Werkzeug für einfache Anwendungen erwiesen. Mit seiner Hilfe können Sie schnell eine Navigation hinzufügen und diese gut verwalten. Die Jungs bemerkten, dass es sehr gut wäre, wenn Google dort eine schnelle Grafikgenerierung hinzufügen würde.



Detaillierte Diskussion von Dolch / Griff und Amboss vom 01.02.02.



Nicht nur Google (Huawei kann, aber ein bisschen)



In der kostenlosen Android-Welt gibt es nicht nur Google, das im Studio gescholten wurde. Es gibt auch die Huawei Corporation, die einen interessanten Präzedenzfall auf dem Markt geschaffen hat.



Wer weiß nicht: Huawei hat seine eigenen Analoga von Google-Diensten erstellt, außerdem wurde die Codelab-Oberfläche fast eins zu eins kopiert. Das Unternehmen investierte viel in Marketing, um die Geschichte zu erzählen. Fazit: Beim Verkauf seiner Smartphones stieg Huawei an die Spitze und überholte sogar die "Riesenriesen" Apple und Samsung. Dies war zwar hauptsächlich auf den chinesischen Markt zurückzuführen, da sind sich die Roma sicher.



Es ist erwähnenswert, dass diese Situation bestimmte Möglichkeiten eröffnet: Es ist gut, wenn es eine Wahl gibt und es nicht nur Google gibt. Wenn andere große Unternehmen Alternativen zu Google Play Services anbieten, ist dies für alle nützlich. Dies führt jedoch zwangsläufig zu Problemen für Entwickler, beispielsweise bei der Fragmentierung. Durch die Einführung des zweiten, dritten usw. Dienstes werden Sie zehn Sorten derselben kennenlernen.



Ein paar Worte zur plattformübergreifenden Entwicklung



Neben der Android- und iOS-Entwicklung entwickelt sich eine separate und ziemlich große Welt der plattformübergreifenden Entwicklung.



Es enthält sowohl traditionelle Ansätze, die noch funktionieren, als auch einige neue Produkte, die in den letzten zwei Jahren in der Community sehr aktiv diskutiert wurden. Es geht um Flutter und Kotlin Multiplatform.



Wie bequem und anwendbar sind sie? Die Gäste im Studio entschieden einstimmig, dass "Flutter Kotlin fehlt". Weitere Details ab 01:15:27.



Gebaut und gebaut: Android-Anwendungsarchitektur



Um eine Anwendung zu entwerfen, reicht es heute nicht mehr aus, nur eine traditionelle Architektur zu verwenden. Sie müssen sich bestimmte Geschäftsaufgaben ansehen und sie selbst von Grund auf neu erstellen.



„Natürlich müssen Sie allgemeine Designansätze berücksichtigen, aber„ Sie sollten keine Eule auf den Globus setzen “, sagt Artem. Wenn Geschäftsaufgaben nicht in die üblichen Clean- und MVVM-Aufgaben passen, müssen Sie sie daher nicht verwenden. Das ist alles.



Es ist wichtig zu verstehen, dass Architektur kein Handbuch ist, sondern eine Reihe von Lösungen, die in der Arbeit angewendet werden können. Vasya Chervon erklärte es folgendermaßen: „Sie wissen, dass die Platte ein bestimmtes Gewicht haben muss, um die Wände nicht zu zerdrücken, oder dass die Wände stark genug sein müssen, um dem standzuhalten. Und um zu bauen, müssen Sie diese Regeln beachten. "



Dies ist alles eine Frage der Erfahrung. Wenn der Entwickler nicht wirklich versteht, welche Architektur zu tun ist, lohnt es sich, einen älteren Freund zu konsultieren. Aber natürlich nicht mit jemandem, der sagt: "Mach MVVM, das ist cool."



Für effektive Architekturlösungen müssen Sie viele Bücher zum Systemdesign lesen, um zu verstehen, in welchen Situationen sich welche Lösungen ändern können und wie sie angewendet werden. Lesen Sie mehr über Bücher von 01:35:06.



Nützliche Materialien





« »





Hören Sie uns zu, wo immer es Ihnen passt: YouTube , Soundcloud , Apple Podcasts , Google Podcasts



Lassen Sie uns die Episode im Telegramm-Chat diskutieren .



All Articles