LLMpediaThe first transparent, open encyclopedia generated by LLMs

Apache Cordova

Generated by DeepSeek V3.2
Note: This article was automatically generated by a large language model (LLM) from purely parametric knowledge (no retrieval). It may contain inaccuracies or hallucinations. This encyclopedia is part of a research project currently under review.
Article Genealogy
Parent: JavaScript Hop 4
Expansion Funnel Raw 65 → Dedup 0 → NER 0 → Enqueued 0
1. Extracted65
2. After dedup0 (None)
3. After NER0 ()
4. Enqueued0 ()
Apache Cordova
NameApache Cordova
DeveloperApache Software Foundation
ReleasedFebruary 2009
Programming languageJavaScript, Java, C#, Objective-C
Operating systemCross-platform
GenreMobile application development
LicenseApache License 2.0

Apache Cordova. It is an open-source mobile development framework that allows developers to build applications for mobile devices using standard web technologies such as HTML5, CSS3, and JavaScript. Originally created by Nitobi, the project was acquired by Adobe Systems in 2011 before being donated to the Apache Software Foundation, where it was rebranded from its original name, PhoneGap. The framework enables the creation of apps that can run on multiple platforms from a single codebase by wrapping the web application in a native container that can access device capabilities.

Overview

The primary purpose of the framework is to enable software engineers to create cross-platform software using familiar web development skills, thereby avoiding the need to learn platform-specific languages like Swift for iOS or Kotlin for Android. Applications built with it are essentially web apps that are rendered within a native WebView component but are packaged for distribution through app stores like the Apple App Store and Google Play. This approach bridges the gap between web applications and native applications, providing access to device hardware such as the camera, GPS, and accelerometer through a unified JavaScript API. The resulting applications are often referred to as hybrid mobile apps, blending web and native elements.

Architecture

The architecture is centered around a web-to-native abstraction layer that facilitates communication between the web-based UI layer and the native device platform. At its core, a native application container, typically implemented for each target operating system like iOS or Android, hosts an embedded WebView. This container loads the application's HTML5 and JavaScript files, which constitute the user interface and application logic. A key component is the plugin architecture, which allows developers to extend the framework's capabilities by creating Cordova plugins; these plugins provide a JavaScript interface that maps to native code written in languages such as Java, Objective-C, or C#. This communication is managed through a bridge that passes messages between the WebView and the native side, enabling access to APIs not available in a standard browser environment.

Development and tools

Development typically begins with the installation of the Node.js-based command-line interface (CLI), which is used to create projects, add platforms, and manage plugins. Developers write their application code using standard web technologies and can test it in a desktop browser during initial stages. For more accurate testing, tools like the Ripple Emulator were historically used, though modern workflows often rely on platform-specific SDKs and emulators, such as those provided by Google for Android and Apple for iOS. The ecosystem includes various supporting tools and frameworks; for instance, Adobe PhoneGap Build was a cloud-based service for compiling apps, and popular JavaScript frameworks like Angular, React, and Vue.js are commonly integrated to structure applications. The Apache Software Foundation maintains extensive documentation and the project on platforms like GitHub.

Supported platforms and features

It supports a wide range of mobile and desktop operating systems, with core focus on iOS, Android, and Windows Phone, though support for platforms like Amazon Fire OS and Ubuntu Touch has also been available. The set of available device APIs is extensive, covering features like geolocation, contacts, file system access, media capture, and notifications. Support for specific features can vary by platform due to differences in underlying operating system capabilities and the availability of corresponding plugins. The framework's compatibility with progressive web app (PWA) principles has also increased, allowing features like service workers to be utilized in certain contexts, further blurring the lines between web and native experiences.

History

The technology was originally developed by Nitobi, a company based in Vancouver, under the name PhoneGap. It was first presented at the iPhoneDevCamp in 2008. In 2011, Adobe Systems announced its acquisition of Nitobi, and the PhoneGap name became associated with Adobe's commercial products and services. Later that year, the core engine was donated to the Apache Software Foundation, entering the Apache Incubator and being rebranded as Apache Cordova, a name derived from a street in Vancouver. Under the stewardship of the ASF, it became a top-level Apache project in 2012. Its development has been influenced by the evolution of web standards and the competing approaches of other cross-platform frameworks.

Several other frameworks and approaches offer solutions for cross-platform mobile development, each with different technical trade-offs. React Native, developed by Facebook, uses a similar philosophy but renders using native UI components instead of a WebView. Xamarin, now part of Microsoft, allows development in C# with full access to native APIs. Flutter, created by Google, uses the Dart language and its own rendering engine. For developers preferring a purely web-based approach, progressive web apps represent a standards-based alternative that runs in browsers. Other related technologies in the ecosystem include Ionic, which is a UI toolkit built on top of the framework, and Apache Flex, another Apache project for rich internet applications.

Category:Apache Software Foundation projects Category:Cross-platform mobile development software Category:Free software programmed in JavaScript Category:Mobile software development kits