In the world of mobile development, following Symbian, Java ME and Windows Phone, the term “native” was used to categorise applications built for Android with Java and for iOS with Objective-C. Today, with the rise of cross-platform technologies, the definition has become less clear. In addition, “native” has come to encompass user experience, developer experience and the way frameworks are built.
For a long time, native was synonymous with better performance, greater control over the user experience and full access to system resources. However, many teams today are multidisciplinary, bringing together engineers with expertise in Swift, Kotlin, React Native or Flutter, while cross-platform frameworks have evolved to the point where they are sufficient for most products. As a result, the central question is no longer simply “should we go native?”, but rather “what is the best approach within the constraints of each project?”
Factors Influencing the Choice
The decision between native and cross-platform is shaped by both internal and external factors.
On the external side, clients may impose preferences based on existing code or internal expertise, while the market is influenced by the availability of talent and the perception of which technologies are reliable and secure.
Internally, the team’s experience is often a determining factor: teams with strong Kotlin and Swift expertise will tend to favour native development, while teams experienced in JavaScript or Dart may prefer cross-platform solutions. The type of product also matters: long-term, complex products benefit from native development, while MVPs or rapid prototypes can benefit from cross-platform solutions. Tight deadlines may also justify choosing cross-platform in order to accelerate delivery.
The technology itself adds another layer to the decision. The maturity of the stack, the existence of an active community and the quality of the ecosystem have a direct impact on productivity. Performance and user experience remain advantages of native development, although the gap is narrowing.
On the other hand, cross-platform frameworks introduce additional layers of abstraction, which can delay the implementation of new features or introduce bugs. Finally, it is crucial to assess scalability and long-term sustainability.
Practical Cases
In my experience as an engineering manager, very different scenarios require distinct approaches:
· Project with a very tight deadline, a non-technical client and an existing web version: we used React Native with a single developer, focusing only on the minimum required features.
· Project involving NFC integration and a limited budget: one native developer used Kotlin Multiplatform to share the business logic and replicated the UIs for each platform.
· Large-scale event with a tight deadline: three React Native developers ensured a fast and robust delivery.
· Strategic product with a long-term roadmap and advanced integrations: four native developers were required to guarantee performance and full control.
These cases show that there is no universal answer: the decision depends on the context, the client, the team, the budget, the deadlines and the product requirements.
The Future of Mobile
The native vs. cross-platform debate continues, but the lines are becoming increasingly blurred. Cross-platform has become mature enough for a wide range of use cases, while solutions such as Kotlin Multiplatform and Compose Multiplatform make it possible to share both business logic and interfaces while maintaining native foundations. Compose Multiplatform stands out as a particularly promising option, enabling gradual adoption, integration with existing projects and even coexistence with SwiftUI.
More than choosing between native and cross-platform, the challenge is to balance performance, speed of delivery and long-term sustainability. The future may not lie in a binary choice, but in technologies that combine the strengths of both worlds, allowing teams to build high-quality products, deliver value quickly and scale with confidence. Ultimately, the question is no longer “native or not?”, but rather: which technology empowers the team and unlocks the full potential of the product?
Opinion article by Guilherme Delgado, Head of Mobile Development at Bliss Applications, originally published in Tek notícias.