Key Mobile App Development Frameworks
Study smarter with Fiveable
Get study guides, practice questions, and cheatsheets for all your subjects. Join 500,000+ students with a 96% pass rate.
Why This Matters
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 Development: Maximum Performance, Maximum Effort
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.
Native Android Development (Java/Kotlin)
- Full Android SDK access—enables optimal performance and complete use of device features like sensors, camera, and notifications
- Kotlin is now Google's preferred language, offering null safety and concise syntax over legacy Java code
- Platform-specific development means longer timelines for cross-platform projects but superior Android user experience
Native iOS Development (Swift/Objective-C)
- Deep iOS integration—provides seamless access to Apple's APIs, ensuring apps feel native and perform smoothly
- Swift replaced Objective-C as Apple's modern language, featuring type safety and faster compilation
- Xcode IDE required—Apple's development environment is mandatory, limiting development to macOS systems
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.
Cross-Platform Compiled: Native Performance, Shared Code
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.
React Native
- JavaScript and React—leverages the most popular web programming language, lowering the barrier for web developers entering mobile
- Code sharing between iOS and Android reduces development time by 30-50% compared to native approaches
- Large component ecosystem—Facebook's backing and strong community provide pre-built solutions for common features
Flutter
- Dart programming language—Google's framework compiles to native ARM code, delivering high frame rates and smooth animations
- Single codebase with customizable UI—widgets render identically across platforms, ensuring visual consistency
- Hot reload functionality allows developers to see code changes instantly without restarting the app, accelerating iteration
Kotlin Multiplatform Mobile
- Shared business logic in Kotlin—lets teams write core functionality once while keeping native UI layers separate
- Native performance maintained—unlike hybrid approaches, shared code compiles to platform-native binaries
- Gradual adoption possible—existing native apps can integrate KMM incrementally, reducing migration risk
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 and Web-Based: Maximum Portability
Hybrid frameworks use web technologies wrapped in native containers. They prioritize development speed and code reuse over raw performance.
Ionic
- HTML, CSS, and JavaScript—web developers can build mobile apps without learning new languages
- Single codebase deploys everywhere—targets iOS, Android, and web from the same source files
- UI component library provides pre-styled, responsive elements that adapt to each platform's design language
PhoneGap (Apache Cordova)
- Open-source web wrapper—packages web applications as native apps using a WebView container
- JavaScript APIs access native features—camera, GPS, and storage become available through plugin architecture
- Performance limitations—runs in a browser engine, making it unsuitable for graphics-intensive applications
Progressive Web Apps (PWAs)
- Browser-based native experience—installable from the web without app store approval or distribution fees
- Offline functionality through service workers enables apps to work without internet connectivity
- Push notifications and home screen access—modern web APIs provide features previously exclusive to native apps
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.
Specialized: Game Development
Game development has unique requirements—real-time graphics, physics engines, and asset management—that general-purpose frameworks don't address well.
Unity (for Mobile Game Development)
- 2D and 3D game engine—handles rendering, physics, and audio with optimized performance across devices
- C# scripting language provides object-oriented game logic with extensive documentation and tutorials
- Asset Store marketplace—offers thousands of pre-built models, sounds, and scripts to accelerate development
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.
Microsoft Ecosystem: Enterprise Integration
Xamarin
- C# and .NET framework—allows existing Microsoft developers to leverage their skills for mobile development
- Code sharing across iOS, Android, and Windows—unique three-platform support from a single codebase
- Visual Studio integration provides enterprise-grade debugging, testing, and deployment tools
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.
Quick Reference Table
| 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#) |
Self-Check Questions
-
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?