Mobile development framework

A mobile development framework is a software framework that is designed to support mobile app development. It is a software library that provides a fundamental structure to support the development of applications for a specific environment.

Frameworks can be in three categories: native frameworks for platform-specific development, mobile web app frameworks, and hybrid apps, which combine the features of both native and mobile web app frameworks.

Current frameworks

edit
Framework License Framework target Development languages Target platform Other device support Without recompiling development Enterprise data synchronization Multi-threaded applications File uploading Image library browsing In application email Application distribution support Distribution analytics Self-contained, no web required Web services Mobile APIs support Able to access the web for data Geolocation support Vibration support Accelerometer support Sound (play) support Sound (record) support Camera support Zeroconf (Bonjour) support XMPP support File system IO support Gesture / Multi-touch support Device Motion Event (accelerometer) support Device orientation event (accelerometer) support Native date/time picker support SMS support Telephone support Maps support Orientation change support Contact support SQLite support Native language application development support Graph library support
Codename One GPL Native and web application Java, Kotlin Android, iOS Desktop, Web Yes Yes Yes No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes (external) Yes (external) Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
Flutter BSD-3-Clause Native, embedded applications Dart Android, iOS, Fuchsia Windows, macOS, Linux
Kivy MIT Embedded and enterprise applications Python iOS, Android Linux, macOS, Windows No ? Partial (Python-based.) Yes Yes Yes Yes No Yes ? Yes (In progress) Yes No (On roadmap) No Yes No No Yes No No Yes Yes Yes Yes No No No No Yes Yes No Yes No
Pega AMP Commercial Hybrid, native and enterprise applications HTML5, CSS3, JavaScript, Java, Native code or a combination of both iOS, Android - No Yes Yes No No No Yes Yes Yes, Offline Support Yes Yes Yes Yes Yes, via Cordova Yes, via Cordova Yes, via Cordova or HTML5 Audio Yes, via Cordova Yes, via Cordova Yes, via Cordova Yes, via Cordova Yes Yes, via Cordova Yes, via Cordova ? ? Yes Yes Yes Yes, via Cordova Yes, based on device support Yes Compatible with other libraries
RhoMobile Suite MIT Embedded applications JavaScript, Ruby iOS, Android Windows Phone, Windows 10, Windows CE/Mobile ? Yes, via RhoConnect Yes, via Ruby Yes Yes ? Yes, via RhoGallery No Yes Yes (REST or SOAP with JSON or XML) ? Yes Yes Yes Yes Yes ? Yes ? ? Yes ? ? Yes Yes Yes Yes Yes Yes Yes Yes Yes, via Rhodes extensions Yes, via HTML5 SVG or Canvas
React Native MIT Native applications Javascript with ES6 syntax support Android, iOS Web, Windows, Linux, macOS Yes Yes Yes Yes, via Linking API
Ionic MIT Hybrid applications JavaScript Android, iOS Windows, Web
Xamarin MIT Native applications C# iOS, Android tvOS, watchOS, macOS, and Windows
Titanium SDK Apache Native applications JavaScript Android, iOS macOS Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
Kotlin Multiplatform Mobile[1] Kotlin Android, iOS

Discontinued and obsolete framework

edit
  • iUI - last stable release in 2009
  • Crosswalk Project - last updated in 2017
  • IPFaces mobile framework - last updated in 2013
  • MoSync - discontinued, last updated in 2013
  • Enyo - last updated in 2016
  • NEXT - last updated in 2016
  • Sencha Touch - final release in 2015
  • NSB/AppStudio - last updated in 2021

See also

edit

References

edit
  1. ^ "Kotlin Multiplatform for Cross-Platform Mobile Development". Kotlin Multiplatform Mobile. Retrieved 2022-10-18.