Engineering Blog

Blog posts tagged 'JavaScript'

Adam WolffEngineering at Facebook

Facebook open source at F8 2017

Posted about 2 months ago
blog post · Web · Mobile · Front End · Open Source · JavaScript · Framework · Development Tools · Tooling

We announced several new open source projects today that improve app experiences for both users and engineers. Read more...

Relay Modern: Simpler, faster, more extensible

Posted about 2 months ago

The new version of Relay is designed from the ground up to be easier to use, more extensible, and optimized for mobile devices. Read more...

Mark PengEngineering Manager at Facebook

Keyframes: Delivering scalable, high-quality animations to mobile clients

Posted about 7 months ago
blog post · Mobile · iOS · Android · Open Source · Front End · User Experience · Design Tools · JavaScript

The open source library is able to export and play back high-quality, lightweight animations, such as the ones seen in Facebook Reactions. Read more...

Yarn: A new package manager for JavaScript

Posted about 9 months ago

With Yarn, engineers have access to the npm registry while operating faster, more securely, and more reliably. Read more...

Open source in 2015: A year of growth

Posted about 2 years ago
blog post · Open Source · HipHop · PHP · JavaScript · Development Tools

Our open source growth wouldn't have been possible without the contributions of more than 3,400 developers — the majority of whom were external. Read more...

Ramya SethuramanEngineering

HIKE: Our quick, simple accessibility primer

Posted about 2 years ago

Making our products accessible is integral to achieving our mission of connecting the world. Read more...

Timothy YungEngineering Manager at Facebook

Relay: Declarative data for React applications

Posted about 2 years ago

We've been working on a solution to simplify the process of retrieving server data. Read more...

Flow, a new static type checker for JavaScript

Posted about 3 years ago

Introducing Flow, a new open-source static type checker for JavaScript. Flow adds static typing to JavaScript to improve developer productivity and code quality. Read more...

Joel PobarEngineering at Facebook

Hack Developer Day Recap

Posted about 3 years ago

A few weeks ago, Facebook introduced and open-sourced Hack, a gradually-typed programming language for HHVM that interoperates seamlessly with PHP. Yesterday we hosted our first Hack Developer Day to bring together members of the developer community for a deeper dive into Hack and HHVM. Read more...

Stoyan StefanovEngineer at Facebook

Speeding up the Activity social plugin

Posted about 4 years ago
blog post · Web · Infra · Platform · Performance · Optimization · Testing · JavaScript · User Experience

Last week we launched a lighter and faster Activity social plugin that we rewrote from the ground up. This is yet another plugin relaunched with page-loading performance in mind, following our recent Send, Like, Likebox, Login, Facepile, and Recommendations plugin optimizations. Read more...

Stoyan StefanovEngineer at Facebook

Like Box plugin: Now 2-4x faster

Posted about 4 years ago
blog post · Web · Platform · Performance · JavaScript · User Experience

Following in the footsteps of the new, faster Like button plugin, we've been busy rewriting the Like Box from the ground up, focusing on performance. Read more...

Stoyan StefanovEngineer at Facebook

Under the Hood: The JavaScript SDK – Truly Asynchronous Loading

Posted about 5 years ago
blog post · Infra · Platform · JavaScript · Front End

This post is part of a series that looks under the hood of our JavaScript SDK. Read more...

Øyvind Sean KinseyEngineering Manager at Facebook

Under the Hood: The JavaScript SDK - The use of polyfills

Posted about 5 years ago
blog post · Infra · Platform · JavaScript · Front End

This installment is a part of a series of posts exploring the internal details of our JavaScript SDK. Our hope is that these posts will help developers debug any issues with our SDK and give us an opportunity to outline some best practices for JavaScript libraries in general. In this post, we're going to drill into how we use polyfills in our SDK. Read more...

Øyvind Sean KinseyEngineering Manager at Facebook

Under the Hood: The JavaScript SDK - error handling

Posted about 5 years ago
blog post · Infra · Platform · JavaScript · Front End

For the next few weeks we will be exploring the internal details of our JavaScript SDK in a series of posts. Our hope is that this will help developers debug any issues with our SDK and give us an opportunity to outline some cool best practices for JavaScript libraries. In this post, we're going to drill into how error handling works in our SDK. Read more...

Optimizing for the MacBook Pro with Retina display

Posted about 5 years ago

As an intern on the user interface engineering team this summer, I helped build UI components that can be used across Facebook. The last project I completed before I left was to help improve the user experience on Apple's MacBook Pro with Retina display and future high resolution displays. Read more...

Clément GenzmerEngineering

My First Year Fighting Spam

Posted about 5 years ago
blog post · Infra · Security · User Experience · Performance · JavaScript

Fighting spam is really an arms race. As technology evolves, new threats emerge and keeping up is an absolute necessity. The Site Integrity team at Facebook works to protect people from spam, scams, account compromises, and other forms of abuse by building real-time classification systems that process millions of interactions per second and investigate and respond to new threats. Read more...

Abe LandEngineering

Building the Send Button

Posted about 6 years ago
blog post · Web · Platform · Messages · JavaScript · User Experience

