End Sayings Do Not Treat Lightly

End Sayings Do Not Treat Lightly #

Hello, I’m Chen Hang.

Three months have passed in the blink of an eye, and “Flutter Core Technology and Practice” has come to an end. Here, I want to thank you for your encouragement and support for me and this column, and congratulate you: you have completed all the courses in the column and achieved the goal of mastering Flutter technology from beginner to advanced. Your perseverance will definitely be rewarded. Although the column has ended, we cannot relax. Our Flutter learning journey is not over yet, as there is still a long way to go from advanced to mastery. I hope you can maintain a habit of continuous learning.

In the past three months, we have overcome obstacles such as the basic syntax and common features of the Dart language. We have learned the principles and core design ideas of the Flutter framework, mastered the key technologies for building cool pages from underlying principles to top-level applications, and learned the underlying principles behind difficult Flutter issues and advanced features. Through some typical scenarios focusing on efficiency and quality, we have analyzed how to build our own Flutter development system in enterprise application iterations.

Although the main content of the column has been updated, our communication will continue. Meanwhile, I will select some representative questions from the exercises and comments in the column for in-depth explanations.

At the same time, I am delighted to see that with Google’s vision and strong drive for frontend and mobile layout, the direction of Flutter’s development has become clearer.

In 2019, Flutter has gained endorsements from more and more well-known companies and its developer ecosystem is thriving. Developers’ experience is improving, and it supports a wider range of terminal types and is being used in more projects. In the open-source community, Flutter is currently the most popular frontend technology, and it is undergoing the process of transitioning from small-scale verification to large-scale commercial application.

Frontend technologies in general are updated and iterated rapidly, with a wide range of options, which can easily overwhelm people. If we only focus on using the application layer APIs, it will not only cause learning difficulties but also lead to a shallow view of engineering. Frontend technologies are similar and connected, and I believe an excellent frontend engineer should have the following characteristics:

  • Technically, we should put aside our preferences for development frameworks and, in addition to using the application layer APIs, focus more on the underlying principles, design ideas, and general concepts. We should have a rough idea of the mid- to short-term technical development direction and consider how to integrate our past development experiences into our own knowledge system.
  • In terms of business, we should go beyond our own silos and pay more attention to the decision-making and thinking behind product interaction design. When promoting projects, we should combine the advantages of frontend to directly face users and extend our expertise and influence to collaborators, comprehensively improving our ability to coordinate projects.

Doing something well is never an easy task.

Speaking of my experience writing this column, I consider myself to have years of experience in the frontend field, so writing a column should be a breeze for me. However, from the beginning of the preparation stage, I slowly realized that it was much more difficult than I had imagined. Compared to the previous scattered summaries, organizing and delivering a column requires several times the effort.

In order to thoroughly explain each knowledge point, I need to spend a lot of time and effort on conceptualizing the article structure, verifying designs, preparing materials, and practicing coding. Along the way, there were also times when I spent several days researching information, reading source code, and verifying implementations just to confirm a knowledge detail.

Like this, I wrote from early spring to deep autumn, a total of 7 months, spending almost every evening and weekend on learning, writing, and recording. Although this process was painful, the rewards for me were immense. It can be said that this column, “Flutter Core Technology and Practice,” was also a process of reshaping my own understanding.

Progress is difficult because the things that can make us progress are often the ones that make us anxious and bring us pressure. And the height of life may lie in how you face difficulties. The real way to alleviate anxiety is to step out of your comfort zone, face challenges, and tackle the things that cause you anxiety and pressure. This way, the height of life can gradually rise. The process of solving problems is usually not smooth, which requires perseverance. The so-called winner is often the one who can persist one minute longer than others.

Don’t be afraid of difficulties and don’t be careless. Let us continue to expand our boundaries, keep learning, and continue to grow on the technical road.