Developer Thanksgiving: Libraries & Tools We're Thankful For

It’s that time of year where we in the U.S. reflect on what we’re most thankful for. (And eat a lot of food, but that’s not really a part of this.) So what are we at Realm are super thankful for? The awesome developer community of course – for the resources, sharing, libraries, and tools that make our lives easier as developers.

So in that spirit, we polled a few friends to see what tools and libraries they’re most thankful for, and included a few of our own favorites that we’re thankful for at Realm!

Happy Thanksgiving! 🦃

Table of Contents

Android

Felipe Lima

Felipe Lima, Android @ Airbnb

For a lot of companies, Android build times with Gradle are a real slowdown, especially as your app grows and as you start to break it down in modules, it will impact build times considerably.

Buck is a build tool strongly focused on performance, that can deliver incredibly fast build times, but the ramp up is too slow. It’s a whole new build system to learn, new syntax, new problems, not to mention Gradle is still the industry standard and officially supported tool.

Get more development news like this

OkBuck is a little Android plugin that will analyze your project model using the Gradle API and automagically generate BUCK build files for you based on them. All with minimal setup and configuration. It was definitely a lifesaver and allowed us to very quickly adopt and get up to speed with Buck, leveraging much faster builds and developer happiness!

For this Android thanksgiving, I’m thankful for OkBuck :)

Yigit Boyar

Yigit Boyar, Baking fresh UI toolkit elements @ Android / Google

I’m grateful to Google Compiler Testing. It allows testing annotation processors in the same process which allows full access to javac environment as well as AST based assertions on the generated code. It turns the painful setup for testing annotation processors into a beautiful experience.

Christian Melchior 400

Christian Melchior, Android lead @ Realm

Relinker – Thanks for removing the many, many bugs around loading native code on Android. Now we can focus on the real problems!

Nabil Hachicha

Nabil Hachicha, Android @ Realm

OkHttp – Thanks for making HTTP calls a breeze, and empowering other first-class libraries.

iOS

Natasha Murashev

Natasha Murashev, iOS Engineer, Robot

I’m really thankful for Timepiece – The try! Swift Conference app I work on is all about schedules and dates, including a watchOS app with Complications and Time Travel supported. More time-based features are planned, including local notifications based on speaker times. Timepiece has completely taken out the pain of working with dates in iOS - adding, subtracting, and comparing dates is a breeze.

Wendy Lu

Wendy Lu, iOS @ Pintrest

GPUImage offers GPU-accelerated affects that are beautiful and performant. I’ve used it in side projects to for things such as blurring images that would otherwise be very slow.

Tim Oliver

Tim Oliver, iOS @ Realm

What’s Thanksgiving?? 🇦🇺

Okay, Eureka (or its Objective-C version XLForm) is by far one of my most favorite libraries at the moment. It trivializes making settings/login forms for iOS apps.

As for developer tools, I absolutely love Reveal for debugging broken UI, PaintCode for procedurally generating UI graphics, and since try! Swift this year I’ve been checking out QuartzCode for procedurally generating native animations.

JP Simard

JP Simard, iOS Lead @ Realm

SwiftGen is neat since it gives stringly-typed APIs, strongly-typed superpowers.

Also Reveal & PaintCode 💯, but BTW, Thanksgiving was last week! 🇨🇦

Austin Zheng

Austin Zheng, iOS @ Realm

The debugger in Xcode, lldb, is a great tool for tracking down pesky bugs or understanding how your code works, but what if you could debug your app’s UI at the same time? Chisel adds lldb commands to perform useful tasks such as printing out view hierarchies, annotating views on-screen, opening image data in Preview.app, and much more!

Design & More

Huyen Tue Dao

Huyen Tue Dao, Android @ Trello

I love doing UI work and playing around with styles and typography. A library that has really helped me experiment with typeface on Android is Calligraphy by Chris Jenkins.

