Android Developer Roadmap im Jahr 2019

Hallo allerseits! Wir haben tolle Neuigkeiten. In diesem Monat werden der grundlegende Android Developer- Kurs sowie die Android Developer Specialization , die ein ganzes Paket von Kursen umfasst, in Otus beginnen. In diesem Zusammenhang teilen wir Ihnen einen nützlichen Artikel mit, dessen Übersetzung auf diese Produkteinführungen beschränkt ist.



2019 ist die Zeit, Android-Entwickler zu werden. Angesichts der Innovationen und Fortschritte, die auf dem Gebiet der Android-Entwicklung stattfinden, können wir sagen, dass es jetzt an der Zeit ist, Teil dieser Bewegung zu werden. Jüngste Fortschritte in Kotlin, Android Things und anderen Technologien machen Android zu einer Priorität für Anfänger, sodass relevante Informationen empfangen und in eine bestimmte Richtung vorangebracht werden können.


Ich habe mich entschlossen, diesen Leitfaden zu schreiben, nachdem ich darüber nachgedacht hatte, dass ich 2017 selbst den gleichen Weg gegangen bin. Ich hoffe, es hilft Ihnen dabei, die Art von Android-Entwickler zu werden, die Sie sein möchten.
Beginnen wir mit den Grundlagen.


Beginnen Sie mit der Entwicklung für Android


  1. Informieren Sie sich über die Grundlagen von Java in Head First Java .
  2. Installieren Sie Android Studio .
  3. Installieren Sie Kotlin in Android Studio (Sie können diesen Schritt überspringen, wenn Sie dieses Jahr nicht Kotlin lernen möchten).
  4. Schauen Sie sich die Android-Benutzeroberfläche an und erfahren Sie mehr über XML- und View-Komponenten.

Wenn Sie dies tun, verfügen Sie nicht nur über eine gute Entwicklungsumgebung zum Erstellen von Anwendungen für Android, sondern Sie selbst kennen auch die Grundlagen zum Verständnis der allgemeinen Terminologie, die von Entwicklern in den meisten Tutorials verwendet wird.
Jetzt können Sie einfache Anwendungen erstellen und neue Funktionen in diese implementieren. Beginnen Sie mit einem leeren Arbeitsbereich. Mit Hilfe von Fantasie und Fähigkeiten können Sie es leicht selbst füllen.


Wenn Sie genug Ideen haben, besteht das nächste Ziel für 2019 darin, ein Spiel zu entwickeln, das Sie als Entwickler entwickelt, der Anwendungen für Milliarden erstellt. Nun gehen wir zum zweiten Level!


Wir entwickeln uns als Android-Entwickler


Die folgende Liste muss Schritt für Schritt ausgefüllt werden. Es wird eine Leiter für Sie, auf der Sie etwas Neues lernen, sich selbst verwirklichen und vorwärts gehen können.


  • Verstehen Sie den Aktivitätslebenszyklus, um eine funktionierende Anwendung zu fördern.
  • Verwenden Sie dynamische und flexible Benutzeroberflächendesigns mit Fragmenten.
  • Erfahren Sie, wie Sie Ihre Anwendung für Android debuggen. Sie können hierfür den Android Studio-Debugger verwenden.
  • Beschäftigen Sie sich mit Android-Aktivitäten, um Bildschirme zu erstellen, mit denen der Benutzer in Ihrer Anwendung navigieren kann.
  • Machen Sie sich ein Bild vom Kontext in Android.
  • Lernen Sie REST und HTTP kennen, da die meisten professionellen Entwickler mit den Aspekten von REST und HTTP vertraut sind.
  • Erfahren Sie, wie Sie Multithreading verwenden:
    • Erfahren Sie, wie Sie den Hauptfluss steuern.
    • Erkennen Sie die Bedeutung von Multithreading.
    • Lernen Sie die angebotenen Kurse kennen, um zu lernen, wie Sie Multithreading in kürzester Zeit verwenden können.
    • Erfahren Sie, wie Android mit Threads auf Systemebene umgeht und wie sich dies auf Ihre Auswahl Ihrer Anwendungsarchitektur und auf alle Aspekte davon auswirken kann.
    • Lernen Sie die Nuancen des Systemspeichers und des Multithread-Codes kennen.
    • Erfahren Sie, wie Sie Multithread-Lösungen auf umständliche und komplexe Aufgaben anwenden.
  • Werden Sie Experte im Umgang mit Konfigurationsänderungen:
    • Beim Speichern des Objekts während Konfigurationsänderungen;
    • Änderungen an der Selbstverarbeitung.
  • Datenbanken und SQL verstehen:
    • Cloud-Datenbanken
    • Offline- und lokale Datenbanken;
    • Offline-Architekturen und grundlegende Offline-Praktiken.
  • Erfahren Sie mehr über Inhaltsanbieter:
    • Erfahren Sie, wie Sie Daten mit anderen Anwendungen teilen können.
    • Erfahren Sie, wie Sie auf Daten aus anderen Anwendungen zugreifen.
    • Erstellen Sie einen Inhaltsanbieter, der anderen Anwendungen hilft, sicher auf Ihre Anwendung zuzugreifen und die darin enthaltenen Daten zu ändern.
    • Spielen Sie mit Ihrem Kalenderanbieter und Kontaktanbieter.
  • Erfahren Sie mehr über die besten Android-Bibliotheken von Drittanbietern. [Das nützlichste und am weitesten verbreitete] :


    • Okhttp
    • GSON
    • Nachrüstung
    • Gleiten
    • Buttermesser
    • Crashlytics
    • Guave


