In this video, a freelance consultant and app developer explains his rationale for largely eschewing cross-platform frameworks like Flutter in favor of native mobile app development. He argues that native applications offer inherent advantages in terms of speed and performance, citing Notion's significant improvements after re-implementing its Android app natively. Additionally, he emphasizes the superior aesthetic quality and immediate access to the latest platform features and hardware that native development provides, highlighting the compromises inherent in cross-platform solutions. While acknowledging that companies sometimes opt for cross-platform to leverage existing developer expertise or for rapid MVP development, he concludes that for long-term, high-quality applications or for his personal projects (often focused on the more monetizable iOS market), native remains the preferred choice. The speaker stresses that the decision between native and cross-platform is context-dependent, with no universal "better" answer.
Flutter vs. Native: A Developer's Perspective on Cross-Platform Development
0:00 Introduction to the Debate: The speaker addresses the common question of why he avoids Flutter and emphasizes the importance of understanding specific project needs when choosing between cross-platform and native development.
0:30 Performance Advantage of Native: Cites Notion's Android app, which saw 2x-3x speed improvements on iOS and Android after being rewritten using native components, asserting that "native apps are just faster."
0:52 Aesthetic & UI/UX Superiority: Argues that native apps "look better" and allow for "much nicer interfaces." He notes that different platforms (iOS, Android) have distinct design paradigms, making simple copy-pasting of UIs ineffective.
1:14 Dependency on Third-Party Frameworks: Highlights a key disadvantage of cross-platform: reliance on the framework provider to implement support for new OS features, SDKs, or hardware, leading to potential delays.
1:41 Cross-Platform as a Compromise: States that choosing cross-platform development inherently means accepting a compromise if the goal is the best possible user experience, aesthetic, and speed.
1:51 Business Reasons for Cross-Platform: Acknowledges that companies may use cross-platform tools (e.g., React Native) to leverage existing in-house developer talent (like JavaScript developers) and save on the costs and management complexities of hiring separate native iOS and Android teams.
3:16 Focus on iOS for Personal Apps: For his personal projects, the speaker often targets iOS exclusively, noting that iOS users are generally "more willing to pay for apps," making it a sufficient market for many business models not reliant on ads or data collection.
4:09 Maintenance Burden of Multiple Platforms: Explains that while cross-platform promises "free" apps for various OSes (Android, Windows, macOS, Web), supporting and maintaining these across all platforms is not truly "free" and adds significant overhead.
5:01 When Flutter Makes Sense: Recommends Flutter for freelancers working on small, quick MVP (Minimum Viable Product) projects for businesses that need both iOS and Android apps to test concepts, as these projects often have a short lifespan before being abandoned or rewritten natively.
6:16 Learning Recommendation for Beginners: Advises against starting with Flutter as a first coding language, strongly recommending native development instead.
6:40 Airbnb's Case Study: Mentions Airbnb's decision to "sunset" React Native and revert to native development, citing their experience that native proved more cost-effective and easier to support.
7:10 The "It Depends" Conclusion: Reiterates that the choice between native and cross-platform is not a clear-cut "better" or "worse" scenario, but rather "it depends" on the specific context, project goals, and available resources.