Homepage
Sign in / Sign up
Google Developers

Google Developers

For Engineers, by Engineers

Featured
Building a Responsive UI in Android

Building a Responsive UI in Android

Designing and building great looking apps on every device
Go to the profile of Ian Lake
Ian Lake
May 10
How to avoid common mistakes when publishing Accelerated Mobile Pages

How to avoid common mistakes when publishing Accelerated Mobile Pages

As Accelerated Mobile Pages (AMP) are building up momentum we’ve noticed the same mistakes happen again and again when publishing AMPs…
Go to the profile of Sebastian Benz
Sebastian Benz
Mar 29

The most common Angular and Firebase code smell, and how to fix it

You want clean Angular and Firebase code? Here’s my Golden Rule of AngularFire, do not unwrap promises yourself.The single biggest code smell when building an AngularFire app is using the $loaded() promise. ¶ What does it mean to “not unwrap a promise?” It means to avoid calling .then() or .catch(). But, how do you get the data without invoking .then()? ¶ To find out, take a look at using a $firebaseArray(). ¶ Why $loaded() smells bad ¶ A $firebaseArray() starts out as an empty array. When the initial data set downloads from the realtime database, it populates that empty array.
Go to the profile of David East
David East
Mar 16

Asynchronous Pair Programming at Scale

Introducing a new video series: Pivotal with Reto MeierWatch along as I update an app from 2011 to use all the new APIs, tools, and best practices available in 2016 on my new video series — Pivotal. ¶ Pivotal is a radical departure from the style of a lot of the video content I’ve been contributing on the Android Developers YouTube channel. It’s longer, less polished, and features a lot more code. ¶ In Pivotal I’ll show my working ¶ Most live-coding, training, codelabs, videos, and talks show code that’s been carefully pre-written and prepared.
Go to the profile of Reto Meier
Reto Meier
Apr 5
Trending
AdapterViews and Espresso

AdapterViews and Espresso

If there’s only one thing you read in this article before you get distracted and close this tab, it has to be this: use onData() instead of…
Go to the profile of Wojtek Kaliciński
Wojtek Kaliciński
Jun 1
Exploring ES2016 Decorators

Exploring ES2016 Decorators

Iterators, generators and array comprehensions; The similarities between JavaScript and Python continue to increase over time and I for one…
Go to the profile of Addy Osmani
Addy Osmani
Jul 9, 2015
Faster Android Studio Builds with Dex In Process

Faster Android Studio Builds with Dex In Process

An Android Tool Time Protip
Go to the profile of Reto Meier
Reto Meier
May 12
(About) 10 Things You (Probably) Didn’t Know You Could do in Android Studio

(About) 10 Things You (Probably) Didn’t Know You Could do in Android Studio

An Android Tool Time Pro Tip Roundup
Go to the profile of Reto Meier
Reto Meier
Apr 14
Writing More Code by Writing Less Code with Android Studio Live Templates

Writing More Code by Writing Less Code with Android Studio Live Templates

An Android Tool Time Pro Tip
Go to the profile of Reto Meier
Reto Meier
Mar 17
More storiesAbout Google Developers