Native vs cross-platform frameworks for mobile app development

Continuing the discussion from Developing for the WebKit browser engine:

Mobile app developers can use either native tools or open-source cross-platform frameworks to build apps. While cross-platform frameworks facilitate rapid development, native app development will lead to more favorable opinions about Web3 technologies.

Open-source cross-platform frameworks are software development tools that fit into the programming paradigm of write once, run anywhere.[1] In mobile application development, for example, they can allow developers to write code in one language, and deploy that code to both iPhone and Android devices. Some notable cross-platform frameworks are:

  • Flutter, a cross platform framework based on the Dart programming language, that is developed by Google.

  • React Native, a cross-platform framework based on the JavaScript programming language, that is developed by Facebook.

  • Xamarin, a cross-platform framework based on the C# programming language, that is developed by Microsoft.

The cross-platform frameworks above are part of a larger strategy to maintain developer mind and market share.[2][3] Frameworks inherently lag updates to operating systems. This combined with misalignment of interests can lead to unpredictable behavior after software updates.

Cross-platform frameworks introduce risk in the form of third-party source code dependencies. Developers need to monitor both the native system and the framework for breaking changes. This can be time consuming, and under some circumstances, changes can be introduced that cannot be fixed without third-party intervention.

Bug prone apps are a user experience problem. Additionally, as a consequence of how frameworks are implemented, they can produce a “look and feel” that is either inconsistent with the native “look and feel”, or can require addditional effort to inject capabilities that are natively available.

Good user experience design is about clear communication. Leveraging user intuitions prevents miscommunication and leads to better outcomes.[4]

Despite simplifying mobile device market reach, cross-platform frameworks are not preffered by developers. Only one-third of mobile developers prefer frameworks to native tools. And Flutter, for example, accounts for a little less than half of those developers.[5]

For the stated reasons of platform alignment, maintenance costs, and market reach, I believe that native tools present a more durable long term solution to the adoption of Web3 technologies. Developer and ultimately, user experience, are of paramount importance. Ensuring that users have the best experience possible will lead to more favorable opinions about the Web3 technologies they interact with.

  1. Write once, run anywhere. (2023, May 28). In Wikipedia. Write once, run anywhere - Wikipedia ↩︎

  2. The Future of Software Will Be Hyperplexed. (2021, February 5). BCG. The Future of Software Will Be Hyperplexed ↩︎

  3. Although Substrate is also a kind of open-source cross-platform framework, it is coupled to platform agnostic metadata rather than the Rust programming language. ↩︎

  4. The Design of Everyday Things. (2022, December 21). In Wikipedia. The Design of Everyday Things - Wikipedia ↩︎

  5. Cross-platform mobile frameworks use. (2023, June 1). Statista. Cross-platform mobile frameworks used by global developers 2022 | Statista ↩︎