An iOS Perspective on Transitioning to Android

For a long-time Apple enthusiast and iOS developer who had never even used an Android device, the thought of learning Android development made me cringe. But like any developer, it’s important to constantly be honing your skills and learning…

Aqueduct 3.2 is Now Available

Aqueduct 3.2.0 is now available on pub. This release adds better support for ingesting request bodies into objects. See the changelog for a complete list of changes. Adding Serializable.read In previous versions of Aqueduct, serializable objects…

Swift Design Patterns in Practice: the Decorator Pattern

Welcome to the first publication of “Swift Design Patterns in Practice," a series of concrete use-cases of design patterns in real-world iOS applications. Today we will cover the Decorator Pattern and how it may be used when implementing the…
GraphQL

Advantages and Disadvantages of GraphQL

GraphQL is a query language created by Facebook in 2012 and open-sourced in 2015. It aims to provide an alternative to traditional REST API architecture. At its core, GraphQL provides a syntax that describes how to ask for data (called a Schema).…
customize logcat

How To Customize Logcat Appearance in Android Studio

logcat output can be difficult to read at times. If you are working with a device that has a large amount of logcat output, it can be frustrating to search for the few, relevant lines. The default color scheme for logcat output in Android Studio…
testing your mobile software

Best Practices for Testing Your Mobile Software

Testing your mobile software is something developers know is important, but is also typically pushed to the end of the development cycle. Because the benefits of testing are not usually realized until post-development, it's easy to prioritize…
aqueduct 3

Dart on the Server: Aqueduct 3 for Dart 2

Aqueduct 3.0 for Dart 2.0 is now available on pub.dartlang.org. This major version update introduces many powerful, new features and makes moderate changes to some existing APIs. The release of Aqueduct 3.0 coincides with the release of Dart…
data binding

Reducing Data Binding Boilerplate With Kotlin

Routing data to views, and responding to user interactions has been a messy process on Android for years. Maintaining view states, references to the views, the data connections, their various states -- it just becomes a lot of boilerplate for…

How To Decode Swift Types That Can't Be Decoded

The Swift Codable protocols have made serializing / deserializing model objects significantly easier and more robust. One catch that I have run into is that in order to make a type Decodable it needs to be able to add init(from: Decoder) to…
google's-dart-2-aqueduct

The Future of Server-Side Programming with Google's Dart 2

A lot of neat stuff came out of DartConf 2018, and it's clear Google is taking Dart's future seriously. Much of its focus is on improving the development of client-side applications with Flutter and AngularDart. Focus is good; it's how things…

Choose Kotlin For Your Next Android Project

Android development continues to get more productive as we move forward and as some great software engineers step up to fill in the cracks that were left in the framework. Many of those improvements are built-on additions to the Java language:…

SSL Termination and Load Balancing in Kubernetes Clusters

,
In the past, acquiring SSL certificates, setting up domain names and load balancing HTTP traffic were labor-intensive tasks. With Let's Encrypt, Nginx and Kubernetes, you can automate a lot of this. (If you're just getting started with Kubernetes,…