Home / Android-Entwicklung / Was ist neu bei Android Jetpack und Jetpack Compose?

Was ist neu bei Android Jetpack und Jetpack Compose?

Gepostet von Karen Ng Group Product Manager und Jisha Abubaker Product Manager, Android

Letztes Jahr haben wir Android Jetpack auf den Markt gebracht, eine Sammlung von Softwarekomponenten zur Beschleunigung Android-Entwicklung und vereinfachen das Schreiben hochwertiger Apps. Jetpack wurde speziell für Sie entwickelt, um die härtesten und häufigsten Entwicklerprobleme unter Android zu lösen und Ihnen das Leben zu erleichtern.

Jetpack hat eine unglaubliche Akzeptanz und Dynamik erlebt. Heute verwenden 80% der 1.000 wichtigsten Apps im Play Store Jetpack. Wir haben auch Feedback von so vielen von Ihnen über unsere frühen Access-Entwicklerprogramme und Benutzerstudien sowie über Reddit, Stack Overflow und Slack erhalten, die zur Gestaltung dieser APIs beigetragen haben. Sehr demütig, danke.

Was ist neu in Jetpack?

Heute freuen wir uns, Ihnen 11 Jetpack-Bibliotheken, die jetzt in der Entwicklung verwendet werden können, und ein Open-Source-Projekt mit dem Namen Jetpack Compose zur Vereinfachung der Benutzeroberflächenentwicklung zur Verfügung zu stellen.

Jetzt in Alpha

CameraX

Wir haben von vielen von Ihnen gehört, dass es schwierig ist, Kamera-Apps zu entwickeln oder Kamera-Funktionen in Ihre vorhandenen Apps zu integrieren. Mit der neuen CameraX-Bibliothek möchten wir Ihnen ermöglichen, großartige kameragesteuerte Erlebnisse in Ihrer Anwendung zu erzielen, ohne sich um das zugrunde liegende Geräteverhalten sorgen zu müssen. Diese API ist abwärtskompatibel zu Android 5.0 (API 21) oder höher und stellt sicher, dass auf den meisten Geräten auf dem Markt derselbe Code funktioniert. Sie nutzt zwar die Funktionen von camera2, verwendet jedoch einen einfacheren, fallbasierten Ansatz, bei dem der Lebenszyklus berücksichtigt wird, wodurch eine erhebliche Menge von Code auf der Kesselplatte im Vergleich zu camera2 vermieden wird. Schließlich können Sie auf die gleichen Funktionen wie bei der nativen Kamera-App auf unterstützten Geräten zugreifen. Diese optionalen Erweiterungen ermöglichen Funktionen wie Porträt, Nacht, HDR und Schönheit.

LiveData und Lebenszyklen mit Coroutinen

Wir haben Sie laut und deutlich gehört und sind uns einig, dass LiveData Ihre allgemeinen asynchronen One-Shot-Vorgänge unterstützen muss. Mit Lifecycle & LiveData KTX können Sie dies mit Kotlin-Coroutinen tun, die den Lebenszyklus berücksichtigen. Kotlin-Coroutinen wurden von der Entwickler-Community sehr gut aufgenommen, da sie den Umgang mit Nebenläufigkeiten in Android-Apps vereinfachen. Wir möchten es noch weiter vereinfachen und Ihnen ermöglichen, sie sicher zu verwenden, indem wir Coroutine-Bereiche anbieten, die an Lebenszyklen gebunden sind, Coroutine-Dispatcher, die den Lebenszyklus berücksichtigen, und Unterstützung für einfache asynchrone Ketten mit dem neuen liveData-Builder.

Benchmark

Mit der Benchmark-Bibliothek können Sie Ihren App-Code schnell vergleichen, unabhängig davon, ob er in Kotlin, der Java-Programmiersprache oder nativem Code geschrieben ist. Wir verwenden diese Bibliothek, um die von uns veröffentlichten Jetpack-Bibliotheken fortlaufend einem Benchmarking zu unterziehen, um sicherzustellen, dass wir keine Latenz in Ihren Code einführen. Sie können jetzt in Ihrer Entwicklungsumgebung in Android Studio das Gleiche tun, indem Sie auf einfache Weise Datenbankabfragen messen, die Inflation anzeigen oder einen RecyclerView-Bildlauf durchführen. Die Bibliothek kümmert sich um alles, was benötigt wird, um zuverlässige und konsistente Ergebnisse zu erzielen, z.

Sicherheit

