ЗамыселЪ Глеба Киренкова

Concept by Gleb Kirenkov

Digital products ·

One codebase does not make two platforms identical

The choice between native and cross-platform development is often reduced to the promise of one codebase for iOS and Android. A product, however, lives on two platforms with different interaction rules, devices, stores and update cycles. The decision depends on how strongly the experience relies on system-specific capabilities and how the team intends to manage the differences.

Native development follows the language of a platform

A native app uses the tools of a particular platform and connects closely to its interface components, lifecycle and system capabilities. The team gains direct access to new APIs and can follow the behaviour of iOS or Android precisely.

This path is valuable when the platform experience is part of the product: advanced camera work, background modes, widgets, extensions, Bluetooth, media or demanding performance. Differences can be designed deliberately instead of hidden behind a shared layer.

The cost is two implementations and the need to coordinate their development. Product logic remains shared conceptually, while interfaces, tests and some integrations are maintained separately.

A cross-platform layer shares most of the work

Cross-platform development expresses a large part of the interface and logic in one project. This supports simultaneous releases, reduces repetition and helps a small team maintain two platforms.

One codebase does not mean one finished product. Permissions, notifications, purchases, navigation, input, background limits and store submission still need separate verification. Users also expect behaviour that feels familiar on their platform.

The approach is particularly effective for products built around shared screens, forms, catalogues, accounts and network logic. When most of the value lies in data and workflow, a shared layer preserves speed without an obvious quality loss.

Begin with scenarios rather than a framework

List the primary actions and mark the device capabilities each one needs. A catalogue, enquiry workflow or simple account has one set of requirements. Capture, video processing or continuous background operation has another.

Next, examine interface differences. Some products can use a shared visual language and adapt selected elements. Others need to follow system patterns, gestures and capabilities more deeply.

The third factor is the team. A familiar technology with a reliable release and testing process is often safer than a theoretically perfect choice that nobody can maintain. Hiring, upgrades and post-release diagnosis belong in the decision.

Measure time to a sustainable release, not the first screen

A cross-platform prototype may appear faster because the primary screens are built once. The product timeline also includes authentication, permissions, notifications, analytics, offline states, builds and tests on physical devices.

Native development repeats some work while reducing uncertainty around platform-specific capabilities. If the product depends on such a capability, the early saving from a shared layer may return as complex workarounds.

Compare the same scope: both platforms, store release, testing, monitoring and a year of changes. A first demonstration screen says little about the full cost.

A hybrid architecture preserves the right to make an exception

A shared project can contain native modules for cameras, maps, payments or background work. Most of the product remains shared while the part where a platform matters receives a focused implementation.

The boundary needs to be explicit. Define the contract between shared code and the native module, ownership of each part and its testing method. Unstructured exceptions gradually remove the benefit of the common layer.

The reverse structure can also be sensible: native applications share a server, data schema and product rules. Commonality then lives in the product loop while the interface remains platform-specific.

A prototype should test the riskiest part of the choice

The decision does not have to rely on a comparison table. Build a focused technical prototype of the main risk: camera access, a long list, background synchronisation, complex motion or offline behaviour. Test it on both platforms and several devices.

Review responsiveness, stability, accessibility, build size, development time and diagnostic complexity. When the risky scenario works confidently, the remainder of the decision becomes more predictable.

Within the Method, I choose technology after examining the action, platform differences and future maintenance. The goal is an application the team can release and evolve, rather than one that merely appears quickly on two screens.

From a use case to an app

If you need an app, we can define its core journey, roles, first release and constraints before development begins.

Discuss an app