With Jetpack, Android Development Has Leapfrogged iOS

Over the past six years, I’ve done a lot of iOS development (and written a lot about iOS). I would say it’s been the primary focus of my career. But as a software consultant, I need to be flexible, and I’ve done my fair share of Android development as well.

I’m currently working on a new Android project where I got to use the latest Android Jetpack Components, and I am really impressed. Read more on With Jetpack, Android Development Has Leapfrogged iOS…

Creating Amplify Email Campaigns in JavaScript

On my current project, we are using AWS Amplify to manage cloud infrastructure.  One of the reasons we’re using Amplify is to send targeted emails to our users through AWS’s analytics tool, Pinpoint. Setting up an email channel through Amplify turned out to require extra work since, at the time of writing this blog post, the Amplify SDK doesn’t support the creation of email endpoints. In this post, I’m going to walk through how to create email endpoints on a project utilizing Amplify. Read more on Creating Amplify Email Campaigns in JavaScript…

Redux Thunk Best Practices for Loading Initial Data

Every application needs to handle a couple of tasks: loading initial data for users and determining what page or screen they land on. Despite being order-dependent, this logic is often scattered into various parts of the application. This can lead to subtle bugs and makes it hard to answer simple questions like, “What will the user see when they log in?”

Redux and Redux Thunk are great for structuring front-end logic, but without a strategy for handling loading, the logic can still get out of control. Read more on Redux Thunk Best Practices for Loading Initial Data…

Three React Native Libraries I Can’t Live Without

As I wrap up my current project, a React Native app, my team has been thinking a lot about what went right and what went wrong when using the framework. Since it’s a pretty lightweight framework, we brought in a lot of external libraries to help us build our app. Besides some always-useful libraries, such as Lodash, Redux, and date-fns, there were a few that really helped the app come together. Read more on Three React Native Libraries I Can’t Live Without…

Setting up a Test FTP Server in Node

On a recent project, I had a need to create an FTP connection to a third-party server. Since we had no control over the server, I also wanted to setup a test FTP server that I could use to run our client against to make sure we could connect successfully. It turned out that implementing an FTP client and server in Node required a bit of work. We eventually solved this by using two libraries from NPM – jsftp for the client, and ftp-srv for the test server.

Read more on Setting up a Test FTP Server in Node…

Building a Horizontal Picker or Spinner in Kotlin

A “picker” is a small scrollable list of defined values that looks like a combination lock with dials. It’s native to Swift. I think “spinner” would be a better name, because it looks like it spins. (Android has a “spinner,” but it’s really just a drop-down list. Annoying.)

In this post, I will be showing you how to make a month picker/spinner in Kotlin. Read more on Building a Horizontal Picker or Spinner in Kotlin…