What happened in the open source process of Beetl

original
2014/08/26 10:18
Reading amount 1.6W

    

   

I am the open source author of Beetl. My name is Li Jiazhi. My online name is Xianda Fu. Maybe many people are more familiar with this name. My original intention is to hope that I am rich and busy, but it turns out to be contrary to my wishes. Especially after more people use Beetl, they are busy and poor. Maybe I should change my name to poor and busy:)

Everything needs your help. Open source is also the same. I met two distinguished people. One is HP, which is working on several projects of the mobile headquarters. The customer and the HP boss arrange things very reasonably and carefully, so there is a lot of free time. They arrive at the customer's place at 10 o'clock, go home from work at 6 o'clock, and play various games during the time. They are not busy at all. But one day in the autumn, I realized that I could not go on like this. I had to leave something for myself. When I was idle, I thought about learning technology. I chose a technology that seemed tall and fashionable -- developing a language, which is now known as the Beetl template language. In fact, I regret this decision. At that time, I should make use of NOSQL, distributed technology (later, I spent a week to make a distributed collaborative facade technology, which really brought some benefits, which is the last word), or open source mall, which is also easy to sell for money, because the language is really not popular -- although it is very difficult. Another distinguished person is the early users of beetl. When I finished the 0.5 version, I kept it there. No one used it. I didn't want to promote it. One day, a friend sent me an email saying that beetl was very good and wanted to use it. I was immediately excited, which aroused my enthusiasm for further development and improvement. Although I went to the technology department of a company with attitude from HP at that time, I still forgot to eat and sleep to improve Beetl. This guy later used Beetl for all his projects. I am also very grateful to him. Without his first use, Beetl would be difficult to develop

I have developed a language, and there are many projects used in China. I guess I have become tall and powerful. I guess the beginning, but the end is not like this. Because it takes a lot of time. It takes 1 or 2 hours for technical support and development every day, and it needs to be closed on weekends or small and long vacations. Since ancient times, people have always been particular about closing the door. Instead of eating, go to a quiet cave. Now Beitl is also closed, eating little food to avoid drowsiness and forcing the brain to become excited. In addition, it's not easy to find a quiet place. Fortunately, there are many universities in Beijing, so I went to the big classroom of the graduate teaching building of Beijing Jiaotong University. There are occasionally some lovers there, but few learners. In a word, the technical development of beetl took a lot of spare time, which led to the overall backwardness of personal technology. The jdk7, 8, and 9 did not follow up. Hadoop and Spark did not have any concept, and the popular mobile phone development was also not proficient. Sometimes I think that if I hadn't written Beetl, I would be a top talent now. It is true that some ordinary colleagues who used to study these two kinds of popular technologies have doubled their reputation and become the gunmen of major companies. They have bemoaned to me all day long how to refuse offers from other companies, which makes people envious

Let's talk about the competition in open source. Template language is a popular technology, which is not very high, so the competition is very fierce.

  Freemarker : This is my biggest competitor. Open source has been popular at home and abroad for more than 10 years. In particular, there are many fans in China and hundreds of downloads every day. If you Baidu Freemaker, you can see countless introductory articles. I really want to replace it, because I have used several projects piecemeal and always feel awkward. The advantage of Beetl is that it is easier to learn grammar and the usage custom is similar to the programmer's thinking. Another non advantage is that the function can catch up with Freemaker (compared with other template engines, haha).

  Velocity : There are many domestic users of Apache. The advantage of Beetl is that it belongs to scripting language. Therefore, it can handle complex rendering logic gracefully. When you first used Velocity, remember that it has a feature that if a variable attribute does not exist, it will be displayed on the page instead of an error. When I saw this, I was not interested in velocity. Just imagine that if the system reconfiguration causes the property name to change or does not exist, the page will not report an error. This is very unfriendly. I don't know if there is any improvement

  HTTL,JetbrickTemplate,TinyTemplate Both are domestic template engines similar to Velclotiy, which have improved many shortcomings of velocity. JT helped HTTL development before, and later developed another set based on antlr4. TT imitates JT, They also made some improvements according to their own ideas. they As a domestic open source template engine, Beetl is also a rising star, with little advantage. The only advantage is that it can continue to develop and improve, as well as Beetl's future technical ambitions, including IDE integration support (syntax coloring, attribute hints, unprecedented refactoring support and debug support), etc

  Webit,BSL.   Like Beetl, similar to JS syntax, the two authors gave Beetl a lot of advice before developing independently. Later, I had my own ideas about the functions and implementation methods of the template engine, and I developed one myself. I thought these two would be the biggest competitors of Beetl in the future, but now it seems that they are not. Because BSL is no longer maintained, I know that its authors are very competent and have a wide range of interests. Now they are working on other technologies. Webit is ambitious. It wants to make Webit a Java version of PHP. Therefore, it is not the same thing as Beetl, nor can it compete. In general, the competitive atmosphere of domestic template engines is very good. If you have good ideas, you will exchange them without dismantling each other.

   angularjs, The popular JS framework, as well as other rich client frameworks, have many overlapping functions with the Java template engine. But I'm not worried about replacing the template engine in the future. The main reason is that the js language technology itself has defects and is not suitable for large-scale programs. Secondly, the page made of js is not suitable for SEO. It is simply not suitable in the booming e-commerce environment. Another problem is that a page has too many page ajax requests, which will multiply the server load. This was actually an unreasonable design before the popularity of http2.0 (of course, for enterprise applications, the number of users is small, so it can be done).

  Node.JS : Some architects have taken Node.js as a view technology because they want front-end engineers to focus on front-end development, which is different from Beetl, which is also a JS syntax. It is also considered to let front-end engineers focus on the interface and provide supporting tools and frameworks to complete this (refer to my CrossMVC )Personally, I intuitively think Node.js is not more suitable for front-end rendering than Beetl. The reason is simple, because Beetl was born for this purpose, while Node.js did not intend to do so. In addition, as I said to JS, JS language is not suitable for large-scale program development, and his asynchronous programming model is not suitable for large-scale program development. Node.JS is powerful and easy to be abused. Maybe now, whether the js front-end staff should use Beetl+CrossMVC or Node to develop templates JS, It is difficult to judge, but time will prove that adopting Beetl is a correct choice for the project.

