As of November 2018, the total number of micro programs on wechat exceeded 1.2 million, and the market size of micro programs still maintained a rapid growth trend of 20%. In addition, the accumulated user number of wechat mini programs has exceeded 700 million, accounting for 70% of the monthly active users of wechat, and the daily active users have reached 200 million. Formation of user habits.

What exactly is a small program?

Applet is a kind of application that can be used without downloading and installing. It realizes the dream of application “at your fingertips”. Users can open the application by scanning or searching it. It also embodies the concept of “use it and go”, so users don’t have to worry about installing too many apps. Applications will be everywhere, ready to use, but not installed or uninstalled.

Compared with traditional APPS, small programs do not need to be installed or uninstalled. They can be used up and left at your fingertips. The relationship with users is not fans but access, and the background data is wechat standardized data, which cannot be freely selected.

Compared with the application store, the small program does not have an application store, nor does it make an application distribution platform, nor can it carry out fuzzy search. It only covers the attention resources of users in specific scenarios and meets the needs of users in specific scenarios, but is not a complete product application. Applets are simply tools to connect people and services, not traffic distribution platforms.

At present, wechat, Alipay, Baidu, QQ, Douyin, Toutiao six super apps have all been completed, so far, the small program ecology of one super many strong pattern formed, in 2019, small programs will develop towards the direction of multi-polarization.

With many of the top traffic platforms and even more platforms launching their own mini-programs, each of which is even a completely independent development system, programmers and startups are suffering. On the one hand, we don’t know whether each platform can bring enough traffic, and on the other hand, we don’t have enough productivity to adapt to each platform.

However, JD launched Taro, a multi-terminal development solution that follows the React syntax specification. Now at the top of the market form is varied, the Web, the React – Native, WeChat small programs and other side, when the business requirements in different side are required to show at the same time, more than to write code for different end cost is very high, obviously at that time only a set of code can be adapted to varying ability is very need.

Using Taro, programmers can write a single set of code, and then compile the source code to run on different applications (wechat/Baidu/Alipay/Bytedance applets, H5, And React-Native, etc.) using Taro’s compilation tools.

Recently, xiaobian visited the secret base of JINGdong at night, and specially invited the Taro team of JINGdong to Cloudopt Reviewers for an exclusive interview.

The following is an interview transcript of The Reviewer and Liweitao from Taro’s team:

Which section are you in charge of in JINGdong now? I was mainly responsible for the development of the department’s R&D tools and the construction of some open source projects. Such as Taro, a multifaceted unified development framework. There are also front-end development tools and frameworks, such as Nerv (High Performance Front-end Framework) that we did earlier, which like the React API will be much smaller and more compatible with IE8 and things like that.

Why are you interested in programming? I majored in software engineering in university, and I was very interested in website development and software design. I joined some computer-related associations at school and considered developing in this direction, so I began to study in this area.

Do you have any other interests besides programming? I like self-driving travel at ordinary times, and recently I went to Guilin.

Can you introduce your team? Our team is currently mainly responsible for the Taro project. The project revolves around Taro’s related development efforts, as it is a multi-terminal development tool, so it involves the division of labor of many modules. For example, someone is responsible for the code compilation, which needs to be compiled into the code of each side, while someone is responsible for the development of the running framework of the small program. Then there are the H5 related ones, such as the H5 API to implement the API components synchronously. There are also people who are responsible for React Native development, such as compiling the code into HTML5. According to the direction of the different end, there will be one person in each direction to do the adaptation.

Why are they called Taro? Because our department is called Bump Lab, which sounds like Ultraman. It was decided at that time that we would have a new open source project named after Ultraman, so Taro was the first one.

What advantages do Taro have over other development frameworks? Taro is different from existing development frameworks. It uses the React class syntax, which is much better and more attractive than the Vue syntax for people who like React classes. Secondly, Taro is suitable for six applications, including wechat, Baidu, Toutiao, H5, APP, kuaiapp and so on. At present, only Uniapp and Chameleon match the same number of terminals as Taro. But from an ecological point of view, Uni-App and Taro are the two leading ones. In addition to the framework itself, Taro has its own ongoing UI library, and many members of the community contribute component libraries and UI libraries to Taro. Therefore, in the future, Taro will not only continue to build on the core of the framework, but also catch up with UNI-App in ecological and surrounding construction.

Uni-app used to do Hbuider, and they are more involved in IDE development tools. They launched a plugin platform first, so the ecosystem like component expansion will be a little faster. We also have plans to launch a visual development tool. For example, we can create projects directly from built-in templates and edit them visually. As for templates, we have already accumulated templates for e-commerce, and will supplement templates for hotels, food ordering and other industries in the future. As for the back-end aspect, the follow-up may have some cooperation with JINGdong cloud, Tencent cloud.

What is the average age of the current team? The average age of the Taro project team is 25-26 years old. They are all relatively young and full of energy.

How many people are there in the department? Are they responsible for? Our department r&d staff of about 50 people, mainly for the mall, micro letter hand Q, and the main part of the business of providing WEB front-end development, development of small programs, APP development, little game development, H5 animation development ability to support, at the same time to precipitate some business components or template, and research and development can improve efficiency, open fu tools or platforms.