Um die Sicherheit der Daten einer Anwendung im Ruhezustand zu maximieren, implementiert die neue Sicherheitsbibliothek bewährte Sicherheitsmethoden für Sie. Es bietet eine starke Sicherheit, die die Verschlüsselung mit der Leistung von Consumer-Apps wie Banking und Chat in Einklang bringt. Es bietet außerdem ein Höchstmaß an Sicherheit für Apps, für die ein hardwaregestützter Keystore mit Benutzerpräsenz erforderlich ist, und vereinfacht viele Vorgänge, einschließlich der Schlüsselerzeugung und -überprüfung.

ViewModel mit SavedState

ViewModel bot Ihnen eine einfache Möglichkeit, Ihre UI-Daten im Falle einer Konfigurationsänderung zu speichern. Ihr App-Status wurde im Falle eines Prozessabbruchs nicht gespeichert, und viele von Ihnen haben sich neben ViewModel auf SavedInstanceState verlassen. Mit dem ViewModel mit SavedState-Modul können Sie den Code für Boilerplates eliminieren und die Vorteile der Verwendung von ViewModel und SavedState mit einfachen APIs nutzen, um Daten direkt von Ihrem ViewModel zu speichern und abzurufen.

ViewPager2

ViewPager2, die nächste Generation von ViewPager, basiert jetzt auf RecyclerView und unterstützt vertikales Scrollen und RTL-Layouts (von rechts nach links). Mit registerOnPageChangeCallback (19459019) können Sie auch viel einfacher auf Änderungen der Seitendaten warten.

Jetzt in Beta

ConstraintLayout 2.0

ConstraintLayout 2.0 bietet neue Optimierungen und neue Möglichkeiten zum Anpassen von Layouts durch Hinzufügen von Hilfsklassen. Als Teil von ConstraintLayout 2.0 bietet MotionLayout eine einfache Möglichkeit, Bewegungs- und Widgetanimationen in Ihren Anwendungen zu verwalten. Sie können Übergänge zwischen Layouts und Animationen von Eigenschaften einfach beschreiben. MotionLayout ist in XML vollständig deklarativ und ermöglicht es Ihnen, auch komplexe Übergänge zu beschreiben, ohne dass Code erforderlich ist.

Eingabeaufforderung für Biometrie

Benutzer sind an biometrische Anmeldeinformationen auf ihren Telefonen gewöhnt. Wenn für Ihre App jedoch eine biometrische Anmeldung erforderlich ist, ist es wichtig, sicherzustellen, dass Benutzern eine konsistente und sichere Möglichkeit zur Eingabe ihrer Anmeldeinformationen bereitgestellt wird. Die Biometrics-Bibliothek bietet eine einfache Systemaufforderung, die dem Benutzer eine vertrauenswürdige Erfahrung bietet.

Unternehmen

Mit der Jetpack Enterprise-Bibliothek können Ihre verwalteten Unternehmensanwendungen Feedback in Form von verschlüsselten Anwendungszuständen an Enterprise Mobility Management-Anbieter senden und dabei die Abwärtskompatibilität mit verwalteten Konfigurationen nutzen.

Android für Autos

Mit den Android for Cars-Bibliotheken können Sie Ihren Benutzern eine fahreroptimierte Version Ihrer App bereitstellen, die in Fahrzeugen mit Android Automotive OS automatisch auf dem Infotainmentsystem des Fahrzeugs installiert wird. Außerdem können Ihre Apps mit der Android Auto-App arbeiten und jederzeit die für den Treiber optimierte Version auf ihrem Gerät bereitstellen.

Jetzt in Stabil

Und falls Sie es verpasst haben, haben wir vor einigen Monaten stabile Versionen von Jetpack WorkManager (Hintergrundverarbeitung) und Jetpack Navigation (In-App-Navigation) angekündigt.

Jetpack Compose

Heute haben wir eine frühe Vorschau von Jetpack Compose veröffentlicht, einem neuen Toolkit, das die Entwicklung der Benutzeroberfläche vereinfacht, indem es ein reaktives Programmiermodell mit der Prägnanz und Benutzerfreundlichkeit von Kotlin kombiniert. Wir haben immer unsere beste Arbeit geleistet, wenn wir es mit Ihnen gemacht haben – unserer Entwickler-Community. Aus diesem Grund haben wir uns entschieden, Jetpack Compose ab heute im Freien zu entwickeln.

