Home >Java >javaTutorial >What new technologies are emerging in android development?
Here is a record of the answer in Zhihu "What new technologies are emerging in Android development?" 》
The original question is as follows:
What new technologies are emerging in Android development?
You can start with UI design or some core algorithms.
This is the original text of my answer:
This is the first time I answer a question on Zhihu. I feel a little nervous. In a place where great people gather, I am afraid that I will say something wrong. , let everyone laugh. I believe many developers have something to say about this question raised by the questioner. The development of Android is indeed too fast. There are many new things appearing every year. It seems impossible to cover all new things. I will mainly talk about the main new technological developments of Android. In fact, to understand the development trend of Android, Might be more helpful to developers.
Development Tools
Android Studio: Google has officially abandoned the popularization of Eclipse and Android Studio. Although AS is not new, the update speed of Android Studio software is amazingly fast, and a large number of new features have been released. For example, it supports many annotation code prompt annotations, Live code templates, supports automatic generation of Parcelable implementations, etc. As a developer, continue to pay attention to this update list Recent Changes, which will definitely make your coding life better.
Programming “Language”
Kotlin: As Swift in the Android field, it will definitely make you feel like a breath of fresh air. Abandoning the heavy Java syntax, Kotlin incorporates many ideas from modern programming languages. As a developer, accepting new languages and understanding the development trends of new languages will be more conducive to broadening your thinking and deepening your understanding of the language. In Android development, using Kotlin will not cost you anything, why not give it a try? Android development using Kotlin.
React Native: Cross-platform has always been a programmer’s dream, and there are many cross-platform solutions for mobile applications. Because of Facebook’s participation and promotion, this solution has a halo. The first App developed with React Native has been launched on Google Play. Facebook Ads Management Tool, I heard that the Android SDK will also be coming soon, React Native.
Sky: Similar to React Native, it uses Web development language to develop mobile platforms. Although this is just an attempt, it was launched by Google itself. Especially after losing the appeal on the use of Java language, this may have some problems. As for, domokit/sky_sdk.
Development Mode
Dagger 2: Dependency injection is not a new technology, but using it on Android is indeed a new attempt. Android Apps are increasingly being built as serious large-scale projects, and many technologies used in large-scale server development have been applied to mobile development. Android development is divided into modules and uses Dagger to loosely couple modules. What's particularly noteworthy is that Dagger 2 is now taken over by Google itself. Dagger ‡ A fast dependency injector for Android and Java.
MVP: Because Android does not strictly distinguish between business and interface, once the project becomes complex, it is easy for the code to fall into chaos. Nowadays, the Android development community is increasingly discussing the MVP model, and feels that MVP is very suitable for Android APP development. MVP for Android: how to organize the presentation layer.
RxAndroid: Functional Reactive Programming is not new. RxAndroid brings RxJava to the Android environment. Many times, writing Android programs can also be regarded as the processing and flow of data. If you change your thinking about programming, problems that once seemed very difficult can be solved elegantly in an instant: ReactiveX/RxAndroid.
MVVM: This is because DataBinding has been officially supported, bringing MVVM directly to Android. Data binding is already very common in Windows WPF and the Web. It is very efficient in development efficiency, allowing you to only care about your data and business. This is undoubtedly a very significant impact on Android development: Discussion of MVVM design pattern in android UI design? .
Plug-in: For large-scale Android projects, many apps have begun to use plug-ins to build relatively independent functions in modules.
Hybrid: Develop apps entirely using HTML 5, which is not yet mature yet. However, the compromise solution is very suitable in many cases. A typical example is WeChat. Most of the information display is done through H5. At the same time, through the Hybird method, the Web and Native are connected, providing the web page with the ability to access local resources.
UI Design
Material Design: It has become popular all over the country. There are too many discussions in this area, and various support libraries are available, especially Google’s official support library Android Design Support Library.
Sketch 3: This is a design tool specially designed for mobile UI. As a developer, you don’t need to know the complicated use of PS, and you can also do very professional design: https://designcode.io/sketch
Having said that, I feel that there are still many things that have not been mentioned. Technology is developing very fast. We may not be able to keep up with every detail, but we will find that these new technologies are connected in many places. For developers, it is very rare to be able to maintain curiosity and interest in new technologies. Participating in new technologies is technical accomplishment, and leading the development of new technologies is a master.