We released the Send button, a new social plugin, this past Monday. Facebook developers can use it by itself or in combination with the Like button. Read more...

Cory OndrejkaAlleged Interim CTO at Facebook

HTML5 Games 0.1: Speedy Sprites

Posted about 6 years ago

Speed, it seems to me, provides the one genuinely modern pleasure. Read more...

Scott MacVicarEngineering

Google Summer of Code 2010

Posted about 7 years ago
blog post · Culture · Mobile · Web · Compute · Open Source · Academics · PHP · HipHop · HTML5 · JavaScript · iOSmore

This summer we participated in Google Summer of Code (GSoC) for the first time and wanted to share an update on the progress our students made. GSoC is in its sixth year and exists to encourage university students to spend their summer coding for an open source / free software project. The students in turn are awarded a stipend which definitely makes this a cool summer job. Read more...

Carlos BuenoFixer at Facebook

Internet Cartography

Posted about 7 years ago

A telegram from San Francisco to Hong Kong in 1901 must have taken many hops through British Empire cables to Europe, through the Middle East, and so on. London to New York was fast and direct. The vestiges of the Spanish and Portuguese Empires show up in the many links between South America, the Caribbean archipelago, and the Iberian peninsula. A cool thing is that you can measure these relative latencies yourself, using the present-day internet. If you run a website with a decent amount of worldwide traffic, you can use that traffic to map out how the internet responds with regards to you, and see how that matches with the gross structure of the 'net. I wrote about a cheap and cheerful way to generate this data last year, and the code has since been open-sourced as part of Yahoo's Boomerang measurement framework. Read more...

Changhao JiangEngineering at Facebook

BigPipe: Pipelining web pages for high performance

Posted about 7 years ago
blog post · Web · Compute · Optimization · JavaScript · Performance · User Experience

Site speed is one of the most critical company goals for Facebook. In 2009, we successfully made Facebook site twice as fast, which was blogged in this post. Several key innovations from our engineering team made this possible. In this blog post, I will describe one of the secret weapons we used called BigPipe that underlies this great technology achievement. BigPipe is a fundamental redesign of the dynamic web page serving system. The general idea is to decompose web pages into small chunks called pagelets, and pipeline them through several execution stages inside web servers and browsers. This is similar to the pipelining performed by most modern microprocessors: multiple instructions are pipelined through different execution units of the processor to achieve the best performance. Although BigPipe is a fundamental redesign of the existing web serving process, it does not require changing existing web browsers or servers; it is implemented entirely in PHP and JavaScript. Read more...

Matt JonesEngineering

Protecting Privacy with Referrers

Posted about 7 years ago
blog post · Web · Data · Security · User Experience · JavaScript

Late last week, we quickly fixed an issue after being contacted by a Wall Street Journal reporter regarding an unintentional oversight in the data shared with our advertisers by your browser when you click some ads on Facebook. This occurred in the referrer link visible to advertisers when someone clicked on an ad. A little background: In some cases the referrer could contain the user ID of a profile you visited, including your own, but we were not aware of any way that a user ID on the referrer could identify the person who clicked on the ad. We've been testing different solutions to remove user IDs completely from referrer URLs since their inclusion was first brought to our attention. However, in a rarely occurring case, advertisers knowledgeable about the structure of Facebook's URLs could use the referrer to determine when someone who clicked on an ad had been viewing his or her own profile, thus potentially enabling them to infer the user ID of that person. We have no reason to believe that any advertisers were exploiting this, and doing so would have been a violation of our terms. To our knowledge, none did. It's also important to point out that we don't share personal information with advertisers, and we never sell any of your information to anyone. Read more...

Jason SobelEngineer at Facebook

Making Facebook 2x Faster

Posted about 7 years ago

Everyone knows the internet is better when it's fast. At Facebook, we strive to make our site as responsive as possible; we've run experiments that prove users view more pages and get more value out of the site when it runs faster. Google and Microsoft presented similar conclusions for their properties at the 2009 O'Reilly Velocity Conference. So how do we go about making Facebook faster? The first thing we have to get right is a way to measure our progress. We want to optimize for users seeing pages as fast as possible so we look at the three main components that contribute to the performance of a page load: network time, generation time, and render time. Read more...

Chris PutnamEngineering at Facebook

Building a Better Photo Uploader

Posted about 8 years ago
blog post · Web · Photos · JavaScript · Security · Performance · User Experience

At Facebook, we're always looking for ways to make sharing more efficient. Today we're announcing a significant upgrade to our Photos product: a new and improved photo uploader that’s available for testing as a Facebook Prototype. Since Photos launched in 2005, the photo-uploading experience on Facebook has relied on the use of a third-party ActiveX control (and its sister Java applet). Over the years we have seen a growing number of complaints with this old uploader. In a recent poll, we discovered a significant percentage of users were unable to upload photos due to technical issues. Many more found it functional, but only just. That's when we resolved to build a modern replacement. We had the following goals for the new uploader:. Read more...

Want to work with us?

Join the team, we're hiring! Here are some of our current open positions:

    Keep Updated

    Stay up-to-date via RSS with the latest open source project releases from Facebook, news from our Engineering teams, and upcoming events.

    Subscribe
    Facebook © 2017