In the Internet era, people moved information and services to the Internet, and then in the mobile Internet era, people moved the Internet into your life and mine. Smart phone is the carrier of mobile Internet. Now, we cannot leave smart phone for a moment. If we lose the phone or disconnect the network, it is no less a disaster for individuals.

Many people say that mobile Internet has entered the second half, but this is only for investors, mobile Internet will continue to dominate people’s lives for a long time to come, its importance can not be denied. In the wave of mobile Internet, many excellent App products have been born, which makes us have a feeling that as long as we hold the smartphone in our hands, we seem to hold the world!

In such an era, whether you are a designer, programmer, product manager, self-employed operator, doctor, lawyer or other professionals, have you ever seriously thought about designing or developing an App to solve your own practical problems? Have you ever had a great idea that came up short of a programmer? If you have ever dreamed of a product, you must understand the technology surrounding Flutter.

The traditional native App development technology, there are two main camps, I don’t have to tell you, they are iOS and Android. IOS uses Objective-C programming language in the early stage of development, while Android uses Java language. Later, iOS supports Swift language, while Android supports Kotlin language. From then on, mobile development learners who fall into the trap later have a problem. Should you learn Objective-C or Swift? Should YOU choose Java or Kotlin for Android development? There has been a lot of confusion in native development, a lot of frameworks, a lot of compatibility fragmentation.

One lesson from the long tail is that apps should cover more platforms. When a product sketch design is completed, the reality is that the need for three technical groups, a full-time development of iOS platform, one is Android, the last full-time server background development, today even need a micro channel small program development group. This means an increase in cost. If the cycle from an idea to product launch is too long, the outcome can be imagined.

One question is, can one person master both iOS and Android, so that one team can develop both platforms? The reality is that it has already cost a lot of learning cost for a person to master the technology of one platform, while the problem for an individual to master the technology of two platforms is that the cycle is too long, the return is limited and the motivation is insufficient. It’s not that we can’t, it’s that we don’t want to. On the one hand, mastering both platforms won’t double your salary at work, and on the other hand, it won’t improve the efficiency of your project. If it takes you a month to build iOS and a month to build Android, then it takes two months for one person to build both platforms, let’s get two people to build both platforms in one month.

Even if you have many ideas, you cannot try and verify them from the cost point of view. Even if you are a programmer doing native development, you can only be limited to one platform and cannot promote your products in a wide range. Other practitioners have to stay away from the complex learning routes of native development. So people started thinking, is there a simple, low-cost tool that can quickly turn our ideas into apps? It’s like magic, or telepathy, and some people are looking to AI, artificial intelligence, automatic code generation, no need to learn to program. It is foreseeable that AI will not achieve this level of accuracy for a short period of time (decades), and humans will still have to rely on their own intelligence.

Although there is no technology that fully meets people’s fantasies, the technology that can greatly reduce the cost and barriers to entry has already emerged: the Flutter UI framework. The Flutter framework is developed using Dart programming language. In a sense, the Flutter framework encapsulates and abstracts the UI (App interface), enabling us to focus on the App design (IDEA) rather than the specific platform (iOS, Android, Mac, Windows). This is called app-centric! We can write a single piece of code in Dart that packages different apps that run on all platforms, but we can also create a Web version that runs in the browser, like a small program, so that users can try it out in the browser without having to download and install it.

Flutter technology is easier to learn and faster to develop than native development. A developer who has mastered Flutter can simultaneously develop an App that supports all platforms, thus saving a lot of time and having more time to try and validate your idea one by one. Some people say that cross-platform technology is nothing new. There are many similar frameworks, such as React Native. But I would say that Flutter is different from all of these. Some cross-platform frameworks, such as PhoneGap based on H5 and CSS technologies, essentially just have a browser inside the App that displays HTML, CSS and other front-end pages. This implementation scheme, and you use the mobile browser to see the web page is not too different, poor fluency, interaction experience is not good, the support for some native functions is also weak. Flutter has its own rendering engine, its own UI, and no integrated browser. In terms of experience, it is almost equivalent to native App. Ordinary users can hardly distinguish between apps developed by native technology and apps developed by Flutter, which shows its excellent performance. Additionally, Flutter provides a plugin framework that allows us to easily invoke native system-related functions, greatly expanding its capabilities.

Here, let’s take a look at the App developed by the Flutter framework

Design and development of THE UI interface of Flutter, a new retail e-commerce App

See here, do you feel the lack of an idea?

If you are more interested in the Flutter framework and want to learn more about it, you can take part in my two video courses

The main feature of this course is full stack, which in short, maximizes learning and development costs, uses only one Dart programming language (which you always need to learn anyway), and develops the App UI and server backend simultaneously. As long as you have an idea, one person can realize your product dream.

Course introduction

  • Dart Programming Guide for Flutter full stack development
  • Guide to the full stack development of Flutter

Cloud Classroom video

  • Dart Programming Guide for Flutter full stack development
  • Guide to the full stack development of FlutterQuick Start can be learned without purchase