Mobile development framework

Last updated

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.

Contents

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

FrameworkLicenseFramework targetDevelopment languagesTarget platformOther device supportWithout recompiling developmentEnterprise data synchronizationMulti-threaded applicationsFile uploadingImage library browsingIn application emailApplication distribution supportDistribution analyticsSelf-contained, no web requiredWeb servicesMobile APIs supportAble to access the web for data Geolocation supportVibration support Accelerometer supportSound (play) supportSound (record) support Camera support Zeroconf (Bonjour) support XMPP supportFile system IO supportGesture / Multi-touch supportDevice Motion Event (accelerometer) supportDevice orientation event (accelerometer) supportNative date/time picker support SMS supportTelephone supportMaps supportOrientation change supportContact support SQLite support Native language application development supportGraph library support
Codename One GPL Native and web application Java, Kotlin Android, iOSDesktop, WebYesYesYesNoNoYesYesYesYesYesYesYesYesYesYesYes (external)Yes (external)YesYesYesYesYesYesYesYesYesYesYesYesYes
Flutter BSD-3-Clause Native, embedded applications Dart Android, iOS, FuchsiaWindows, macOS, Linux
Kivy MIT Embedded and enterprise applications Python iOS, Android Linux, macOS, Windows No ?Partial (Python-based.)YesYesYesYesNoYes ?Yes (In progress)YesNo (On roadmap)NoYesNoNoYesNoNoYesYesYesYesNoNoNoNoYesYesNoYesNo
Pega AMP CommercialHybrid, native and enterprise applications HTML5, CSS3, JavaScript, Java, Native code or a combination of bothiOS, Android-NoYesYesNoNoNoYesYesYes, Offline SupportYesYesYesYesYes, via Cordova Yes, via Cordova Yes, via Cordova or HTML5 AudioYes, via Cordova Yes, via Cordova Yes, via Cordova Yes, via Cordova YesYes, via Cordova Yes, via Cordova  ? ?YesYesYesYes, via Cordova Yes, based on device supportYesCompatible with other libraries
RhoMobile Suite MIT Embedded applications JavaScript, Ruby iOS, AndroidWindows Phone, Windows 10, Windows CE/Mobile ?Yes, via RhoConnect Yes, via Ruby YesYes ?Yes, via RhoGalleryNoYesYes (REST or SOAP with JSON or XML) ?YesYesYesYesYes ?Yes ? ?Yes ? ?YesYesYesYesYesYesYesYesYes, via Rhodes extensionsYes, via HTML5 SVG or Canvas
React Native MIT Native applications Javascript with ES6 syntax supportAndroid, iOSWeb, Windows, Linux, macOSYesYesYesYes, via Linking API
Ionic MIT Hybrid applications JavaScript Android, iOSWindows, Web
Xamarin MIT Native applications C# iOS, AndroidtvOS, watchOS, macOS, and Windows
Titanium SDK Apache Native applications JavaScript Android, iOSmacOSYesYesYesYesYesYesYesYesYesYesYesYesYesYesYesYesYesYesYesYesYesYesYesYesYes
Kotlin Multiplatform Mobile [1] Kotlin Android, iOS

Discontinued and obsolete framework

See also

Related Research Articles

<span class="mw-page-title-main">Qt (software)</span> Object-oriented framework for software development

Qt or is a cross-platform application development framework for creating graphical user interfaces as well as cross-platform applications that run on various software and hardware platforms such as Linux, Windows, macOS, Android or embedded systems with little or no change in the underlying codebase while still being a native application with native capabilities and speed.

In computing, cross-platform software is computer software that is designed to work in several computing platforms. Some cross-platform software requires a separate build for each platform, but some can be directly run on any platform without special preparation, being written in an interpreted language or compiled to portable bytecode for which the interpreters or run-time packages are common or standard components of all supported platforms.

<span class="mw-page-title-main">The SWORD Project</span>

The SWORD Project is the CrossWire Bible Society's free software project. Its purpose is to create cross-platform open-source tools—covered by the GNU General Public License—that allow programmers and Bible societies to write new Bible software more quickly and easily.

Apache Cordova is a mobile application development framework created by Nitobi. Adobe Systems purchased Nitobi in 2011, rebranded it as PhoneGap, and later released an open-source version of the software called Apache Cordova. Apache Cordova enables software programmers to build hybrid web applications for mobile devices using CSS3, HTML5, and JavaScript, instead of relying on platform-specific APIs like those in Android, iOS, or Windows Phone. It enables the wrapping up of CSS, HTML, and JavaScript code depending on the platform of the device. It extends the features of HTML and JavaScript to work with the device. The resulting applications are hybrid, meaning that they are neither truly native mobile application nor purely Web-based. They are not native because all layout rendering is done via Web views instead of the platform's native UI framework. They are not Web apps because they are packaged as apps for distribution and have access to native device APIs. Mixing native and hybrid code snippets has been possible since version 1.9.

Titanium SDK is an open-source framework that allows the creation of native mobile applications on platforms iOS and Android from a single JavaScript codebase. It is presently developed by non-profit software foundation TiDev, Inc.

<span class="mw-page-title-main">RhoMobile Suite</span>

