Facebook is the world's biggest social networking site, and its growth is driven by open source power. James Pearce, the head of Open-source project, said that Facebook began with the first line of writing its own PHP code, starting with the MySQL INSERT statement, and that open source has been incorporated into the company's engineering culture.
Facebook is not only open source, but also open source its internal projects, internal results feedback to the open source community, it can be said that this is a great company should be the attitude. By constantly opening up its own product offerings, Facebook has attracted a lot of good developers to work with. What can I do to challenge Internet hegemony Google by the article "Up-and-comer Facebook"? "Learn more about the open source power behind Facebook.
Of course, open source projects are not all tall, and there are some small projects worth seeing. Let's look at some of Facebook's small open source projects for the next 2013 years.
1. Xctool
An Apple Xcodebuild replacement tool that makes it easier to build and test iOS and Mac projects, especially for continuous integration (continuous integration)-style development practices.
Xctool is a simple alternative, and it adds new features, such as:
Supports structured output of build & test Results
Interface friendly, ANSI color output support
Faster speed, support for parallel testing, make running speed 2~3 times
Open Source protocol: Apache License 2.0
2. Buck
An Android, Java build tool, one of the main points of the project is the "speed up the Android build process." Mainly through the use of multi-core parallel operation, keep track of the unchanged module to reduce the rebuild time and other ways to reduce the overall construction time, specific to understand the "buck:what makes Buck so Fast."
Open Source protocol: Apache License 2.0
A Java animation library, spring model in the application of the introduction of real-world physics, the creation of animation makes people feel very natural, can be used in the scroll bar, switching switches and other scenarios, can be in the project home page in the demo to observe the effect.
Open Source protocol: BSD License
4. React
The JavaScript library, which is used to build the user interface, is flexible and can be used in conjunction with the current library and framework, and has been applied to sites such as Instagram and Facebook.
Open Source protocol: Apache License 2.0
5. Regenerator
Using generator in Node.js will eventually result in a heap of code that cannot be executed on the client. So the Facebook team developed regenerator to replace the native generator in Node.js, and let developers write cleaner, more powerful code.
Open Source protocol: BSD License
6. Huxley
Web application UI Test tool, development language for Python. Huxley can monitor content changes, screen shots, and then feedback to us where the changes, the response design test is also possible.
Open Source protocol: Apache License 2.0
7. Presto
Facebook's distributed SQL query engine can be used for high-speed, real-time interactive data querying and analysis. Presto is 7~10 times better than hive/mapreduce in CPU performance and main query performance. Every day, 1000 Facebook employees use Presto to scan PB-level data and run queries more than 30,000 times. In addition to the Facebook company, Airbnb and Dropbox have also adopted Presto.
Open Source protocol: Apache License 2.0
8. Rocksdb
ROCKSDB embedded Key-value storage class library based on LEVELDB, but enhanced scalability to run on multi-core processors, efficient use of fast storage, support for IO bindings, memory, and one write load. See the Geek Headlines section.
Open Source protocol: BSD License
9. Origami
Interactive design prototypes can easily be created by origami without programming. Tip: Quartz Composer is a Mac next graphics programming tool designed to generate a variety of dynamic visual effects, including interactive interface prototypes.
The tool provides a viewer that supports retina, supports native full-screen, and automatically adds a layer when you drag a picture. At the same time, the authorities have given a number of examples to help users learn how to use the tool.