Image for post
Image for post

Step 1: Come up with that revolutionary app idea. Step 2: Learn mobile development and build the app. Step 4: Profit!

Wait…what about step 3? While your app may be simple enough it only needs Android/iOS development, odds are there’s more to it. You might need user authentication, friends lists, or other information to be passed to your app from an API that gets its info from a database somewhere outside the app. Depending on what your app idea is it’s possible your app simply can’t exist without help from the outside.

So, does that mean it’s time to learn how to build your own server? Manage your own database? Not quite. There’s an easier alternative for us as developers: Serverless apps with Amazon Web Services. …


Image for post
Image for post

If you’re just getting into Swift development, closures can be a scary topic. It’s easy to see complex return types and shut your brain off entirely. But properly understanding them is pretty much essential to be a successful iOS developer these days. Especially with the rapid adoption of SwiftUI, which utilizes closures extensively.

So slow down, take a deep breath, and get ready. This post is going to walk through the absolute fundamentals of how closures work and build upon that one step at a time. And by the time you reach the bottom you’ll be able to use them in complex situations. They’re tricky at first, but once you get a sound grasp on the building blocks they click and are actually very straightforward. Ready? …


Image for post
Image for post

This week marks Apple’s first-ever entirely online WWDC. With the cancellation of the in-person event this year, the company has instead decided to post all of this year’s sessions online for free to anyone interested in learning. Despite difficulties with COVID-19, developer educational material is now more available than ever.

New improvements have been made for all the OS’s (iOS, iPadOS, watchOS, tvOS, and macOS) but as a mobile developer, this post will primarily focus on iOS 14. Over the course of this week we’ll get to dive deeper into each new feature available to developers, but for now we’ve just seen the highlights. …


Image for post
Image for post

App development in 2020 is all about making life easy for the user. Yes, I know that’s always been the goal, but nowadays users want things as streamlined as possible. If your app is clunky, then you’re in store for either uninstalls or bad reviews.

There are many things to account for when trying to make a seamless experience. So many it would be futile to try and cover them in one post. So instead let’s focus on one thing that will both wow your users and leave them wishing all iOS apps behaved that way: Universal Links.

What’s a Universal Link?

A Universal Link is Apple’s way to let you take users directly into your app when they click a link. If a user is trying to perform an action such as resetting their password, they would much rather take the short route. Why bother going through the ordeal of getting an email, going from that email into a web browser, resetting their password, going to the app, and then signing back into the app with the new password. That’s way more work than necessary. …


Image for post
Image for post

If you’re a developer interested in being on the cutting edge of mobile betas, you’ve probably downloaded Android 11’s developer beta and started poking around. And if you’re not quite that ambitious you still have plenty of time before you need to adopt changes into your apps. But it’s still good to know what changes are coming that you’ll need to prepare for.

Getting Android 11

Android 11’s first public beta was set to come out June 6th, but as of yesterday this has been postponed. A public beta means anyone with a compatible phone has the option to update their software and test out the new version. …


Image for post
Image for post

Let’s do another quick recap on parts 1 and 2: Reactive programming revolves around streams. Streams have 3 key parts (Observables, Operators, and Observers). Observers subscribe to Observables and react to data events as they occur, and if there are operators in the stream they each take their action as data flows past them in the stream. Got it? Then on to the last step!

Threading: Our best friend and worst enemy

Last post we left off with a friendNetworkRequest that returns an Observable to us and an Observer that calls the function displayCountToScreen if a piece of data makes it to it. By this I mean if the data makes it past the filter operator checking if the number is higher than 100. …


Image for post
Image for post

Reactive Programming Made Simple Part 2

Let’s quickly recap what we covered in part 1 of this tutorial: Reactive programming revolves around the idea of streams. These streams have three key parts: Observables (beginning), Operators (middle), and Observers (end). And we can send data through a stream by first creating an observable and then subscribing to it with an observer. Got it? Then on to part 2!

Sending Data Down the Stream:

Let’s think of a few use cases where we would benefit from using reactive streams. We already talked about a button click. It’s a scenario where we set up logic for reacting to a user’s action regardless of whether it happens a minute or two hours from now. How about something else that we can’t guarantee will happen instantly? …


Image for post
Image for post

Reactive programming may have been an option once, but today it is almost a necessity in mobile development. For the past few years, it’s been the norm on Android, and with the introduction of SwiftUI and Combine last year it’s about to take iOS by storm too. So…what the heck is it?

Reactive programming is a style of programming that builds off basic functional programming. Let’s take another step back. Functional programming is programming built upon the idea of everything being a function (yeah, right?). Meaning you write a function like printSomething() and then calling that function causes the function’s logic takes place. …


Image for post
Image for post

Here’s a scenario for you: You’ve built an app now being used by thousands of people. It’s a huge success, but you want to really make it pop with some live updates. Let’s say on Halloween you want your app to be black and orange, but on Christmas you want users to see red and green. There’s a really simple way to do this, and it’s thanks to yet another great Firebase tool known as Remote Config.

The Trouble With App Rollouts:

Android and iOS app releases are notoriously difficult when it comes to implementing changes on the dime. Unlike making changes to a website, there is no “undo” button. Once a user updates to the newest version, they’re stuck there. …


Image for post
Image for post

Google Maps SDKrash

Last weekend panic struck apps around the world. In a nightmarish turn for any developer, every app using Google Maps crashed. Not just once, but every time it attempted to load a map. The result being if an app launched the Maps SDK on launch, 0% of users could open it. Not. Good.

Fallout and Recovery:

A little while after the crisis bubbled up Google released a hotfix. But users who had experienced the crash were doomed to continue experiencing it. That is until they either cleared their cache or uninstalled the app. Developers were forced to release their own updates with solution code. …

About

Michael Highsmith

I’m a self taught Android, iOS and VR developer fascinated with the world of mobile. I’m passionate about learning new technologies by way of teaching others.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store