All diese Schritte helfen Ihnen dabei, ein solides, professionelles Verständnis des Android-Ökosystems aufzubauen und sich darauf vorzubereiten, mit mindestens 10-15 verschiedenen Arten von Geschäftsfällen für Android-Anwendungen zu arbeiten.


Entdecken Sie Android-Leistungsmuster


Wenn Sie wirklich eine äußerst leistungsstarke und unvergessliche Erfahrung mit Android machen möchten, sind Leistungsvorlagen eine gute Hilfe für Sie. Wenn Sie die folgende Liste von Aktionen ausführen, lernen Sie nicht nur, wie Sie sie verwenden, sondern lernen auch diejenigen kennen, die Sie möglicherweise verpassen. Leistungsvorlagen sind ein unglaubliches Werkzeug in den Händen eines Android-Entwicklers. Wenn es um Android-Leistungsmuster geht, müssen Sie also Folgendes herausfinden:


  • Asynchrone Aufgaben sind für Prozesse nutzlos, die aufgrund langer oder Streaming-Aufrufe ausgeführt werden. Erfahren Sie, wie Sie mit Handlerthread diese Prozesse unterschiedlich handhaben.
  • Lernen Sie, mit Speicherlecks umzugehen.
  • Erfahren Sie, wie Sie IntentService mit Multithreading kombinieren, um die Effizienz zu steigern.
  • Untersuchen Sie die Leistungsmuster des Android-Dienstes, um Dienste zu beenden, sobald sie ausgeführt werden.
  • Machen Sie sich mit bestimmten Android-Hashmap-Containern vertraut, um Leistung und Speicher beim Erstellen von Anwendungen in Einklang zu bringen.
  • Erfahren Sie, wie Sie mit dem Speicherüberwachungstool beobachten, wie sich die Zuweisung auf die Leistung Ihrer Anwendung auswirkt.
  • Optimieren Sie Ihre Netzwerkanwendungen mit Caching.
  • Optimieren Sie die Häufigkeit von Netzwerkanforderungen Ihrer Anwendung.
  • Erfahren Sie, wie Sie mit der Ansicht von Lecks umgehen.
  • Finden Sie heraus, wie der Garbage Collector funktioniert.
  • Verstehen Sie, wie sich das Aktualisieren der visuellen Eigenschaften Ihrer Anwendung auf die Leistung auswirkt.
  • Holen Sie sich ein tiefes Verständnis der vertikalen Synchronisation;
  • Verstehen Sie, wie die Benutzeroberfläche in Android und der GPU korreliert, um herauszufinden, mit welchen Schwierigkeiten Sie sich befassen müssen, um einen reibungslosen Betrieb Ihrer Anwendung sicherzustellen.
  • Verstehen Sie, wie Sie eine Anwendung erstellen, die 60 fps erzeugt, ohne Frames zu verlieren, und finden Sie heraus, wie viele andere Anwendungen mit Ihren um Systemressourcen konkurrieren, und entwickeln Sie Strategien für deren Verarbeitung.
  • Erfahren Sie, wie Sie die GPU-Leistung verfolgen und das Rendering Ihrer Anwendung verbessern können.
  • Lernen Sie Strategien kennen, mit denen Sie Ihren Akku weniger entladen können.
  • Treten Sie gegen andere Entwickler an, deren Anwendungen sich im besten Bereich des PlayStore befinden, und versuchen Sie, die Startzeit zu verbessern. Mal sehen, wie weit du gehen kannst.
  • Reduzieren Sie die Größe Ihrer Anwendung.

Steigen wir in die dritte Ebene auf!


Tauchen Sie mit Bitmap-Tools in die Speicheroptimierung ein


Erfahren Sie, wie Sie mit Glide Bitmap-Objekte in Ihrer Android-Anwendung verarbeiten. Bei der Verarbeitung von Tonnen von Inhalten in einer Anwendung, bei denen Bilder extrahiert, dekodiert und Bitmap-Objekte angezeigt werden müssen, treten Probleme auf. Wenn Sie nicht lernen, wie man es richtig macht, ist Ihre Anwendung nicht erfolgreich, da Benutzer möglicherweise entscheiden, dass sie nicht von hoher Qualität ist.


Bitte beachten Sie, dass Sie jetzt in der Lage sein müssen, bis zu 48 MB Bitmap-Objekte von Bildern von der Kamera zu verarbeiten, die heute von der Kamera des Benutzers ausgegeben werden können. Sie können leicht den gesamten verfügbaren Speicher essen.


Android-Architekturkomponenten


