Flutter fades out of sight in 2023: Has Flutter lost its competitiveness?

insert image description here

foreword

In recent years, cross-platform development frameworks have gradually become the mainstream of the development world. Among them, Flutter, as a high-profile UI toolkit launched by Google, once received widespread attention. However, in 2023, we seem to hear very little talk about Flutter. So, has Flutter lost its competitiveness?

Introduction and development of Flutter

In 2017, Xianyu introduced Flutter. In 2019, Xianyu began to promote the application of Flutter in Xianyu and carried out large-scale implementation.

In these three years of practice, Xianyu has continuously corrected bugs to improve the stability of Flutter and synchronized it with Google, and even figured out a set of its own hybrid technology solutions, open-sourcing the Flutter Boost engine.

Up to now, Xianyu has almost completely embraced flutter, but the voice of doubt has never stopped since the beginning. There are even rumors: Flutter is being abandoned.

There are also many critical voices around, such as:

Flutter is just reinventing the wheel, and there is no bright spot at all;
Flutter's use of Dart language is a fatal flaw;
those apps that use the Flutter framework are really stretching;
 …

Emergence and competition of new technologies

With the rapid development of technology, new technologies and frameworks are constantly emerging in the market. The current cross-platform framework is really like a chicken blood, and it is updated like a donkey in the production team. After a while, the effort will bloom everywhere.

Compared with Flutter, some emerging cross-platform frameworks such as React Native, Unity, etc., provide developers with more choices. These frameworks are not only excellent in performance, but also increasingly improved in terms of community support and ecosystem.

And like KMM, relying on the kotlin language and the behind-the-scenes funder father (Google) is also rising rapidly.

  • KMM

Contrary to the idea of ​​a framework like Flutter, KMM uses a set of languages ​​to generate multiple platform-specific bytecodes, and all translation work is performed by the kotlinc or kotlin-nativec compiler. From a certain point of view, it is "from From top to bottom", while Flutter's idea is "from bottom to top", which also determines the applicable scenarios of the two frameworks. Flutter is suitable for drawing UI, while KMM is more suitable for logic codes that have nothing to do with UI, such as: Model layer, network request, data parsing, modeling, etc.

insert image description here

cost difference

Using Flutter requires adding two engines inside the App package:

One is the rendering engine of Flutter, which is developed in C/C++ and directly calls the API of OpenGL/Skia for drawing, so as to get rid of the UIKit of iOS
and the View component of Android to render directly into the required style, so as to ensure a high degree of uniformity in style

The other is the Runtime of the Dart language, which is used to parse and run the Bundle compiled by the Dart language

These two reduce the developer's adaptation cost, but increase the package size of the APP (other similar cross-platform frameworks, such as: React Native, etc., will also have built-in
JavaScript Core or V8 engine)

KMM generates different binary dependency packages for different platforms. Basically, it still calls the native API of Android and iOS, and does not have built-in files such as engines. The impact on the size of the app is relatively small, and the performance is also guaranteed
.

Technology stack :

Although Flutter has many advantages in cross-platform development, for novice developers, the learning curve is still relatively high
Flutter uses Dart development, whether it is a Web developer or a native App developer, it takes time to learn a New language , understanding of new development model, although Dart has similarities with JavaScript and Java, and the development form is similar to React, but there is still a certain learning threshold

Kotlin has become Google's official Android development language

And because the interaction between Kotlin and Java is very convenient, at present, most Android developers have completely switched to Kotlin for App development. Many tools, algorithms, and data models that have nothing to do with the platform can directly use KMM to achieve cross-platform. Compared with Flutter, At least Android

The threshold requirements for developers are almost zero

Flutter's irreplaceable advantages

  • Stablize

Flutter UI avoids various compatibility issues caused by platform-level UI and system upgrades due to self-drawing UI. However, as a cross-platform development technology, it is inevitable to maintain the underlying adaptation layer and various plug-ins to communicate with the original platform. This is a common problem of all cross-platforms.

  • Large-scale projects love to use Flutter

Flutter uses a self-rendering engine to achieve a high-performance UI experience. Compared with frameworks such as React Native based on web technology, Flutter has obvious advantages in performance. This is especially important for large-scale projects, because these projects often need to process a large amount of data to ensure the fluency and response speed of the application.

hot reload function

Flutter's hot reload feature allows developers to quickly preview and debug code changes without recompiling and installing. This is of great help to the development process of large-scale projects and can greatly improve development efficiency.

at last

To sum up, although Flutter has certain advantages in the field of cross-platform development, its position in the market may have been affected when facing multiple challenges such as new technologies, learning curves, Google's strategic adjustments, and enterprise adoption. However, that doesn't mean Flutter is already competitive. Big manufacturers still favor Flutter.

Flutter is Google's mobile UI framework that can quickly build high-quality native user interfaces on iOS and Android. Flutter works with existing code. All over the world, Flutter is being used by more and more developers and organizations, and Flutter is completely free and open source.

In order to make it easier for everyone to learn Flutter systematically, here we specially collaborated with Ali P7 architects and Google technical teams to compile a set of learning materials for the Flutter family bucket.

Content summary: Flutter technical analysis and actual combat, Flutter advanced study notes, Flutter introduction and actual combat, and detailed explanation of Flutter complete development actual combat.
Content features: clear organization, including graphic representation, which is easier to understand.

Due to the large content of the article and the limited space, the information has been organized into PDF documents. If you need Flutter technical analysis and actual combat complete documents, you can scan the card below to get it for free!

Table of contents

insert image description here

Chapter 1 Why Flutter is the ultimate choice for cross-platform development

  • 01 Why is this?
  • 02 Cross-platform development
  • 03 What is Flutter
  • 04 Flutter Features

insert image description here

Chapter 2 Build a Flutter development environment on Windows

  • 01 Use mirror
  • 02 System Requirements
  • 03 Get the Flutter SDK
  • 04 Editor Settings
  • 05Android settings

insert image description here

Chapter 3 Write your first Flutter App

insert image description here

Chapter 4 Flutter Development Environment Construction and Debugging

  • 1. Setting up the development environment
  • 2. Simulator installation and debugging
  • 3. Build the development environment
  • 4. Simulator installation and debugging

insert image description here

Guess you like

Origin blog.csdn.net/Android23333/article/details/131979338