Web standards

State of mobile cross platform development

September 5, 2023 2:10 PM
Power Talk
🇬🇧 English
CMYK

About

Flutter, React Native, native... or something else? In this talk I will dive into the current state of mobile cross-platform development, highlighting the latest frameworks, methodologies and industry standards.

I will discuss performance of every major framework - not limited to technical performance, but developer experience as well.

Watch the full talk

Watch this WaysConf session, then continue with related talks or explore the current programme.

From the recording

Talk in brief

At WaysConf 2023, mobile development consultant Jarosław Michalik presented an architectural comparison of modern mobile cross-platform frameworks, evaluating React Native, Flutter, and Kotlin Multiplatform Mobile (KMM) against native development and web views. Michalik highlighted that while native applications excel at platform-specific user experiences, offline functionality, and direct hardware integrations like location tracking, cross-platform tools offer distinct trade-offs for different development team structures. React Native provides web teams leveraging JavaScript with familiar workflows through tools like Expo, though its bridge architecture can introduce minor performance bottlenecks. Google's Flutter delivers high UI consistency and fast iteration using a custom C++ rendering engine and Dart, but increases application bundle sizes to a minimum of 20 MB. Kotlin Multiplatform Mobile offers an incremental approach focused on sharing business logic while retaining native Swift UI and Jetpack Compose interfaces, making it ideal for teams with existing native codebases. Ultimately, Michalik emphasized that framework choice should depend on team expertise, existing infrastructure, and product goals rather than seeking a single universal solution.

Key takeaways

  1. 01

    Hardware Capabilities Require Native Frameworks

    Web applications cannot maintain continuous location tracking or low-latency hardware interaction required for complex mobile use cases. Native device APIs provide reliable access to Bluetooth, local AI models, and background location services.

    Watch from 2:05
  2. 02

    React Native Introduces Bridge Overhead

    React Native enables web developers to leverage JavaScript and familiar patterns across mobile platforms. However, communications between JavaScript and native platform threads across the bridge add measurable millisecond latency to user interactions.

    Watch from 7:22
  3. 03

    Flutter Portability Increases Bundle Footprint

    Flutter achieves high-performance UI rendering across devices by shipping its own C++ rendering engine. This self-contained architecture increases minimum binary sizes to around 20 megabytes, which can impact distribution in bandwidth-sensitive markets.

    Watch from 11:13
  4. 04

    Kotlin Multiplatform Preserves Native UI Layers

    Kotlin Multiplatform Mobile allows teams to share business logic, data models, and backend code without replacing native Swift UI or Jetpack Compose interfaces. This enables incremental adoption and preserves platform-native user experiences.

    Watch from 13:25
  5. 05

    Framework Choice Depends on Team Context

    No single cross-platform solution fits every mobile project. Startups seeking rapid UI iteration benefit from Flutter, web teams favor React Native, and teams with established native apps can integrate Kotlin Multiplatform.

    Watch from 16:01
Read edited transcript highlights

These concise notes were edited from automatic captions and checked against the talk structure. They are not a verbatim transcript.

Native App Advantages Over Responsive Web

While responsive web design serves basic content needs, dedicated mobile applications remain essential when projects require native platform polish, offline operation, and deep hardware access. Native development enables smooth platform-specific user interface interactions, such as gesture navigation on iOS or dedicated back buttons on Android. Furthermore, native apps can leverage local SQLite or non-relational databases to ensure instantaneous startup times and retain functionality during network disruptions, providing a critical operational advantage over standard web pages.

Watch from 0:36

App Store Distribution as Prime Real Estate

Publishing a dedicated mobile application provides strategically valuable presence on device home screens and app store marketplaces. Unofficial clones often fill marketplace voids before official releases, capturing prospective users early. Securing home screen placement gives brands recurring direct visibility that web applications struggle to replicate. Furthermore, native applications can sustain continuous background processes, such as live location updates for ride-sharing or delivery tracking, which browser-based progressive web apps cannot reliably maintain.

Watch from 3:49

React Native Developer Ecosystem and Expo

React Native offers frontend developers a familiar transition into mobile development by reusing JavaScript and TypeScript skillsets. Tools like Expo streamline the development process, speeding up iteration cycles and build workflows. The ecosystem provides extensive community libraries for common mobile capabilities, including Bluetooth connectivity and geolocation services. However, because JavaScript logic communicates with native platform modules through an intermediate bridge, high-frequency interactions can suffer from minor performance delays.

Watch from 7:59

Flutter Architectural Trade-Offs and Binary Size

Flutter provides a UI-focused framework backed by Google that compiles to native code using the Dart programming language. Instead of utilizing native system widgets, Flutter carries its own internal C++ rendering engine, guaranteeing consistent UI presentation across diverse screen sizes. While this approach provides high rendering performance and rapid UI experimentation, it significantly inflates the application binary size. Simple Flutter apps start at around twenty megabytes, compared to five megabytes for purely native builds, making app size a critical consideration for markets with costly mobile data.

Watch from 10:32

Incremental Adoption with Kotlin Multiplatform

Kotlin Multiplatform Mobile takes a distinct path by focusing on shared business logic and network models rather than forcing a unified UI runtime. Android applications run Kotlin code natively, while iOS builds package the shared logic into an imported library alongside a native SwiftUI interface. This modular model allows existing native development teams to share data layer implementations without sacrificing platform conventions, although configuration complexity and evolving experimental features require experienced developers.

Watch from 13:41

Matching Frameworks to Organizational Needs

Selecting a cross-platform mobile framework requires balancing project constraints, developer skillsets, and existing infrastructure rather than searching for a universal winner. Flutter excels for early-stage MVPs focused on rapid visual prototyping, React Native suits organizations with strong JavaScript engineering capacity, and Kotlin Multiplatform offers the smoothest path for scaling shared logic in existing native codebases. Matching the technology stack to team composition ensures long-term maintainability and optimal user experience.

Watch from 15:53
Explore WaysConf 2026