In NodeJS’s CommonJS module system, a module could only export one object: the one assigned to module.exports. The ES6 module system adds a new flavor of export on top of this, the default export. This allows you to both communicate the module’s primary function while still providing access to ancillary functions.
February 18, 2019 | Android
TalkBack is Google’s screen reader for Android devices. It’s hard to understand accessibility issues without experiencing them yourself. Take 5 minutes to read this article, download its cheatsheet, and then go explore your app with fingers and ears for the first time. You might be surprised by what you find.
December 3, 2018 | Android
When a Kotlin non-null property turns up null, you know something has gone subtly, yet terribly, wrong. You trusted that type system, and it let you down. But how? How does the impossible happen? We’ll get to the bottom of this!
October 15, 2018 | Front-End
React Native apps are native apps. It’s a heck of a coup they’ve pulled off, and while I have my concerns around adopting the technology, “Is it native?” isn’t one of them.
June 25, 2018 | iOS
The heart of Continuous Integration is running tests. Whenever a test fails, you want to know why ASAP so you can correct it. Whenever a CI build fails, you want to see that failing test and how it failed.
CircleCI’s Test Summary feature puts this info front-and-center so you can respond directly to the test failure without anything getting in your way. The trick is to feed CircleCI your test info the way it expects.
Big Nerd Ranch esteems code review. We’ve seen it pay off time and again. It is core to our workflow and process. If you want to experience the benefits in your team, here’s what that means in practice for everyone involved.
September 26, 2017 | Android
Codify your functions’ assumptions and promises using Kotlin’s common language of `require`, `check` and `assert`. Jumpstart your debugging with mind-reading failure messages.
August 16, 2017 | iOS
Swift protocols can have associated types, which makes them more powerful than Objective-C protocols. It also makes them more complicated. In this post, learn how Swift protocols balance power and complexity. See an example of code that uses a protocol with associated type, then understand why it has to be generic.