facebook-nguồn mởĐây là bài viết đầu tiên của loạt bài mà chúng tôi sẽ xuất bản về các dự án nguồn mở hàng đầu được thực hiện bởi các blue chip lớn như Facebook, Twitter, Microsoft, Google, Netflix, v.v. Chúng tôi muốn độc giả của chúng tôi nhận thức được các công nghệ và dự án giúp những gã khổng lồ này cải tiến liên tục bất kể quy mô, bảo mật và những thách thức lớn khác mà các công ty này phải đối mặt Hằng ngày.

Đóng góp của Facebook cho nguồn mở phần lớn có thể được phân loại thành Di động, Web, Back-end và Cơ sở hạ tầng. Các dự án nguồn mở hàng đầu được thực hiện trong các danh mục này là:

Di động:

Cái xô

Cái xô là một hệ thống xây dựng hiệu suất cao dành cho Android khuyến khích tạo các mô-đun nhỏ, có thể tái sử dụng bao gồm mã và tài nguyên. Vì các ứng dụng Android chủ yếu được viết bằng Java, Buck cũng hoạt động như một hệ thống xây dựng Java.

Dội lại

Dội lại là một thư viện Java mô hình động lực học mùa xuân. Mô hình lò xo hồi sinh có thể được sử dụng để tạo ra các hình ảnh động tự nhiên bằng cách giới thiệu vật lý thế giới thực vào ứng dụng của bạn. Rebound sử dụng các hằng số lò xo giống như Origami giúp bạn dễ dàng chuyển đổi mô hình tương tác Origami trực tiếp vào ứng dụng Android của mình.

Origami

Origami là một công cụ để thiết kế giao diện người dùng hiện đại. Nhanh chóng tập hợp một nguyên mẫu lại với nhau, chạy nó trên iPhone hoặc iPad của bạn, lặp lại trên đó và xuất các đoạn mã mà kỹ sư của bạn có thể sử dụng.

Stetho

Stetho là một nền tảng gỡ lỗi hoàn toàn mới dành cho Android. Nó kích hoạt Công cụ nhà phát triển Chrome mạnh mẽ được triển khai bằng giao thức máy khách/máy chủ mà phần mềm Stetho cung cấp cho ứng dụng của bạn. Sau khi ứng dụng của bạn được tích hợp, chỉ cần điều hướng đến chrome://inspect và nhấp vào “Kiểm tra” để bắt đầu!

Suy luận

Facebook Suy luận là một công cụ phân tích tĩnh để phát hiện lỗi trong ứng dụng Android và iOS trước khi chúng xuất xưởng. Nếu bạn cung cấp cho Infer một số mã Objective-C, Java hoặc C, nó sẽ tạo ra một danh sách các lỗi tiềm ẩn. Bất kỳ ai cũng có thể sử dụng Infer để chặn các lỗi nghiêm trọng trước khi chúng được chuyển đến điện thoại của mọi người và giúp ngăn chặn sự cố hoặc hiệu suất kém. Suy ra nhắm vào các lỗi quan trọng như ngoại lệ con trỏ null, rò rỉ tài nguyên và rò rỉ bộ nhớ.

Web:

Phản ứng Js

Phản ứng Js là một thư viện JavaScript khai báo, hiệu quả và linh hoạt để xây dựng giao diện người dùng. Rất nhiều người sử dụng React làm V trong MVC. Vì React không đưa ra giả định nào về phần còn lại của ngăn xếp công nghệ của bạn, nên thật dễ dàng để thử nó trên một tính năng nhỏ trong một dự án hiện có.

HHVM

HHVM (Hip Hop VM) là một máy ảo mã nguồn mở được thiết kế để thực thi các chương trình được viết bằng Hack và PHP. HHVM sử dụng phương pháp biên dịch đúng lúc (JIT) để đạt được hiệu suất vượt trội trong khi vẫn duy trì tính linh hoạt trong phát triển mà PHP cung cấp. Nó đã nhận ra rằng thông lượng cho Facebook tăng hơn 5 lần so với Zend PHP 5.2. HipHop thường được chạy dưới dạng một máy chủ độc lập, thay thế cả Apache và modphp, nhưng nó cũng có thể chạy các tập lệnh độc lập từ dòng lệnh.

