Organize and Share your Electronics the way you want. Sign-Up for a free account now. It takes only 30 seconds!

Top 15 Facebook Open Source Projects You Must Know and use for your Maker’s projects

Top 15 Facebook Open Source Projects You Must Know and use for your Maker’s projects

Facebook contribution to open source can be largely categorized into Mobile, Web, Back-end and Infrastructure. Top open source projects made in these categories are:

Mobile:

Buck

Buck is a high performance build system for Android that encourages creation of small, reusable modules consisting of code and resources. Because Android applications are predominantly written in Java, Buck also functions as a Java build system.

Rebound

Rebound is a Java library that models spring dynamics. Rebound spring models can be used to create animations that feel natural by introducing real world physics to your application. Rebound uses the same spring constants as Origami making it easy to convert Origami interaction mockups directly into your Android application.

Origami

Origami is a tool for designing modern user interfaces. Quickly put together a prototype, run it on your iPhone or iPad, iterate on it, and export code snippets your engineers can use.

Stetho

Stetho is an all new debugging platform for Android. It enables the powerful Chrome Developer Tools which is implemented using a client/server protocol which the Stetho software provides for your application. Once your application is integrated, simply navigate to chrome://inspect and click “Inspect” to get started!

Infer

Facebook Infer is a static analysis tool to detect bugs in Android and iOS apps before they ship. If you give Infer some Objective-C, Java, or C code, it produces a list of potential bugs. Anyone can use Infer to intercept critical bugs before they have shipped to people’s phones, and help prevent crashes or poor performance. Infer targets critical bugs such as null pointer exceptions, resource leaks and memory leaks.

Web:

React Js

React Js is a declarative, efficient, and flexible JavaScript library for building user interfaces. Lots of people use React as the V in MVC. Since React makes no assumptions about the rest of your technology stack, it’s easy to try it out on a small feature in an existing project.

HHVM

HHVM (Hip Hop VM) is an open-source virtual machine designed for executing programs written in Hack and PHP. HHVM uses a just-in-time (JIT) compilation approach to achieve superior performance while maintaining the development flexibility that PHP provides. It has realized more than a 5x increase in throughput for Facebook compared with Zend PHP 5.2. HipHop is most commonly run as a standalone server, replacing both Apache and modphp, but it can also run standalone scripts from the command line.

Flux

Flux is the application architecture that Facebook uses for building client-side web applications. It complements React’s composable view components by utilizing a unidirectional data flow. It’s more of a pattern rather than a formal framework, and you can start using Flux immediately without a lot of new code.

Flow

Flow adds static typing to JavaScript to improve developer productivity and code quality. The goal of Flow is to find errors in JavaScript code with little programmer effort. Flow relies heavily on type inference to find type errors even when the program has not been annotated – it precisely tracks the types of variables as they flow through the program.

fb-flo

fb-flo is a Chrome extension that lets you modify running apps without reloading. It’s easy to integrate with your build system, dev environment, and can be used with your favorite editor.

Jest

Jest is unit testing framework for JavaScript. It  is built on top of the Jasmine test framework, using familiar expect(value).toBe(other) assertions. It automatically mocks CommonJS modules returned by require(), making most existing code testable.

Nuclide

Nuclide is a suite of packages for Atom to provide IDE-like functionality for a variety of programming languages and technologies. It is designed to provide a unified developer experience for engineers throughout the company — whether they work on native iOS apps, on React and React Native code, or on Hack to run on our HHVM web servers.

Back-end:

Presto

Presto is an open source distributed SQL query engine for running interactive analytic queries against data sources of all sizes ranging from gigabytes to petabytes. Facebook uses Presto for interactive queries against several internal data stores, including their 300PB data warehouse. Over 1,000 Facebook employees use Presto daily to run more than 30,000 queries that in total scan over a petabyte each per day.

Osquery

Osquery gives you a SQL interface to try out new queries and explore your operating system. With the power of a complete SQL language and dozens of useful tables built-in, osquery is an invaluable tool when performing incident response, diagnosing system operations problem, or troubleshooting a performance issue. Deploy a security tool that also enables developers and administrators.

RocksDB

RocksDB builds on LevelDB to be scalable to run on servers with many CPU cores, to efficiently use fast storage, to support IO-bound, in-memory and write-once workloads, and to be flexible to allow for innovation.

Not only softwares, but Facebook has also built various custom hardware competent to meet its ever increasing scale under Open Compute Project.  Unlike Google and Microsoft, Facebook not only contributes its research work but also the end implementation to open source community. Let us know in comments your views towards Facebook’s open source contribution.

Source: Top 15 Facebook Open Source Projects You Must Know







 

More Articles to Read

Design for a Wideband, Differential Transimpedance DAC Output
Design for a Wideband, Differential Transimpedance DAC Output
Wrist thrusters let you fly through the water effortlessly
Wrist thrusters let you fly through the water effortlessly
Bertan/Spellman 225-20R HV power supply teardown
Bertan/Spellman 225-20R HV power supply teardown
Blinking Christmas Lights
Blinking Christmas Lights
Adjusting clock with alarm, hygrometer & thermometer on 1.8″ ST7735 display
Adjusting clock with alarm, hygrometer & thermometer on 1.8″ ST7735 display
Adding an “extra sense” with rangefinders
Adding an “extra sense” with rangefinders
This wireless game controller looks like a rug
This wireless game controller looks like a rug
How to run your ESP8266 for years on a battery
How to run your ESP8266 for years on a battery
Calibration of a 3-Phase Energy Meter Board on the ADE7754
Calibration of a 3-Phase Energy Meter Board on the ADE7754
Making beats on a tiny Arduino DJ controller
Making beats on a tiny Arduino DJ controller
Qinsi-QS5100 Sn63Pb37 solder profile
Qinsi-QS5100 Sn63Pb37 solder profile
Water Detection System
Water Detection System
Professional Hi-Fi 15W Tube Amplifier circuit
Professional Hi-Fi 15W Tube Amplifier circuit
This Arduino machine will judge how sick your ollies are
This Arduino machine will judge how sick your ollies are
Turn an old payphone into a boombox for ’90s hits
Turn an old payphone into a boombox for ’90s hits
Big F’n 3D printer build
Big F’n 3D printer build
Temperature alarm for boiling milk
Temperature alarm for boiling milk
QuadBot is a 3D-printable walking robot for everyone
QuadBot is a 3D-printable walking robot for everyone
MicroConverter I2C Compatible Interface
MicroConverter I2C Compatible Interface
An Arduino tachometer for your older vehicle
An Arduino tachometer for your older vehicle

Top


Shares