May 6, 2024

Reduce API Fragmentation Across Platforms with Unitools

In this blog, we take a look at how Unitools offers a comprehensive solution to cross-platform development challenges.

Author

Tailor Ankitbhai GopalbhaiTailor Ankitbhai GopalbhaiSenior Software Engineer - I
Reduce API Fragmentation Across Platforms with Unitools


Problem with Code Sharing

In the cross-platform development, sharing code for essential functionalities like navigation and image handling across frameworks such as Next.js, Expo, and React Native presents several challenges:

  1. Fragmentation of APIs:
    • Each framework offers its own set of APIs for components and hooks, leading to fragmentation in code sharing.
    • Developers often face the dilemma of choosing between platform-specific APIs, resulting in code that is tightly coupled to a particular framework.
  2. Limited Options:
    • While numerous libraries exist for universal components, options for core functionalities like navigation and image handling are relatively less.
    • This scarcity makes it challenging to find robust solutions that work seamlessly across platforms, forcing developers to either compromise on functionality or invest time in building custom solutions.


Finding the Solution to the Problem

To address these challenge, we had two key solutions:

  1. Platform-based Solution:
    • Leveraging platform-specific logic to handle navigation and image handling. For instance, returning Next links for web platforms and Expo/React Navigation links for mobile platforms.
    • This approach prioritizes compatibility with the native features and behaviors of each platform, ensuring a smooth user experience across devices.
  2. Framework-based Solution:
    • Developing a unified API within a base library that abstracts away platform-specific details.
    • Creating platform-specific libraries that unify props for each framework, allowing developers to seamlessly switch between Next.js, Expo, and React Native without sacrificing functionality.
    • Base library is aliased with framework-specific libraries in the user's project, ensuring ease of use and compatibility.


Introducing Unitools

Unitools is a suite of tools designed to simplify code sharing among Next.js, Expo, and React Native projects. It is an essential tool in today's cross-platform development landscape, especially with the increasing shift towards universal app development. Unitools offers a unified API for managing images, links, and route navigation hooks across all these platforms.


Our Approach

A framework-based solution

Our approach focuses on a framework-based solution, emphasizing the following principles:

  • Unified API: By centralizing functionality within a base library, Unitools abstracts away platform-specific details, making it easier for developers to write code that works across different frameworks.
  • Platform-specific Libraries: To ensure compatibility and optimize performance, Unitools offers platform-specific libraries that unify props for each framework. This approach allows developers to leverage the native features and behaviors of each platform while maintaining a consistent API.
  • Alias Integration: Unitools seamlessly integrates with developers' projects through aliasing, making it easy to incorporate the base library and platform-specific extensions without disrupting existing workflows.


Why Not the Platform-First Approach?

While a platform-first approach may seem intuitive, it often leads to fragmented code and limited flexibility. By prioritizing a framework-based solution, Unitools ensures compatibility with future framework-specific optimizations and features, safeguarding against the ever-changing landscape of cross-platform development.


Why Not Solito?

During our exploration of solutions, we identified a need for seamless integration with Expo Web. Solito, a platform-based solution, mainly returns NextLink on web platforms. This prompted us to create our own framework-based solution.


What’s Included?

Each package contains three libraries:

  1. Base package which exports the interface
  2. Expo package
  3. Next.js package

Below are the packages we have created so far:

  • Link - A unified API for expo and next link
  • Image -A unified API for expo and next image
  • Router - A unified API for expo and next router

Explore more about Unitools 🔗

Hire Us Form


Parting Thoughts

Unitools provides a comprehensive solution to cross-platform development challenges. It offers a unified toolkit for sharing code across Next.js, Expo, and React Native projects. With a framework-based approach that prioritizes compatibility and flexibility, Unitools enables seamless code sharing and boosts developer productivity in the ever-changing world of app development.

Subscribe to Our Newsletter

RELATED ARTICLES

More from the engineering frontline.

Dive deep into our research and insights on design, development, and the impact of various trends to businesses.
The Bug That Doesn't Show Up in Code Review: Why Your Flutter Web App Reloads on Safari
The Bug That Doesn't Show Up in Code Review: Why Your Flutter Web App Reloads on Safari
A real-world look at how oversized images can trigger Safari reloads and iOS crashes in Flutter apps and how smarter image decoding prevents them.
From Prompting to Process: What Changed When Flutter Shipped Agent Skills
From Prompting to Process: What Changed When Flutter Shipped Agent Skills
This blog explores how Flutter Agent Skills improve AI-assisted development by combining official framework workflows with project-specific guidance for more consistent development.
Why Everything Your AI Builds Looks the Same
Why Everything Your AI Builds Looks the Same
This blog explores why AI-generated interfaces often look alike and explains how design systems, product context, and reusable engineering practices help teams build distinctive, scalable
How We Built the Missing Bridge from Code to Figma
Technology

Jul 10, 2026

How We Built the Missing Bridge from Code to Figma
This blog explores how AI-generated React apps get turned into fully editable, designer-ready Figma files by reading React Fiber instead of the DOM.
Building a Resilient Hybrid-Cloud Network with WireGuard HA, Route-Based Failover, and Deep Observability
Technology

Jun 27, 2026

Building a Resilient Hybrid-Cloud Network with WireGuard HA, Route-Based Failover, and Deep Observability
A practical breakdown of building resilient AWS-to-on-premises connectivity with WireGuard HA, active-standby failover, and deep packet-forwarding observability.
We Built a 114-Second AWS-to-Azure Failover. Here’s What We Learned
Technology

Jun 19, 2026

We Built a 114-Second AWS-to-Azure Failover. Here’s What We Learned
A practical guide to building a 114-second multi-cloud disaster recovery failover between AWS and Azure — what we built, what broke, and what we learned.
Cloud-Native and Cloud-Agnostic Are Not Ideologies; They Are Business-Stage Decisions
Technology

Jun 12, 2026

Cloud-Native and Cloud-Agnostic Are Not Ideologies; They Are Business-Stage Decisions
This blog explains how organizations can balance speed, scalability, and operational flexibility as they grow from startup to enterprise scale.

The Right Conversation Can Save You Six Months.

Whether you’re navigating AI adoption, modernizing legacy systems, or scaling a product - we start by listening. No pitch deck. No template. A real conversation.