Study smarter with Fiveable
Get study guides, practice questions, and cheatsheets for all your subjects. Join 500,000+ students with a 96% pass rate.
When you're tested on mobile app development, you're not just being asked to name frameworks—you're being assessed on your understanding of development trade-offs. Every framework represents a choice between performance, development speed, code reusability, and platform access. The AP exam expects you to recognize why a developer might choose one approach over another and what consequences that choice carries.
These frameworks demonstrate core computer science principles: abstraction (hiding platform complexity), portability (write once, run anywhere), and efficiency (balancing resource use against development time). Don't just memorize which company made which framework—know what problem each one solves and what it sacrifices to solve it.
Native frameworks give developers direct access to platform APIs and hardware, resulting in the best possible performance and user experience. The trade-off? You're writing separate codebases for each platform.
Compare: Native Android vs. Native iOS—both deliver peak performance and full platform access, but require separate codebases and platform-specific expertise. If an FRQ asks about maximizing app performance, native development is your answer.
These frameworks compile to native code, giving you near-native performance while letting you share significant portions of your codebase across platforms. They bridge the gap between development efficiency and app quality.
Compare: React Native vs. Flutter—both enable cross-platform development with near-native performance, but React Native uses JavaScript (familiar to web devs) while Flutter uses Dart (optimized for UI). Flutter offers more consistent visuals; React Native offers a larger talent pool.
Hybrid frameworks use web technologies wrapped in native containers. They prioritize development speed and code reuse over raw performance.
Compare: Ionic vs. PWAs—both use web technologies, but Ionic packages apps for app stores while PWAs bypass stores entirely. PWAs have lower distribution friction; Ionic apps have better access to native device features.
Game development has unique requirements—real-time graphics, physics engines, and asset management—that general-purpose frameworks don't address well.
Compare: Unity vs. Flutter for games—while Flutter can build simple games, Unity provides specialized tools like physics engines, animation systems, and the Asset Store. For anything beyond casual 2D games, Unity is the industry standard.
Compare: Xamarin vs. React Native—both enable cross-platform development, but Xamarin uses C# (familiar to enterprise developers) while React Native uses JavaScript (familiar to web developers). Xamarin offers better Windows support; React Native has a larger community.
| Concept | Best Examples |
|---|---|
| Native Performance | Native Android (Kotlin), Native iOS (Swift) |
| Cross-Platform Compiled | React Native, Flutter, Kotlin Multiplatform |
| Web Technology Based | Ionic, PhoneGap, PWAs |
| Game Development | Unity |
| Enterprise/Microsoft Stack | Xamarin |
| No App Store Required | PWAs |
| Hot Reload Support | Flutter, React Native |
| Single Language Across Platforms | Flutter (Dart), React Native (JavaScript), Xamarin (C#) |
Which two frameworks both compile to native code but use different programming languages—one familiar to web developers, one created specifically for UI development?
A developer needs maximum performance for an Android app with heavy use of device sensors. Which approach should they choose, and what trade-off are they accepting?
Compare and contrast PWAs and Ionic: What web technologies do they share, and how do their distribution methods differ?
If an FRQ asks you to recommend a framework for a company with existing C# developers who need to target iOS, Android, and Windows, which framework best fits and why?
A startup wants to build a cross-platform app quickly with developers who only know JavaScript. Which two frameworks could they consider, and what's the key difference between them?