In diesem Sinne sind wir einen Schritt zurückgetreten und haben mit vielen von Ihnen geplaudert. Wir haben starkes Feedback von Entwicklern erhalten, dass ihnen die modernen, reaktiven APIs gefallen, die Flutter, React Native, Litho und Vue.js darstellen. Wir haben auch gehört, dass Entwickler Kotlin lieben, mit über 53% der professionellen Android-Entwickler, die es verwenden, und mit 20% höheren Bewertungen der Sprachzufriedenheit als die Java-Programmiersprache. Kotlin ist die am schnellsten wachsende Sprache in Bezug auf die Anzahl der Mitwirkenden auf GitHub.

Daher haben wir beschlossen, in den reaktiven Ansatz für deklaratives Programmieren zu investieren und mit Kotlin eine einfachere Möglichkeit zum Erstellen von Benutzeroberflächen zu schaffen.

Wir bauen Compose mit ein paar Grundprinzipien:

  • Bauen Sie mit den Vorteilen, die Kotlin bietet – präzise, ​​sicher und vollständig interoperabel mit der Programmiersprache Java. Entwickelt, um die Menge des zu schreibenden Code drastisch zu reduzieren, sodass Sie sich auf Ihren Anwendungscode konzentrieren und ganze Fehlerklassen vermeiden können.
  • Vollständig deklarativ zum Definieren von UI-Komponenten, einschließlich Zeichnen und Erstellen benutzerdefinierter Layouts. Beschreiben Sie Ihre Benutzeroberfläche einfach als eine Reihe von zusammensetzbaren Funktionen, und das Framework übernimmt die Optimierung der Benutzeroberfläche und die Aktualisierung der Ansichtshierarchie unter der Haube.
  • Stellen Sie wiederverwendbare Bausteine ​​bereit, mit denen Sie benutzerdefinierte Widgets einfacher und ohne Neuanfang erstellen können.
  • Kompatibel mit vorhandenen Ansichten, sodass Sie mit direktem Zugriff auf alle Android- und Jetpack-APIs in Ihrem eigenen Tempo mischen und anpassen und übernehmen können.
  • Material Design ist von Anfang an fertig und bietet Animationen. So können Sie ganz einfach schöne Apps erstellen, die voller Bewegung sind.
  • Beschleunigen Sie die Entwicklung mit Tools wie der Live-Vorschau und wenden Sie Änderungen an.

Eine Compose-Anwendung besteht aus zusammensetzbaren Funktionen, mit denen Anwendungsdaten in eine Benutzeroberflächenhierarchie umgewandelt werden. Sie benötigen lediglich eine Funktion, um eine neue UI-Komponente zu erstellen. Um eine zusammensetzbare Funktion zu erstellen, fügen Sie einfach die Annotation @Composable zum Funktionsnamen hinzu. Unter der Haube verwendet Compose ein benutzerdefiniertes Kotlin-Compiler-Plug-In. Wenn sich die zugrunde liegenden Daten ändern, können die komponierbaren Funktionen erneut aufgerufen werden, um eine aktualisierte Benutzeroberflächenhierarchie zu generieren. Das folgende einfache Beispiel gibt eine Zeichenfolge auf dem Bildschirm aus.

Wir wissen, dass die Übernahme eines neuen Frameworks eine große Veränderung für vorhandene Projekte und Codebasen darstellt. Aus diesem Grund haben wir Compose wie alle anderen Jetpack-Komponenten entwickelt – mit einzelnen Komponenten, die Sie selbst übernehmen können Tempo und sind mit vorhandenen Ansichten kompatibel.

Wenn Sie mehr über Jetpack Compose erfahren oder dessen Quelle herunterladen möchten, um es selbst zu testen, besuchen Sie http://d.android.com/jetpackcompose

Wir würden gerne von Ihnen hören, wenn wir gemeinsam über diese aufregende Zukunft iterieren. Senden Sie uns Feedback, indem Sie die folgenden Kommentare veröffentlichen, und melden Sie Fehler, auf die Sie in AOSP gestoßen sind, oder melden Sie sie direkt über die Feedback-Schaltflächen im Build von Android Studio Jetpack Compose in AOSP. Da dies eine frühe Vorschau ist, empfehlen wir, dies nicht bei Produktionsprojekten zu versuchen.

Viel Spaß beim Jetpacken!

About AndroidWeltEditor

Check Also

How to call a method in Java

In this post, we will learn how to call a method in Java. This is …

Leave a Reply

Your email address will not be published. Required fields are marked *