Hier ist eine Aufzeichnung der Antwort in Zhihu „Welche neuen Technologien entstehen in der Android-Entwicklung?“ 》
Die ursprüngliche Frage lautet wie folgt:
Welche neuen Technologien entstehen in der Android-Entwicklung?
Sie können mit dem UI-Design oder einigen Kernalgorithmen beginnen
Dies ist der Originaltext meiner Antwort:
Dies ist das erste Mal, dass ich eine Frage zu Zhihu beantworte, und ich habe das Gefühl, dass ... An einem Ort, an dem großartige Menschen zusammenkommen, habe ich Angst, dass ich etwas Falsches sage und alle zum Lachen bringe. Ich glaube, dass viele Entwickler etwas zu dieser vom Fragesteller aufgeworfenen Frage zu sagen haben. Die Entwicklung von Android ist in der Tat zu schnell. Es scheint unmöglich, alle neuen Dinge zu behandeln, um die Entwicklungstrends von Android zu verstehen , Könnte für Entwickler hilfreicher sein.
Entwicklungstools
Android Studio: Google hat die Popularisierung von Eclipse und Android Studio offiziell aufgegeben. Obwohl AS nicht neu ist, ist die Update-Geschwindigkeit der Android Studio-Software erstaunlich schnell und es wurden zahlreiche neue Funktionen veröffentlicht. Es unterstützt beispielsweise viele Annotationscode-Eingabeaufforderungsanmerkungen, Live-Code-Vorlagen, unterstützt die automatische Generierung von Parcelable-Implementierungen usw. Achten Sie als Entwickler weiterhin auf diese Aktualisierungsliste der letzten Änderungen, die Ihr Programmierleben definitiv verbessern wird.
Programmieren von „Sprache“
Kotlin: Als Swift im Android-Bereich wird es für Sie auf jeden Fall ein Hauch frischer Luft sein. Kotlin verzichtet auf die schwere Java-Syntax und integriert viele Ideen aus modernen Programmiersprachen. Wenn Sie als Entwickler neue Sprachen akzeptieren und die Entwicklungstrends neuer Sprachen verstehen, können Sie Ihr Denken erweitern und Ihr Verständnis der Sprache vertiefen. Bei der Android-Entwicklung kostet Sie die Verwendung von Kotlin nichts, warum probieren Sie es nicht einmal aus? Android-Entwicklung mit Kotlin.
React Native: Plattformübergreifend war schon immer der Traum eines Programmierers, und es gibt viele plattformübergreifende Lösungen für mobile Anwendungen. Aufgrund der Teilnahme und Werbung von Facebook hat diese Lösung einen Heiligenschein. Die erste mit React Native entwickelte App wurde im Google Play Facebook Ads Management Tool veröffentlicht. Ich habe gehört, dass das Android SDK bald verfügbar sein wird, React Native.
Sky: Ähnlich wie React Native verwendet es die Web-Entwicklungssprache, um mobile Plattformen zu entwickeln. Obwohl dies nur ein Versuch ist, wurde es von Google selbst gestartet, insbesondere nachdem es den Rechtsstreit wegen der Verwendung der Java-Sprache verloren hatte. Möglicherweise gibt es einige Erfolge, domokit/sky_sdk.
Entwicklungsmodus
Dolch 2: Abhängigkeitsinjektion ist keine neue Technologie, aber ihre Verwendung auf Android ist tatsächlich ein neuer Versuch. Android-Apps werden zunehmend als ernsthafte Großprojekte erstellt, und viele Technologien, die bei der Entwicklung großer Server verwendet werden, wurden auf die mobile Entwicklung angewendet. Die Android-Entwicklung ist in Module unterteilt und verwendet Dagger, um Module lose zu koppeln. Besonders hervorzuheben ist, dass Dagger 2 mittlerweile von Google selbst übernommen wird. Dagger ‡ Ein schneller Abhängigkeitsinjektor für Android und Java.
MVP: Da Android nicht strikt zwischen Geschäft und Schnittstelle unterscheidet, kann es leicht passieren, dass der Code ins Chaos gerät, sobald das Projekt komplex wird. Heutzutage diskutiert die Android-Entwicklergemeinschaft zunehmend das MVP-Modell und ist der Meinung, dass MVP sehr gut für die Android-APP-Entwicklung geeignet ist. MVP für Android: So organisieren Sie die Präsentationsebene.
RxAndroid: Functional Reactive Programming ist nicht neu. RxAndroid bringt RxJava in die Android-Umgebung. Das Schreiben von Android-Programmen kann oft auch als Verarbeitung und Fluss von Daten betrachtet werden. Wenn Sie Ihre Denkweise über das Programmieren ändern, können Probleme, die früher sehr schwierig erschienen, im Handumdrehen elegant gelöst werden: ReactiveX/RxAndroid.
MVVM: Dies liegt daran, dass DataBinding offiziell unterstützt wurde und MVVM direkt auf Android bringt. Datenbindung ist in Windows WPF und im Web bereits weit verbreitet. Sie ist sehr effizient in der Entwicklungseffizienz, sodass Sie sich nur um Ihre Daten und Ihr Geschäft kümmern können. Dies ist zweifellos ein sehr bedeutender Einfluss auf die Android-Entwicklung: Diskussion über MVVM-Entwurfsmuster im Android-UI-Design? .
Plug-Inisierung: Für große Android-Projekte haben viele Apps damit begonnen, Plug-Ins zu verwenden, um relativ unabhängige Funktionen in Module zu integrieren.
Hybrid: Entwickeln Sie Apps vollständig mit HTML 5, das noch nicht ausgereift ist. Die Kompromisslösung ist jedoch in vielen Fällen sehr gut geeignet. Die Anzeige der meisten Informationen erfolgt über H5. Gleichzeitig werden Web und Native miteinander verbunden, wodurch die Webseite bereitgestellt wird die Möglichkeit, auf lokale Ressourcen zuzugreifen.
UI-Design
Material Design: Es ist im ganzen Land populär geworden. Es gibt zu viele Diskussionen in diesem Bereich und es sind verschiedene Support-Bibliotheken verfügbar, insbesondere die offizielle Support-Bibliothek von Google Support-Bibliothek.
Skizze 3: Dies ist ein Designtool, das speziell für die mobile Benutzeroberfläche entwickelt wurde. Als Entwickler müssen Sie die komplizierte Verwendung von PS nicht kennen und können auch sehr professionelles Design erstellen: https://. designcode.io/sketch
Trotzdem habe ich das Gefühl, dass es noch viele Dinge gibt, die nicht erwähnt wurden. Wir werden vielleicht nicht in der Lage sein, mit jedem Detail Schritt zu halten, aber wir werden feststellen, dass diese neuen Technologien miteinander verbunden sind viele Orte. Für Entwickler ist es sehr selten, die Neugier und das Interesse an neuen Technologien aufrechtzuerhalten. Die Teilnahme an neuen Technologien ist eine technische Leistung, und die Leitung der Entwicklung neuer Technologien ist eine Meisterleistung.