Engineering

Configuration as Code, Using PKL

You are building the next best thing. You are scoping out some amazing features. But now you have to add a way for someone running your software to configure things. So, you break out the JSON parser and start coding the interpretation of your new-fangled config file format. But JSON does not allow schemas, and
Read more ->
8 min read

Building a Flutter SDK: Breaking Down a Flutter Package — Part One

Background In our opinion, it is generally easier to write a package for Flutter compared to other app development frameworks. Packages do not take a tremendous amount of specific knowledge to create if you already know app development in Flutter. In other frameworks, packages can have different structures and several distribution methods, making it much
Read more ->
10 min read

Mastering the Model Layer: Iron-Clad State Management in Model-Driven Apps

Model-driven architectures like Model-View-ViewModel (MVVM), Model-View-Controller (MVC), or even simply connecting the Model to the View directly in SwiftUI (I know you're out there!) have dominated the iOS development landscape. MVC, the previously Apple-endorsed pattern, was pushed for UIKit and AppKit apps. SwiftUI, the successor, sees the Model View approach dominating Apple's code examples. These
Read more ->
10 min read

Jetpack Compose: The Android Developer Roadmap - Part 5

We've segmented our Android Developer Roadmap into a multi-part series, delving into crucial Android fundamentals and the current ecosystem. In our previous post, we delved into crucial aspects of contemporary Android development, covering design patterns, architecture, asynchronous operations, networking, and local databases on Android. In part five, we'll explore the fundamental concepts of Jetpack Compose,
Read more ->
18 min read

Improve Your Android App Performance With Baseline Profiles

Baseline Profiles empower you to achieve faster code execution, boasting potential speed improvements of around 20-30% from the first launch. This is accomplished by delivering pre-compiled source code information, effectively bypassing interpretation and just-in-time (JIT) compilation steps when users launch your application. When you integrate Baseline Profiles into your application, Android Runtime (ART) optimizes precise
Read more ->
9 min read

How To Test Remote Push Notifications With iOS Simulators

In iOS, developers can create and send user notifications locally or remotely from a server through the Apple Push Notification Service (APNs). Enabling remote push notifications in iOS apps requires setting up a server to communicate with the APNs for a production app. However, using the simulator, you can quickly emulate and debug remote push
Read more ->
9 min read

The Ultimate Guide to Open Source

Introduction In the modern software world, open-source projects have gained immense value, helping conserve significant resources in software development. Open-source solutions have played pivotal roles in the success of startups, aiding them in various aspects, from optimizing development resources for timely project launches to occasionally contributing to business strategies. As more companies integrate open-source software
Read more ->
11 min read

Integrating with Logging Platforms on iOS

You might ask yourself, are users reaching certain screens? What crashes happen in production? Are certain things happening as expected? This is the area of production logging. Logging during development is straightforward. You just print things to the console. But in production, you do not have this luxury. Instead, you have to roll your logging
Read more ->
4 min read