SwooleOpen source projects from
2012The first edition began to be released in, and it is nearly now.
7Years of history. During these seven years:
8821Secondary code change
- Receive and resolve
- in common
100A developer contributed code
2018We launched a brand new
Swoole4Version, prior to this
SwooleThe main programming method is synchronous blocking mode or asynchronous callback. New Implementation Based on Concorde
CSPProgramming has gradually become us
OnlyRecommended programming mode. Concorde greatly simplifies the complicated asynchronous programming. Use
Swoole4Synergy is both simple and powerful. In the future
Swoole5Version, we plan to delete non-synergetic related features and codes, reduce historical burden, improve stability, reduce complexity, reduce unnecessary options, and purely synergize.
In the past
6Our team mainly took part-time development as its main task in 2008. Most of the team members came from top-tier domestic Internet companies such as Tencent, Ali, Didi, Baidu, 360 and Xiaomi, and some of them were from abroad.
Dmitry StogovHe also asked
SwooleContributed to the code. In addition, we have also recruited some college students
SwooleWrite code to gradually train the younger generation of developers.
7In January, we formed a full-time development team focused on
Swoole CloudDevelopment of cloud primary components and ecological chains. Say goodbye to the rebellious team in the past and transform it into a professional open source technology research and development team.
Our goal is to make
SwooleThe project became
GoThis kind of industrial technology, become
PHPIn Asynchronous of Programming Language
IOAnd network communication.
Research and development management
After setting up a full-time research and development team, we have gradually established a very perfect research and development management system to upgrade
SwooleThe quality of the software. Mainly includes the following aspects:
Test driver (TDD)
Now we are devoting a lot of energy to implement unit test scripts, pressure test scripts and automated tests to improve unit test coverage. At present, it already exists
680Item test case,
17Item pressure test items, in
Travis-CIThe platform can see every time
Pull RequestThe compilation and test results of.
The research and development work is also based on
TDD, in the development of new features, reconstruction,
Bug FixWhen, will write the corresponding unit test script first, the test covers all scenarios of code changes.
The team members cross-checked the codes and exchanged opinions with each other.
Code ReviewTo fully evaluate and discuss the details of code changes.
Major changes will be made by the team.
Review, spend hours or even days discussing the details of each line of code change.
Bug Fix, non-performance enhancement, non-refactoring, new features or changes that may change the underlying behavior, we will divide into
4Three steps were taken.
RFCOf the United States of America,https://github.com/swoole/rfc …The content of the proposal will elaborate on the antecedents and consequences of the change, related configuration items, scope of impact, usage and examples.
- In the discussion of the proposal, we will fully discuss the proposal, dig into the root of the problem, analyze the advantages and disadvantages, and weigh the details. After all the issues have been discussed clearly, the project will finally be approved and will begin to be implemented.
- Development manager creates
gitBranch, write unit test script, write code, realize all contents in the proposal, and finally initiate
- Cross-review, code check, suggestions for improvement, feedback to development manager, continue to improve the details. Finally merged into the trunk.
The whole process is in
GitHubThe platform is open, right
SwooleInterested in the project
PHPerAll can participate.
In order to ensure the stability of the official version, we will conduct gray scale tests on the internal items before the release to check the stability of the new version.
In addition, we and most of them
SwooleThe authors of the framework have established contact and the new version will be sent to the authors of the major frameworks for trial use in advance. There are significant underlying changes, or incompatibilities, that will advance with other
SwooleThe author of the above open source project.
In the past few years,
SwooleThe project is not very professional, there are many
BUGAnd many users stepped on many pits.After setting up a full-time R&D team in the past six months, we have made rapid progress in R&D management.
SwooleIn terms of stability and maturity, it is no longer what it used to be.. Stability is always the first, we will be more cautious and rigorous in the future to ensure quality.
2018In the second half of this year, we have refactored the underlying code many times and optimized the code structure, readability, reusability and encapsulation. Make
SwooleThe software is more concise and elegant.
In terms of programming language, we are gradually using it now.
C++The provided object-oriented, smart pointer, containers, templates and other features can help us further improve the team’s development efficiency.
I also welcome all of you here.
SwooleProject, contribution code.
SwooleIt is also an aspect widely criticized by developers. In
2018In 2003, our team gradually increased its investment in documentation. Rewrite and sort out documents, add rich example programs, add more detailed diagrams, fix detailed problems, delete emotional statements, and be more objective, neutral and rigorous.
In the new year, we mainly have
3We will exert our strength in all directions.
Deleting non-cooperative features, deleting unnecessary modules, reducing historical burden, improving stability, reducing complexity, reducing unnecessary options, simplifying complexity and making it simpler.
SwooleThe kernel level will continue to restructure and streamline, reduce the number of lines of code, clean up redundant code and reuse code as much as possible.
2018At the end of the year, we have gradually started to use it in large quantities in the production environment.
SwooleThe establishment of contacts between enterprises, including
YouxinSuch as enterprises. Understand the actual application scenarios and business models, conduct in-depth communication and cooperation, provide suggestions, help enterprise technical teams to better solve business problems, and accept feedback to improve the bottom layer.
2019We will be based on
Swoole4Xie Cheng developed some supporting tools and components to make up for it.
Cloud NativeDeficiencies in the ecological chain of the times.