Last month I sat down with our lead Android developer David Thacker to get the scoop on his time at Google I/O. Preface: I'm not a developer, I'm a UI/UX designer who happens to have a deep love and appreciation for all things Google. My favorite thing about David is he explains development to me in a way I can understand. Consider this interview a guide to sounding smart around your developer friends when discussing Android news.
Read MoreSwift optionals, when used correctly, are a very powerful tool. When used incorrectly, they lead to one of the most common Swift crashes on Stack Overflow. When it comes to the correct usage of optionals, implicitly unwrapped optionals always get it wrong. There are two circumstances in Swift in which we deal with implicitly unwrapped optionals: @IBOutlets
and interoperating with Objective-C code, which has not properly added nullability annotations. Outside of these two exceptions, we should avoid implicitly unwrapped optionals.
Apple’s Spring event has come and gone and we are left with a flurry of new products and software.
Read MoreNormally, if you need to programmatically create a `UIImage` for an image in your asset catalog, you're stuck with the stringly typed method which returns an optional:
Read MoreRuby provides a construct called a Module
which is sort of like a thin Class. At first, Ruby devs might look at Modules like a "junk drawer" of code that is just thrown around and used to organize files, but there is a method to this madness. The Ruby class Class
inherits from Module
and adds things like instantiation, properties, etc - all things you would normally think a class would have. Because Module
is literally an ancestor of Class
, this means Modules can be treated like classes in some ways.
Docker is a containerization solution that allows apps to run in a sandboxed environment that includes all the dependencies they will need without the additional overhead of a virtual machine. This sounds great--we can containerize our applications and deploy them, no more server provisioning and maintenance! Unfortunately, this is way more difficult than it sounds if a zero-downtime solution is needed. If you are just deploying a small-scale app without a cluster of servers, you will have downtime while Docker stops the existing app container and starts the container with your new code.
Read MoreConcurrency is a condition in a program where two or more tasks are defined independently, and each can execute independent of the other, even if the other is also executing at the same time. In programming concurrency can mean several computations, data loads, or instructions are being handled relatively at the same time, through a single-core or multiple-core processor.
Read MoreI often read great blog posts about good ways to communicate, but articles about knowing if or when you are communicating poorly are harder to come by. I’d like to talk about ways to identify and improve poor communication, from the perspective of the ‘unit test’.
Read MoreApple’s new UITest suite has some developers excited, and others disappointed in lost functionality. UITest works differently than the functional testing solutions developers have come to rely on, such as KIF. Instead of giving you access to elements themselves, UITest gives access to proxy elements with minimal parameters to interact with. Learning to separate unit testing and unit based uitesting from functional testing can be a frustrating experience, especially when working with a new framework that still has its own kinks to work out. It is my hope the following guide will help developers form some clarity into the methodology needed when working with UITest.
Read More