Let's discuss how to promote open source again. Open source authors I know do not open source for the sake of money and fame. The purpose is pure, just for interest. However, if there is no user for the open source, it may disappoint the volunteers. I think I have some experience on how to promote open source

First, the strategy of encircling cities from rural areas. Your open source may be more advanced than others, but as a latecomer, it is difficult to be accepted by others for a while. Although we hope that leading companies like BAT can use it best, we should not make extravagant hopes at the beginning of promotion. It is better to start with some small companies and individual users, and then gradually expand to medium-sized formulas and large companies. Beetl was originally used by individuals. After three years of development, it has been used by B and A leaders.

Second: There should be gimmicks. If you want others to remember you, you must have a gimmick. This is no different from hyping stars, for open source. Some off the shelf gimmicks can be used, such as the smallest open source template engine. I have seen an open source template engine with only 200 lines. Although I disdain it, it has really left a deep impression on me. Another example is the template engine with the best performance, which seems to be a better gimmick in today's software industry. At the beginning, Beetl didn't care much about performance, but later found that this gimmick is really a factor that developers like. So in the late 1. x period, version 2.0 made many performance improvements. Now EBM The test performance is more than 4 times that of Freemaker. A lot of initial development chose beta for this reason

Third: There should be perfect after-sales support. Value any user as a customer. If they think the document is not detailed enough, they should try to improve the document. If they think there is a lack of examples, they should provide more examples. If they think that Freemaker has some functions that Beetl should also have, they should complete them. To be honest, the initial functions of Beetl were designed by ourselves, but in the later stage, many features were driven by users, who were not only customers of Beetl, but also actual promoters of Beetl.

Fourth: With a calm heart, in the process of promotion, you will encounter various doubts and rejections, even blows. I have always claimed to replace Freemaker, which has hit many Freemaker fans. Freemaker, a project of my own company, has had a technology ecosystem. I can't persuade others to use Beetl. I have to continue to complete my work with Freemaker while feeling sick.

Finally, I want to talk about the gains and losses of open source Beetl in recent years.

As mentioned earlier, open source Beetl, which is a project outside the company, takes a lot of my spare time, and sometimes I have to do some support and bug repair at work. At HP, I still talked about it in the past, but after I went to the company with attitude, it greatly affected my work. I changed from a quick worker to a programmer who "sharpened" his work. It's hard for me to accept my resignation in such a state. I was also affected by this in my later entrepreneurship. Therefore, in terms of career, I didn't get any benefits from doing Beetl. I sometimes think that if I use this time to do any other thing, it may be more worthwhile than this. Beetl is just something I have to continue to do. I think this is also the idea of many Chinese open source authors

However, the development of Beetl began to realize my original intention, replacing the difficult Freemaker, and being familiar with a technology I am not familiar with (language development). In addition, through Beetl open source, I have met many friends. I chat and tease with these friends every day, Very interesting, and I have learned a lot. Sometimes some people will write to me, saying that Beetl helped him successfully complete the project development, or helped him find a job. Whenever I think of these things, I think that developing Beetl is a right decision and a thing worth sticking to.


  


  

   



Expand to read the full text
Loading
Click to join the discussion 🔥 (94) Post and join the discussion 🔥
Reward
ninety-four comment
seventy-two Collection
forty-four fabulous
 Back to top
Top