Tuôn ra

Tuôn ra là kiến ​​trúc ứng dụng mà Facebook sử dụng để xây dựng các ứng dụng web phía máy khách. Nó bổ sung cho các thành phần chế độ xem có thể kết hợp của React bằng cách sử dụng luồng dữ liệu một chiều. Nó giống như một khuôn mẫu hơn là một khuôn khổ chính thức và bạn có thể bắt đầu sử dụng Flux ngay lập tức mà không cần nhiều mã mới.

tuôn ra
tuôn ra

lưu lượng

lưu lượng thêm tính năng nhập tĩnh vào JavaScript để cải thiện năng suất và chất lượng mã của nhà phát triển. Mục tiêu của Flow là tìm ra lỗi trong mã JavaScript với ít nỗ lực của lập trình viên. Dòng chảy chủ yếu dựa vào kiểu suy luận để tìm lỗi kiểu ngay cả khi chương trình chưa được chú thích – nó theo dõi chính xác các loại biến khi chúng chạy qua chương trình.

fb-flo

fb-flo là một tiện ích mở rộng của Chrome cho phép bạn sửa đổi các ứng dụng đang chạy mà không cần tải lại. Thật dễ dàng để tích hợp với hệ thống xây dựng, môi trường nhà phát triển của bạn và có thể được sử dụng với trình soạn thảo yêu thích của bạn.

Jest

Jest là khung kiểm tra đơn vị cho JavaScript. Nó được xây dựng dựa trên khung thử nghiệm Jasmine, sử dụng các xác nhận giá trị .toBe (khác) quen thuộc. Nó tự động chế nhạo các mô-đun CommonJS được trả về bởi request (), làm cho hầu hết các mã hiện có đều có thể kiểm tra được.

Nuclide

Nuclide là một bộ các gói cho Atom để cung cấp chức năng giống như IDE cho nhiều ngôn ngữ lập trình và công nghệ. Nó được thiết kế để cung cấp trải nghiệm nhà phát triển thống nhất cho các kỹ sư trong toàn công ty – cho dù họ làm việc trên các ứng dụng iOS gốc, trên mã React và React Native hay trên Hack để chạy trên máy chủ web HHVM của chúng tôi.

TÌM HIỂU MÃ QUẢNG CÁO HÌNH VUÔNG

Kết thúc:

Mau

Mau là một công cụ truy vấn SQL phân tán mã nguồn mở để chạy các truy vấn phân tích tương tác dựa trên các nguồn dữ liệu thuộc mọi kích thước khác nhau, từ gigabyte đến petabyte. Facebook sử dụng Presto cho các truy vấn tương tác với một số kho dữ liệu nội bộ, bao gồm cả kho dữ liệu 300PB của họ. Hơn 1.000 nhân viên của Facebook sử dụng Presto hàng ngày để chạy hơn 30.000 truy vấn quét tổng cộng trên một petabyte mỗi ngày.

Osquery

Osquery cung cấp cho bạn giao diện SQL để thử các truy vấn mới và khám phá hệ điều hành của bạn. Với sức mạnh của một ngôn ngữ SQL hoàn chỉnh và hàng chục bảng hữu ích được tích hợp sẵn, osquery là một công cụ vô giá khi thực hiện phản ứng sự cố, chẩn đoán sự cố hoạt động hệ thống hoặc khắc phục sự cố hiệu suất. Triển khai một công cụ bảo mật cũng cho phép các nhà phát triển và quản trị viên.

RocksDB

RocksDB xây dựng dựa trên LevelDB để có thể mở rộng để chạy trên các máy chủ có nhiều lõi CPU, sử dụng hiệu quả khả năng lưu trữ nhanh, hỗ trợ khối lượng công việc liên kết IO, trong bộ nhớ và ghi một lần và linh hoạt để cho phép đổi mới.

This post is also available in: Tiếng Việt Indonesian

LEAVE A REPLY

Please enter your comment!
Please enter your name here