Building Custom UI Components with SwiftUI for Reusable and Consistent Design

by

In modern app development, maintaining a reusable and consistent design is crucial for creating a seamless user experience. SwiftUI, Apple’s declarative user interface (UI) framework, provides developers with a powerful toolset for creating custom UI components that can be used throughout an app to ensure consistency and streamline the development process. In this blog post, we’ll explore the benefits of custom UI components, how to create them using SwiftUI, and best practices for maintaining a consistent design across your app.

Updating React Native Firebase from v5.6.0 to v14.2.0

by

The software developer’s job is not done once an application is created. As device operating systems are updated, apps must be updated as well to remain compatible. To demonstrate a typical app upgrade, this post goes through an upgrade I recently performed on a React Native mobile app. 

iBeacon: Reconnecting an iOS App to a Bluetooth Device if the App is Terminated

by

While working on a recent iOS project in which an iOS app connects to a Bluetooth device, we discovered an issue: the connection between the app and the Bluetooth device could not be re-established if the app was terminated unless the user manually relaunched the app. Our Bluetooth device was turned on and off periodically throughout the day, so it was essential that it was able to reconnect automatically, even if the app was in the background or had been terminated.

Internationalization and Localization for Mobile Applications

by

Grio was recently asked by Soundwater Technologies to add Spanish and Portuguese translations to their iOS and Android mobile applications.  The app pairs with Soundwater’s hardware to use ultrasonics to measure water flow. This project was a large undertaking, but it could have been avoided: if internationalization and localization patterns had been used during the initial app development, the process would have been nearly instantaneous. 

Improving UI Development with Flutter

by

App development is a field that has undergone rapid progress over the last decade. As new technology enters the field, the preferred tech continues to grow and change. Today, I want to discuss one of the more recent development tools to enter the market: Flutter.

Redefining Android UI Development with Jetpack Compose

by

At Google I/O 2019, Google announced that they were working on a new toolkit, Jetpack Compose, which would redesign how user interfaces (UI) are developed on the Android platform. In August 2020, the alpha version of Jetpack Compose was released. In this post, I will be examining how Compose differs from the current Android UI toolkits, and will discuss the benefits that the new program will bring to Android UI development. 

Using Intents to Create Transitions in Android Applications

by

Creating a successful application isn’t just about ensuring that all of the components work; the layout and design of the application are also crucial. The design must be professional and engaging, and the layout should be easy for users to navigate. Design components, such as animations and navigation transitions, can also enhance the usability of the application.

Offline networking support with CoreData and NSOperation

by

Featured Offline Networking

In this post, I propose a pattern for allowing apps to transmit data through unstable network connections. I’ll be taking advantage of the modern architecture present on the iOS Platform, as well as the popular AFNetworking (or AlamoFire). To follow along, you’ll need some knowledge of iOS Native Development, NSOperation API, CoreData, and Networking.

Machine Learning and CoreML

by

“WHAT THE HECK?! HOW CAN I UNLOCK MY PHONE WITH MY FACE?!”

Those were the words that came out of my mouth in October of 2017, as I pored over the user manual for my new iPhone X. It wasn’t all hyperbole, either — I really wanted to know, and I ended up dedicating quite a bit of time to learning about the science behind Apple’s new facial recognition technology. In the end, the answer to my question boiled down to two words — machine learning.