You could always bring a font asset into Android but you had to do it in pretty manual way in Java code instead of being able to specify that custom typeface in styles or in the XML layout itself.

With a relatively tiny amount of setup, Chris’s library allows you to easily access local font assets in a much cleaner way and lets you include typefaces in your styles and XML as you would other attributes.

Fun typefaces. Cleaner code.

[Ed. note: Thorben Primke also seconds Calligraphy! 👍]

Kristina Thai

Kristina Thai, iOS @ Intuit

One of the things that I’m most thankful for is a design collaboration tool called Zeplin. While developer-focused tools and libraries are also important, that’s only one aspect of working as a software engineer. One of my favorite things about being an engineer is how we come together as a team to build out the greatest products imaginable. With Zeplin, it’s made it remarkably easy for me to collaborate with my designers to implement the best experiences possible for our end users.

Andy Matuschak

Andy Matuschak, Mobile lead @ Khan Academy

I’m most thankful these days for Elm. It’s an ever-evolving programming language and application architecture with very interesting ideas and tremendous empathy for its developers. Ideas from Elm often inform my work in other systems.

Matthias Kappler

Matthias Kappler, Jack of no trades @ SoundCloud

I’m thankful for typelevel/cats. It’s a functional programming library for Scala. It really changed the way we write code in SoundCloud microservices.

Christina Lee

Christina Lee, Video developer @ Pintrest

scm_breeze

Emanuele Zattin

Emanuele Zattin, Android @ Realm

Jenkins!

And finally…

We really tried to steer devs away from our projects considering our obvious bias, but when a few insisted we couldn’t help but include them. 😊

Jesse Squires

Jesse Squires, iOS @ Instagram, curator of Swift Weekly Brief

I’m super thankful for jazzy — a documentation tool for Swift and Objective-C. Any open-source library is only as good and as useful as its docs. It’s such a great tool, and a modern alternative to appledoc. I use jazzy for every single Swift/Objective-C project that I have, and I host the docs on GitHub Pages. My open-source projects wouldn’t be successful without this. It also powers CocoaDocs for Swift CocoaPods!

I’m not pandering, I promise. 😊 I really do love this project!

Erica Sadun 400

Erica Sadun, geek girl and brood

I generally don’t use libraries, because I try to make my code as dependency-free as possible. But I’m very fond of the work that you guys are doing on jazzy.

Sam Soffes

Sam Soffes, developer & designer

We’re only using internal libraries and Realm. We love Realm.

[Ed. note: Thanks Sam! We 💖 you too!]

About the content

This content has been published here with the express permission of the author.


Felipe Lima

Felipe is a Software Engineer working at Airbnb on the Android team, focused on Mobile Infrastructure. He is a reactive and functional programming enthusiast with an obsession for beautiful, maintainable, and testable code. When not writing code, he’s either playing soccer or Fallout 4.

Yiğit Boyar

Yigit works on building UI widgets and improving layout performance as part of Android UI Toolkit Team. Prior to Google, he was the Android Engineering Lead at Path.com where he was mostly focused on building application architecture, real time camera filters and buttery smooth UI performance. He received his bachelor’s degree in computer engineering from Middle East Technical University, Turkey.

Natasha Murashev

Natasha is secretly a robot that loves to learn about Swift and iOS development. She previously worked as a senior iOS Engineer at Capital One in San Francisco, but now she travels around, writing about her experiences with new technologies. In her free time, she works on personal projects, speaks at meetups and conferences, contributes to open source, and likes to cross things off her bucket list.

Wendy Lu

Wendy is an iOS engineer and has been working at Pinterest for the last 4 years. There, she led the launch of their commerce product on mobile and has also touched everything from the data layer to the ads product. She previously spoke at Swift Summit on Apple Pay and moderates a mobile development panel at Grace Hopper.

Tim Oliver

Tim Oliver hails from Perth, Australia! He has been an iOS developer for 6 years, and recently joined Realm in March 2015. Tim has a cool app called iComics and he loves karaoke! He does, in fact, also sometimes have the problem of too many kangaroos in his backyard.