Eines der wichtigsten Dinge, die ich als Android-Entwickler gelernt habe, war die Fähigkeit, innovative Praktiken in Architekturen und deren Komponenten zu implementieren. Als ich anfing, über MVP, MVVM, MVx usw. hinauszugehen, stellte ich fest, dass diese architektonischen Komponenten einen großen Raum für Innovationen bieten.


Zum Beispiel stimmten die BLE-Einstellungen (Bluetooth Low Energy) im Jahr 2017 standardmäßig nicht mit dem richtigen Wert überein. Zu verstehen, dass diese Architekturkomponente durch Erstellen einer Zwischendienstbibliothek verbessert werden kann, war für mich eine echte Entdeckung.


Um dieses Thema gut zu verstehen, würde ich vorschlagen, dass Sie die einzelnen Architekturkomponenten Ihrer Anwendung auswählen und lernen, wie Sie sie optimieren können. Hier sind die, die mir in den Sinn kommen:


  • Datenbindung
  • Lebenszyklen
  • Livedata
  • Navigation
  • Paging
  • Zimmer
  • ViewModel
  • Arbeitsmanager

Werden Sie Testprofi


Sie möchten nicht einer der Entwickler werden, die im Fehlerfall sagen, dass es auf meinem Computer einwandfrei funktioniert, oder? Erstellen Sie daher basierend auf dem Wissen über die Architektur und die Optimierung Ihrer Anwendung Komponententests (JUnit4), lernen Sie die Verwendung von Espresso und konzentrieren Sie sich auf Berichte zur Codeabdeckung, die führende Entwickler und VPEs begeistern werden. Überlegen Sie, wie diese Berichte für andere Entwickler, Tester, Manager oder andere interessierte Parteien nützlich sein können, und helfen Sie ihnen, kritische Probleme mit der Anwendungsleistung zu lösen und Prioritäten zu setzen.


Denken Sie daran, Tests so weit wie möglich zu automatisieren und wiederzuverwenden. Dieser Ansatz eröffnet Ihnen den Weg zu Führungspositionen.


Reaktive Programmierung mit RxJava


Es versteht sich von selbst und höchstwahrscheinlich, dass dieser Aspekt in Ihrem Lebenslauf und Ihrem beruflichen Portfolio am wichtigsten ist. Es gibt viele Stellen, an denen Sie in der Praxis lernen können, wie man mit RxJava arbeitet. Ich werde folgende Quellen empfehlen:



Sie werden als guter Ausgangspunkt auf dem Weg zur Beherrschung von RxJava und seinen Aspekten dienen. Wenn Sie mehr über RxJava erfahren möchten, schauen Sie sich diese an und erfahren Sie auch:


  1. Die gesamte Tiefe der Observablen in RxJava;
  2. Implementierung des Caching in RxJava.

Erfahren Sie alles über Dolch


Die folgenden Schritte helfen Ihnen, ein Profi bei Dagger zu werden:


  1. Durchsuchen Sie die Dokumentation und gehen Sie dem Abhängigkeitsinjektionsprozess auf den Grund.
  2. Erstellen Sie eine Liste mit Einschränkungen.
  3. Erstellen Sie ein Projekt und verwenden Sie Dolch 2 darin.

Werden Sie Sicherheitsspezialist


Professioneller Android-Entwickler und Spezialist für Informationssicherheit? Wow! Dies kann selten in einer Person kombiniert werden!


Und hier sind einige Dinge, mit denen Sie sich 2019 vertraut machen können, um eins zu werden:


  • Erfahren Sie, wie Sie die Daten und den Code Ihrer Anwendung von anderen Anwendungen isolieren.
  • Lernen Sie kryptografische Funktionen und implementieren Sie sie.
  • Erfahren Sie, wie Sie die mit Speicherverwaltungsfehlern verbundenen Risiken verringern.
  • Erfahren Sie, wie Sie Benutzerberechtigungen optimal zum Verwalten von Anwendungsdaten verwenden.
  • Sicheres Speichern und Verschlüsseln von Daten in: lokalem Speicher, im laufenden Betrieb oder in der Cloud;
  • Werden Sie ein professioneller Inhaltsanbieter, um einen sicheren Zugriff zu gewährleisten.
  • Stellen Sie sicher, dass Sie die Daten ausblenden (dh Verschleierung).
  • Erfahren Sie, wie Sie Ihre eigenen Sicherheitslösungen implementieren können, die nicht Teil des Haupt-Android-Stacks sind.
  • Prüfen Sie Bibliotheken von Drittanbietern, um sie nach dem Grad der Schwachstellen aufzuschlüsseln, und erstellen Sie ein Forschungsdokument für sich selbst, das Ihnen in Zukunft helfen wird.
  • Arbeiten Sie daran, BLE sicherer zu machen.
    Damit werde ich enden. Ich hoffe, dieser Artikel hilft Ihnen, ein professioneller Android-Entwickler zu werden, wenn Sie dies jetzt im Jahr 2019 tun!

Das ist alles. Warten auf Ihre Kommentare!

Source: https://habr.com/ru/post/de463019/


All Articles