Who told you that Flutter would get cold?

Insert image description here

Who told you that Flutter would get cold?

Who told you that Flutter is not worth learning?

At this stage, native app development is indeed in decline and has no future.

At present, Flutter still has great potential, at least many people around me are developing with Flutter.

I started developing Futter as soon as Flutter was released, and I have been doing it for four years now. I have done a lot of projects in these four years, and I have also come into contact with many Flutter developers. From the people I have come into contact with, people with a pure front-end background have switched to Futter development . Flutter , none of them are qualified in my eyes!

This is because Futter is a client development after all, not a front-end. Whether it is Android or iOS, these are native client developments, and these thresholds are higher than those of the front-end.

If you want to develop Flutter, you must know at least a little bit of native development, and the code cannot be written in the scripting language style of S. Most of the Futter projects written purely on the front end are junk code and cannot be maintained in the future. If you write After a few years of Java code, the Flutter code you write will at least have some rules and at least incorporate some object-oriented programming design ideas.

Some people question that I am aimless without examples, so I will give a common example.

When writing Flutter on the front end, it seems that I don’t know what the dependency inversion principle is. Everything is coupled together. He doesn't know how to create an abstract interface layer for isolation. For example, the operations on the database can be written directly using the hive library.

At first, the hive database was barely sufficient. Later, as the data increased, hive% became completely useless. At this time, it was extremely painful to switch to sglite%. If you want to transform it, you have to sort out the mess of code and rewrite it with sgflite. If he knows what dependency inversion is, he can abstract the interfaces that the upper layer needs to operate on data, and the bottom layer can directly implement these interface methods and switch to sglite.

I have also interviewed some Flutter job seekers. I usually ask questions from these aspects. Specifically, these are the aspects that Flutter developers should master:

  1. Design ideas and specifications for Dart code writing: Understanding the basic features of the Dart language and the specifications for writing high-quality code will help improve development efficiency and code quality.

  2. Dart asynchronous model and Flutter event loop principle: Mastering Dart's asynchronous programming model and Flutter's event loop mechanism will help you better understand and handle asynchronous tasks.

  3. Flutter performance optimization: Learn how to optimize the performance of Flutter applications, including optimization methods in layout performance, rendering performance, memory usage, etc.

  4. Flutter state management and component development: Mastering state management solutions and component design principles will help improve the maintainability and scalability of applications.

  5. Knowledge of the combination of Flutter and native: including plug-ins, communication with native, basic knowledge of Android and iOS, etc. Understanding these in depth will help you better integrate with native applications.

When interviewing job applicants, these questions can be used as a basis to examine their Flutter development capabilities. However, many Flutter developers currently on the market do not yet meet the quality requirements in these aspects. Therefore, front-end developers who want to engage in Flutter development can start from these aspects to improve their overall quality.

So it’s not that Flutter is out of date, but that many people who are just trying to make things worse have stinked up the environment.
Insert image description here

About Flutter’s true positioning

Finally, let’s talk about the positioning of flutter. As a cross-platform UI framework, flutter, like many cross-platform frameworks, complements the native one. The problems that cross-platform solves are:

1. Development cost

Is it okay to directly learn Java/Kotlin, Object-C/Swift, and JavaScript/CSS to write code for each platform?

Of course, this kind of performance is definitely the most guaranteed, but the main advantage of cross-platform is the reuse of code logic, which reduces the development costs of the same logic on each platform and varies from person to person. For enterprises, it is ideal and safest for a set of business logic to be used in multiple places.

2. Learning opportunities

Under normal circumstances, developers of each platform tend to be limited to development in their own fields. As application developers, cross-platform is a transition opportunity to contact another platform or field.

3. Team structure

Generally speaking, cross-platform teams will still have native development for Android and iOS, and even in large and medium-sized projects, the number of people will not decrease. However, using cross-platform will allow everyone to participate in the same development progress, rather than iOS and Android each do their own thing, and in the end it’s up to them to decide whose implementation has problems.

If you really understand these, you won’t feel that Flutter is cool.

Every time a new technology framework appears, there are those who tout it, and there are those who resist it.

Why are you resisting? Because people are lazy and easy to be arrogant. When something new comes out and it is better than what you are using now, there will be a voice deep in your soul constantly reminding you (your technology is outdated
) , makes you feel irritable, makes you feel anxious, and makes it difficult for you to face it.

However, major companies such as Tencent, Baidu, Alibaba, JD.com, Meituan, Byte, and Kuaishou are recruiting for Flutter-related positions, ranging from engine architecture to application development.

Not only big companies, but also many start-up companies have begun to choose Flutter as their app development technology stack. Anyway, it is getting more and more difficult to recruit Android/iOS developers. Instead of hiring one person on each side, why not choose Flutter and use one person as two developers? In the past, many startups used React Native, but now that Flutter has better performance, they have begun to slowly migrate their technology stacks.

To sum up, we can know that Flutter’s current influence in the industry is not small, and it is still expanding slowly.

Therefore, mobile terminal developers who are pursuing technology can also start learning Flutter as early as possible. No matter how Flutter develops in a few years, as long as major manufacturers continue to increase their investment in Flutter, you will have more competitiveness and opportunities when entering Flutter. If Flutter becomes popular in the future, you will be able to enjoy the dividends of being a pioneer if you join the game early; even if Flutter becomes popular in a few years (the probability is very small), you will not lose money by learning various aspects of Flutter (Flutter component development, declarative Grammar, Widget-Element-Render Object three trees and the rendering pipeline are all concepts worth learning and researching). Following the rhythm of major manufacturers will also keep you at the forefront of the industry.

Here we have also prepared two learning materials for friends who want to learn Flutter, "Introduction to Proficiency in Flutter Dart Language Programming" and "Flutter Practical Combat", from programming language to actual project practice, one-stop service! !

You can scan the QR code below to get the complete document for free! ! !

"Flutter Dart language programming from entry to mastery"

  • Chapter 1 Dart Language Basics

  • Chapter 2 Dart Asynchronous Programming
    Insert image description here

  • Chapter 3 Detailed explanation of asynchronous Stream

  • Chapter 4 Dart standard input and output streams
    Insert image description here

  • Chapter 5 Dart Network Programming

  • Chapter 6 Flutter crawler and server
    Insert image description here

  • Chapter 7 Dart’s server-side development

  • Chapter 8 Dart calls C language hybrid programming

  • Chapter 9 Mutual calls between Dart and Lua in LuaDardo
    Insert image description here

"Flutter in Action: Second Edition"

  • Chapter 1: Getting Started
  • Chapter 2: The first Flutter application
  • Chapter 3: Basic Components
  • Chapter 4: Layout components
  • Chapter 5: Container Components

Insert image description here

  • Chapter 6: Scrollable Components

  • Chapter 7: Functional Components

  • Chapter 8: Event processing and notification

  • Chapter 9: Animation

  • Chapter 10: Custom Components
    Insert image description here

  • Chapter 11: File Operations and Network Requests

  • Chapter 12: Flutter extension

  • Chapter 13: Internationalization

  • Chapter 14: Core Principles of Flutter

  • Chapter 15: A complete Flutter application
    Insert image description here

Friends who need study materials can scan the QR code below to get them for free! ! !

Guess you like

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