JP Simard

JP works at Realm on the Objective-C & Swift bindings, creator of jazzy (the documentation tool Apple forgot to release) and enjoys hacking on Swift tooling.

Austin Zheng

Austin writes software and tries to spend his time learning new things. Sometimes he’ll write about these new things on his blog.

Huyen Tue Dao

Huyen Tue Dao is an Android developer and Google Developer Expert, currently working on the Trello Android app at Atlassian. She is also co-creator of the “Android Dialogs” YouTube channel. Huyen lives in Denver, CO though is often found in the DC Metro area. When she is not up late programming, she is often found up late gaming (video, board, card, anything).

Thorben Primke

Thorben is a Software Engineer at Pinterest working towards making all product pins buyable. Prior to Pinterest he worked on Android at Jelly, Facebook, and Gowalla.

Kristina Thai

Kristina Thai is currently an iOS software engineer at Intuit. She works on the QuickBooks Self-Employed iOS app. Kristina is an avid blogger at kristina.io and spends her time writing iOS and watchOS development tutorials and blogging about her early career experience. She started her engineering career after graduating from the University of California, San Diego with a degree in Computer Science. Fun fact: she follows more animals on Instagram than people.

Andy Matuschak

Andy is the lead mobile developer at Khan Academy, where he’s creating an educational content platform that’s interactive, personalized, and discovery-based. Andy has been making things with Cocoa for 12 years—most recently, iOS 4.1–8 on the UIKit team at Apple. More broadly, he’s interested in software architecture, computer graphics, epistemology, and interactive design. Andy and his boundless idealism live in San Francisco, primarily powered by pastries.

Matthias Käppler

Matthias is a software engineer specializing in mobile application development and service APIs, with 5 years of experience working for large websites like Qype, SoundCloud. He focuses on vertical application development, i.e. building mobile applications full stack from backend to client. He is an active contributor in the open source software community, and you can find his own projects and contributions to other projects on GitHub. He’s also co-author of “Android in Practice.”

Christina Lee

Christina is currently the Android lead at Highlight. In addition to trying to convince the world to use Kotlin on a daily basis, she also enjoys building beautiful UIs, extolling the virtues of Rx, and reading well documented APIs.

Emanuele Zattin

Emanuele is a Java, CI and tooling specialist at Realm. Previously, during the good ol’ golden years at Nokia, he helped the whole company unify under one CI system (Jenkins) and switch their version control system to Git. He’s an active member and speaker within the Jenkins community where he contributes to the core and maintains several plugins.

Jesse Squires

Jesse is an iOS developer at Instagram who writes about Swift and Objective‑C on his blog at jessesquires.com. He’s the curator of the Swift Weekly Brief newsletter and co-host of the Swift Unwrapped podcast. He is fueled primarily by black coffee and black metal.

Erica Sadun

Erica Sadun writes lots of books. When not writing, she’s a full time parent of geeks who are brushing up on their world domination skills. According to her academic dosimeter, she’s acquired more education than any self-respecting person might consider wise. She enjoys deep diving into technology and has written, co-written, and contributed to dozens of books about computing and digital media. Sadun has blogged at TUAW, Ars Technica, O’Reilly, and Lifehacker and written for Make magazine. She has authored and co-authored more accepted proposals for Swift than anyone, including the Core Team.

Sam Soffes

Sam Soffes is an iOS and Rails software engineer, a designer, and a musician. The man behind projects such as Hipstamatic & SSToolkit, Sam is also overly passionate about motorcycles & burgers. 🍔

Christian Melchior

Android Tech Lead at Realm. Board game enthusiast. Hiker. Father of two wonderful children.

Nabil Hachicha

Android Developer at Realm. Developer of SnappyDB. Previously Senior Engineer at The App Business. Droidcon Speaker.

4 design patterns for a RESTless mobile integration »

close