Has the open source community influenced Taro? It’s a big impact. In the beginning, we wrote a lot of code ourselves, but now about 20% of the code is contributed by other people, and I think that percentage is growing. Because Taro has so many things to do and we are so small, its support for third-party ecology may sometimes be inadequate. Taro, for example, initially did not support Mobx, but later it was contributed by netizens. The transformation work is very large, involving about 20 or 30 packages, and the code volume is quite large. So third-party developers help us a lot. In addition, some helpful suggestions and some code submissions are helpful.

Taro’s influence will continue to grow as many companies encounter problems with small programs. The fast applications we are currently supporting are nearing the end of development. The project of QQ light application has just finished its documentation and will soon enter development. QQ browser project will also start in the near future. Wechat, Baidu and Toutiao are now well supported.

How did you come up with the idea to develop Taro? Actually, it was because of the business we were supporting at that time, which was both small program, h5, and later APP, so we had to maintain three sets of code at the same time: one set of code for small program, one set of code for H5, and one set of code for APP. So we came up with the idea of using a single set of code to implement each side, and at that time we were working on the React framework. Therefore, the technology selection of the whole department shifted to the React camp. Later we were thinking about how to write a set of code and compile it to all the ends. The React syntax is a syntax conversion process. We use the React syntax as a DSL.

If you were asked to give examples of Taro’s strengths, what would you cite? First, the current support is relatively complete, in April will add support for fast applications. Taro is the most active member of the open source community in terms of activity, with many people contributing code and submitting suggestions. Ecologically speaking, Taro doesn’t have that many advantages yet, but there will be many plans to improve our ecology in the future. For example, Taro’s materials platform will be launched recently. The platform will provide the components and templates we have accumulated before. In addition, users will be encouraged to contribute codes or suggestions to Taro through subsequent incentives. We also work closely with the official miniprogram team on how to optimize and encourage developers to contribute.

Do Taro have any promotion or marketing plans at present? There are no plans for commercial promotion or marketing.

Did Taro make any big mistakes during the whole development process? We had some problems during the development process last year. Taro was launched at that time, focusing on applets and H5 compilation. The componentization of small programs has a problem of selection. At the beginning, we used Templete template to achieve componentization. At that time the small program understanding is not deep enough, and the custom component just came out, is not perfect, many netizens on this version of the question is also more. Later, I looked for a solution from wechat official and re-examined this custom component. There were some features that we thought we couldn’t implement with a custom component, but after further research we found that these features could be circumvented by specific means. We redeveloped a version with custom components and released 1.0 after stabilization.

Are there any non-JD.com code contributors to Taro? Much? There should be around 180 developers working on the project right now. Community contributions make up the bulk of the code for some of the mobx features just mentioned, while other contributions are typically one or two or a few lines of code.

What are the future directions and plans of Taro? First of all, it will definitely continue to open source. And then there’s the end, the ecosystem and the tools. This year, we plan to hold an offline event to invite developers to share, as well as baidu, Toutiao and other official teams. At the same time, we plan to offer some incentives to external developers who participate in the project, such as official certification and gifts for developers who contribute a lot. In addition, we will strengthen the cooperation with the official team of small program, and hold salons or contests. For example, as mentioned above, we will jointly hold a development contest with Tencent Cloud, and we will open special columns for small program cloud in our upcoming material platform to encourage developers to explore more possibilities.

What is the status of Taro in JINGdong? Jingdong internal use is of course increasing. Due to the influence of Taro itself, more and more business parties take the initiative to enter into the development of Taro. Secondly, we should conduct in-depth cooperation with internal departments specialized in the ability planning of small programs, and use Taro as the framework for recommending the whole small program ecosystem.

What do you think of the open source community in China? To be honest, many people in China treat open source technology as a kind of demand, but the open source community should be a platform for everyone to build, share and benefit.

What do you think of the emergence of so many small program platforms in China? I think the emergence of multiple applets is good for open source frameworks and proves the value of developers. From the business perspective, the current domestic traffic is concentrated in the giant APP. If an enterprise wants to create a new APP, it is difficult to share the traffic from the giant APP. But it’s a good thing that these giant apps have been able to provide channels like mini-programs for other businesses and merchants to share some of the traffic. The more applets there are in the future, the more opportunities there will be for developers.

Is your team responsible for the first-line business development in addition to Taro? In addition to the development of Taro, our team is also responsible for small programs and some business of H5. These two aspects complement each other and we cannot completely separate ourselves from the business to make tools.

Who do you think will be the mainstream trend of Vue or React? Both are excellent and are chosen at the developer’s discretion.

How do you see the future of front-end technology? The future of front-end technology should not be limited to a single device such as a phone or computer, but the era of the Internet of Things. Things like (IOT) will slowly increase. In the 5G era after that, many iot devices can run faster, so they will certainly meet different experiences in different scenarios. For example, if VR and AR are combined with 5G, its experience and interaction mode may change, so front-end technology should be everywhere in the future.

Anything you’d like to say to your reviewer readers? Taro is still a growing framework that needs more and more developers to contribute to, or even contribute to, open source. We welcome all developers to improve Taro and help it grow. I also hope that you can pay more attention to yelp, which is a very good media.