The question of whether Flutter is worth learning in 2024 is explored based on various parameters.
Key parameters include:
Job prospects
Funding and stakeholders
Learning curve
Popularity in the developer ecosystem
User experience aspects (performance, software size)
Why Cross-Platform Technologies Exist
Cross-platform technologies provide a single SDK and language to develop applications for multiple operating systems, reducing the need for separate apps for each OS.
Flutter Overview
Flutter is an open-source UI toolkit primarily funded by Google.
A video exists that explains how Flutter works behind the scenes for those interested.
Job Prospects
Stack Overflow Developer Survey Data:
2019: Dart (Flutter's primary language) not on the list. Java and JavaScript present.
2021: Dart appears but remains at the bottom.
2023: Dart continues to be low in ranking.
Job Openings:
Flutter: 834 openings in the US, 1.5k in India.
React Native: 5.6k openings in the US, 7.7k in India.
Native Android: 30k openings in the US, 15k in India.
Indicates Flutter is less in demand compared to React Native and native Android development.
Indicates high engagement despite fewer job openings.
Key Stakeholders:
Flutter: Google
React Native: Facebook
Kotlin Multiplatform: Google and JetBrains
Microsoft's involvement with MAUI.
Prominent apps using Flutter include Google Pay, eBay, and Alibaba.
Popularity in Developer Ecosystem
Google Trends:
Flutter surpassing React Native in interest since 2020.
Stack Overflow Developer Interests:
2021: Flutter at 13.55%, React Native at 14.51%.
2023: Flutter at 9.12%, React Native at 8.43%, indicating growing interest in Flutter.
Dart Language Popularity:
Dart's presence in developer surveys is increasing but still lower than JavaScript.
Developer Ecosystem and Libraries
Flutter has approximately 46,000 packages available.
React Native relies on JavaScript libraries, benefiting from npm's extensive package ecosystem.
Kotlin Multiplatform allows interoperability with native packages.
User Experience
App Size:
Flutter includes an engine and runtime, leading to larger app sizes compared to Kotlin Multiplatform and React Native.
React Native uses native elements for UI rendering, which may result in smaller size than Flutter.
Performance:
Native apps offer the best performance.
Flutter compiles to native components, thus providing good performance.
React Native performance can be hindered by JS bridge latency.
Learning Curve
Flutter:
Easier for Java developers due to Dartโs similarities with Java.
Kotlin Multiplatform:
Easiest for existing Android developers familiar with Kotlin.
React Native:
JavaScript knowledge is a prerequisite for ease of use.
Developer Tooling
Flutter excels in developer tooling for debugging, performance monitoring, and network calls.
Conclusion
Flutter is still a viable option for learning in 2024, with growing interest and community engagement despite challenges in job prospects compared to other frameworks.