RhoMobile Suite, based on the Rhodes open source framework, is a set of development tools for creating data-centric, cross-platform, native mobile consumer and enterprise applications. It allows developers to build native mobile apps using web technologies, such as CSS3, HTML5, JavaScript and Ruby. Developers can deploy RhoMobile Suite to write an app once and run it on the most-used operating systems, including iOS, Android, Windows Phone, Windows Mobile, Windows CE, Windows 10 Mobile and Windows Desktop. Developers control how apps behave on different devices. RhoMobile Suite consists of a set of tools for building, testing, debugging, integrating, deploying and managing consumer and enterprise apps. It consists of the products Rhodes, RhoElements, RhoStudio, RhoConnect, and RhoGallery, and includes a built-in Model View Controller pattern, an Object Relational Mapper for data intensive apps, integrated data synchronization, and a broad API set. These mobile development services are offered in the cloud and include hosted build, synchronization and application management.

<span class="mw-page-title-main">Xamarin</span> American software company

Xamarin is a Microsoft-owned San Francisco-based software company founded in May 2011 by the engineers that created Mono, Xamarin.Android and Xamarin.iOS, which are cross-platform implementations of the Common Language Infrastructure (CLI) and Common Language Specifications.

<span class="mw-page-title-main">Mono (software)</span> Computer software project

Mono is a free and open-source software framework that aims to run software made for the .NET Framework on Linux and other OSes. Originally by Ximian which was acquired by Novell, it was later developed by Xamarin which was acquired by Microsoft. In August 2024, Microsoft transferred ownership of Mono to WineHQ.

eMobc is an open source framework for generation of web, mobile web and native IOS and Android apps develop mobile applications quickly and easily using XML. eMobc Framework is developed by Neurowork Consulting S.L. and was introduced in November 2012. eMobc currently supports the following platforms IOS, Android, and HML5. In the future is to add other platforms as BlackBerry or Windows Phone.

<span class="mw-page-title-main">Xojo</span> Programming environment and programming language

The Xojo programming environment and programming language is developed and commercially marketed by Xojo, Inc. of Austin, Texas for software development targeting macOS, Microsoft Windows, Linux, iOS, Android, the Web and Raspberry Pi. Xojo uses a proprietary object-oriented language.

Codename One is an open-source cross-platform framework aiming to provide write once, run anywhere code for various mobile and desktop operating systems. It was created by the co-founders of the Lightweight User Interface Toolkit (LWUIT) project, Chen Fishbein and Shai Almog, and was first announced on January 13, 2012.

JetBrains s.r.o. is a Czech software development private limited company which makes tools for software developers and project managers. The company has its headquarters in Prague, and has offices in China, Europe, and the United States.

<span class="mw-page-title-main">Appcelerator</span> Privately held mobile technology company

Appcelerator is a privately held mobile technology company based in San Jose, California. Its main products are Titanium, an open-source software development kit for cross-platform mobile development, and the Appcelerator Platform.

Kotlin is a cross-platform, statically typed, general-purpose high-level programming language with type inference. Kotlin is designed to interoperate fully with Java, and the JVM version of Kotlin's standard library depends on the Java Class Library, but type inference allows its syntax to be more concise. Kotlin mainly targets the JVM, but also compiles to JavaScript or native code via LLVM. Language development costs are borne by JetBrains, while the Kotlin Foundation protects the Kotlin trademark.

<span class="mw-page-title-main">WinJS</span> Open-source JavaScript library

The Windows Library for JavaScript is an open-source JavaScript library developed by Microsoft. It has been designed with the primary goal of easing development of Windows Store apps for Windows 8 and Windows 10, as well as Windows Phone apps for Windows Phone 8.1, Windows 10 Mobile and Xbox One applications using HTML5 and JavaScript, as an alternative to using WinRT XAML and C#, VB.NET or C++ (CX).

<span class="mw-page-title-main">.NET</span> Software platform developed by Microsoft

The .NET platform is a free and open-source, managed computer software framework for Windows, Linux, and macOS operating systems. The project is mainly developed by Microsoft employees by way of the .NET Foundation and is released under an MIT License.

Crosswalk Project was an open-source web app runtime built with the latest releases of Chromium and Blink from Google. The project was founded by Intel's Open Source Technology Center in September 2013.

NativeScript provides platform APIs directly to the JavaScript runtime for a rich TypeScript development experience. As an open-source framework to develop apps for iOS, visionOS and Android platforms combining a best of all worlds approach marrying familiar Web approaches like CSS and view templating with common platform languages it delivers a liberating toolset for developers. It was originally conceived and developed by Bulgarian company Telerik, later acquired by Progress Software. At the end of 2019 responsibility for the NativeScript project was taken over by long-time Progress partner, nStudio. In December 2020, nStudio also oversaw the induction of NativeScript into OpenJS Foundation as an Incubating Project. NativeScript apps are built using JavaScript, or by using any programming language that transpiles to JavaScript, such as TypeScript. NativeScript supports the Angular and Vue JavaScript frameworks. Mobile applications built with NativeScript result in fully native apps, which use the same APIs as if they were developed in Xcode or Android Studio. Additionally, software developers can re-purpose third-party libraries from CocoaPods, Maven, and npm.js in their mobile applications without the need for wrappers.

Realm is an open source object database management system, initially for mobile operating systems (Android/iOS) but also available for platforms such as Xamarin, React Native, and others, including desktop applications (Windows). It is licensed under the Apache License.

Flutter is an open-source UI software development kit created by Google. It can be used to develop cross platform applications from a single codebase for the web, Fuchsia, Android, iOS, Linux, macOS, and Windows. First described in 2015, Flutter was released in May 2017. Flutter is used internally by Google in apps such as Google Pay and Google Earth as well as other software developers including ByteDance and Alibaba.

References

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