Fact-checked by Grok 2 weeks ago

Apache Cordova

Apache Cordova is an open-source mobile development framework that enables the creation of cross-platform applications using standard web technologies such as , CSS3, and , which are executed within native device containers to provide access to platform-specific features like sensors, cameras, and file systems via a unified API. Originally developed as PhoneGap by Nitobi Software in 2008, the framework was acquired by Systems along with Nitobi in 2011 and subsequently donated to , where it was rebranded as Apache Cordova to ensure open-source governance. It graduated to a top-level Apache project in October 2012, fostering community-driven development while maintaining compatibility with major mobile operating systems including and . At its core, Cordova's architecture revolves around a component that renders the web-based , a local typically starting from an index.html file configured via config.xml, and plugins that bridge code to native for functionalities such as geolocation, status, or media capture. This hybrid approach allows a single codebase to be reused across platforms, supporting both scenarios, though it requires explicit plugin installation for device access and does not include built-in UI frameworks or MVC patterns. Developers can adopt a cross-platform using the Cordova CLI () for tasks like project creation, platform addition, and building—e.g., installing via [npm](/page/Npm,_Inc.) install -g cordova, creating an app with cordova create MyApp, and running it on a with cordova run browser—or a platform-centered approach with lower-level tools for deeper native integrations. As of 2025, Apache Cordova remains actively maintained under , with ongoing updates to core plugins and platform support, even as discontinued its proprietary PhoneGap Build service in 2020 to focus on other tools, leaving the open-source Cordova project unaffected and viable for modern hybrid app development. Its emphasis on web standards has made it a foundational tool for developers seeking to target multiple app stores without rewriting code for each platform, though it competes with newer frameworks like or that offer more native-like performance.

History

Origins as PhoneGap

Apache Cordova originated as PhoneGap, an open-source framework developed by Nitobi Software in August 2008 during the event in . The project was initiated to empower developers to access native iPhone features using familiar technologies, addressing the limitations of early apps that lacked with hardware. Nitobi, a Vancouver-based company specializing in mobile solutions, released the initial codebase as a proof-of-concept project, marking the birth of hybrid mobile app development. PhoneGap's first public release occurred in 2009, primarily targeting iOS devices and leveraging , CSS, and to create hybrid applications that could be packaged as native apps. This approach allowed developers to build once and deploy to app stores without delving into platform-specific native code, simplifying the creation of feature-rich mobile experiences. The framework quickly gained traction among web developers transitioning to mobile, who valued its ability to repurpose existing web skills for app . Early adopters embraced PhoneGap for its cross-platform potential, even in its nascent iOS-focused stage, as it eliminated the need to rewrite code for multiple operating systems. Developers seeking efficient solutions for emerging ecosystems found it particularly appealing for and deployment. Key early features centered on bridging to native device APIs, enabling access to hardware like the camera for photo capture and the for , without requiring expertise. These capabilities, including geolocation and vibration feedback, formed the core of PhoneGap's value proposition, allowing web-based apps to interact seamlessly with iPhone sensors and peripherals.

Transition to Apache Project

In October 2011, Adobe Systems announced its acquisition of Nitobi Software, the original developer of PhoneGap, for an undisclosed amount, with the deal completing by the end of the month. This move integrated PhoneGap into 's ecosystem of creative and development tools, enhancing its focus on cross-platform mobile app development using , CSS, and . Concurrently, Nitobi and committed to donating the PhoneGap codebase to to ensure its continued open-source evolution under neutral governance. The donation process advanced rapidly, with the project entering the Apache Incubator on December 31, 2011, under the temporary name "Callback" before being renamed in early 2012 to sidestep potential trademark conflicts with Adobe's proprietary PhoneGap branding. This rebranding distinguished the open-source core (Cordova) from Adobe's commercial PhoneGap product, which would build upon and promote the Apache project while adding Adobe-specific services like PhoneGap Build. The initial Apache release, version 2.0, arrived in 2012, marking the project's first official distribution under Apache auspices and aligning with the maturation of its hybrid app framework. On October 17, 2012, Apache Cordova graduated from the to become a top-level Apache project, solidifying its independence and community-driven development model. Early governance involved establishing a diverse group of committers drawn from , , and other contributors, fostering collaborative decision-making and broad industry participation to guide the project's technical direction and plugin ecosystem.

Major Releases and Milestones

Apache Cordova's development has seen several major releases that introduced key improvements in tooling, platform compatibility, and . The version 3.0 release on July 23, 2013, marked a significant milestone by introducing the standardized (CLI) tool, which streamlined project creation, platform addition, and plugin management across supported environments. This version also established a more robust plugin , shifting toward a modular system that emphasized community-contributed extensions for native functionality access. Subsequent releases built on this foundation with enhanced platform integrations. Version 5.0 of the CLI, released in April 2015, improved support for emerging operating systems, including compatibility with , and introduced native plugin fetching from , simplifying dependency management and reducing reliance on custom repositories. In 2020, version 10.0 of the CLI, released on August 4, further refined platform support by updating default integrations to cordova-android 9.0.0 and cordova-ios 6.1.0, enabling compatibility with and bolstering security through dependency updates and version requirements (minimum 10.x). This release also removed deprecated features like the plugin save command to streamline workflows. Version 11.0, released on December 21, 2021, continued these enhancements by raising the minimum version to 12.x and updating platform defaults to cordova-android 10.1.1 and cordova-ios 6.2.0, ensuring ongoing + compatibility and addressing issues. The stable CLI 12.0.0 followed on May 22, 2023, focusing on bug fixes such as improved handling of tarball platforms and deprecation warnings, while integrating better with for desktop builds and removing outdated platform listings like Windows and OSX. A notable occurred in 2020 with the discontinuation of Adobe's PhoneGap Build service on October 1, prompting a shift toward community-driven maintenance and local build tools within the Apache ecosystem. Following the 12.0.0 release, updates from 2024 to 2025 have consisted primarily of minor patches, such as cordova-android 14.0.0 in 2025 for Android compatibility fixes and cordova-lib 12.0.2 in November 2024 for tooling stability. On November 5, 2025, Cordova CLI 13.0.0 was released, updating the core library (cordova-lib 13.0.0) to handle project and build operations with further improvements, demonstrating continued active maintenance as of November 2025.

Design and Architecture

Hybrid App Model

Apache Cordova's hybrid app model enables developers to create mobile applications using familiar web technologies—HTML, CSS, and —while targeting multiple operating systems from a single codebase, eliminating the need for platform-specific native rewrites. This approach leverages the ubiquity of web standards to streamline cross-platform , allowing teams to focus on core functionality rather than duplicating efforts across , , and other environments. By wrapping content in a native container, Cordova bridges the gap between and mobile ecosystems, making it accessible for developers to enter creation without mastering disparate native toolsets. At its core, the app structure involves bundling web assets, such as the main file, stylesheets, and scripts, into a native application tailored for each target . This serves as a distribution wrapper, enabling the app to be packaged and submitted to app stores like or the Apple . Once installed, the web content renders inside an embedded browser component within the native , providing a seamless that mimics native apps through device-appropriate adaptations and access to features via standardized bridges. This ensures the app behaves like a native binary while maintaining the flexibility of web-based rendering. The hybrid model delivers key benefits, particularly for development efficiency and maintainability. Web developers can achieve and iteration using standard tools like code editors and browsers, accelerating time-to-market compared to native-only workflows. Code reusability is a standout , with estimates indicating up to 90% shared logic across platforms, reducing long-term costs and enabling consistent updates from one . This reusability is especially valuable for applications where /UX parity and core logic consistency are prioritized over platform-specific optimizations. In contrast to fully native applications, which are compiled directly in platform languages like or Kotlin, Cordova's reliance on web standards introduces distinct operational differences. Native apps demand full recompilation and resubmission for any change, often involving lengthy review processes, whereas Cordova facilitates targeted updates to web assets—such as logic or CSS styling—without always necessitating a complete resubmission, particularly when assets are hosted remotely and loaded dynamically. This web-centric foundation also supports over-the-air updates via plugins, enhancing agility for iterative improvements while still adhering to app store policies on native integrity.

Core Components and WebView

Apache Cordova's core architecture revolves around the , a platform-specific browser component that serves as the primary container for hosting web-based applications within a native app shell. On , the default WebView is WKWebView, which has replaced the deprecated UIWebView since Cordova iOS version 6.0, providing enhanced performance and security for rendering , CSS, and content. On , it utilizes the CordovaWebView, an extension of the native Android System WebView, which embeds the web app and enables seamless integration with device hardware through bridges. This WebView component loads the application's assets—typically from a local www directory containing index.html—and renders the entire , allowing developers to build cross-platform apps using standard web technologies without direct native code modifications. The runtime acts as the foundational layer that initializes and manages the , ensuring proper execution of the web app within the native . Upon app launch, the runtime creates and configures the WebView instance, loads the specified start page (defaulting to index.html), and bridges communication between the web content and native platform features. It also handles critical lifecycle , such as pause—triggered when the app is backgrounded—and resume—fired when the app returns to the foreground—allowing code to respond to these state changes for tasks like pausing media playback or saving application state. These events are essential for maintaining app responsiveness and resource efficiency across platforms, with platform-specific nuances like delayed API calls on during background transitions. Central to the runtime configuration is the config.xml file, a W3C Widgets-compliant that defines essential app , permissions, and preferences. This file specifies the app's identity (e.g., unique ID and version), content source, and access controls, such as allowing to specific domains via <allow-navigation> or requesting permissions like camera access. Platform-specific preferences, enclosed in <platform name="ios"> or <platform name="android"> tags, fine-tune behaviors like orientation locking or fullscreen mode, influencing how the renders and interacts with the device. By centralizing these settings, config.xml ensures consistent app behavior across builds while adapting to platform requirements. JavaScript execution in Cordova follows a single-threaded, event-driven model inherent to web browsers, where the WebView's processes code synchronously while deferring asynchronous operations via an . Developers interact with device capabilities through standards-compliant bindings, listening for like deviceready to confirm Cordova's full initialization before invoking native features. This model supports non-blocking device interactions—such as file access or sensor reads—via callback-based or promise-returning , preventing UI freezes during native operations. The runtime injects these into the global window object, enabling web code to bridge to native code without multithreading complexities.

Plugin System Overview

The plugin system in Apache Cordova enables applications to access native device functionalities by providing interfaces that invoke platform-specific native code implementations, such as for and for . These act as bridges, allowing web-based code running in the Cordova to execute native operations that would otherwise be unavailable to standard web applications. Cordova distinguishes between core plugins, which are officially maintained by the Apache Cordova project and provide essential APIs like device information (cordova-plugin-device) and network connectivity status (cordova-plugin-network-information), and third-party plugins developed by the community for additional features such as barcode scanning. Core plugins are hosted in the official registry and integrated via , while third-party plugins are also discoverable through the Cordova plugin registry or ecosystem. Plugins are installed and managed using the Cordova CLI, with commands such as cordova plugin add cordova-plugin-device to add a specific by its identifier, or cordova plugin add <repository-url> for direct integration. Removal is handled similarly via cordova plugin remove <plugin-id>. This CLI-based workflow ensures plugins are fetched, configured, and injected into the project structure across supported platforms. The hook system extends plugin functionality by allowing custom scripts to execute at predefined points during Cordova commands, such as before or after installation, build processes, or platform addition. Hooks are defined in configuration files like config.xml or plugin.xml using elements such as <hook type="before_plugin_install" src="path/to/script.js" />, enabling developers to automate tasks like code validation or asset modification during pre- and post-build events. These scripts, written in or other executable formats, receive contextual environment variables to interact with the build process dynamically.

Development Workflow

Installation and Project Setup

Apache Cordova development begins with installing the necessary prerequisites and tools, primarily through and its , , which are required to run the Cordova (CLI). Developers must first ensure (version 20.17 or higher, or 22.9 or higher) and are installed on their system, as the CLI operates as an package. Platform-specific software development kits (SDKs) are also essential; for instance, Android development requires the , while iOS development necessitates on macOS and an Apple Developer account. These prerequisites can be verified using the command cordova requirements once the CLI is installed. The Cordova CLI is installed globally via npm with the command npm install -g cordova, enabling access to Cordova commands from any directory in the terminal. This installation includes the core CLI tools for project management, and it can be updated using npm update -g cordova to access the latest features and fixes. The installed version can be checked with cordova -v, confirming a successful setup. To create a new Cordova project, developers use the cordova create command, such as cordova create hello com.example.hello HelloWorld, which generates a project directory named "hello" containing essential files and folders. This command initializes a basic structure, including the www directory for web assets like , CSS, and files, with www/index.html serving as the entry point. Additionally, it produces a config.xml file that defines the application's , such as its ID, name, version, and platform preferences. After project creation, platforms are added to enable targeting specific mobile operating systems using commands like cordova platform add [android](/page/Android) or cordova platform add [ios](/page/IOS). This step downloads and configures the necessary platform-specific code into the project's platforms directory, updates config.xml and package.json accordingly, and ensures compatibility with the chosen SDKs. Developers should navigate to the project root (e.g., cd hello) before adding platforms, and they can list added platforms with cordova platform ls. Note that files in the platforms directory should not be edited directly, as they are generated and may be overwritten.

Building, Testing, and Deployment

Building an application involves compiling the hybrid web code into native project files for target platforms using the CLI. The primary command for this process is cordova build <platform>, which generates platform-specific project files in the /platforms/ directory without overwriting custom web assets in the /www/ directory. For instance, cordova build [android](/page/Android) creates an Android project that can be further customized or opened in . This build step requires the relevant platform SDKs to be installed and configured, as verified by running cordova requirements. Testing apps locally can be performed through emulation, direct device deployment, or the via CLI commands. The cordova emulate <[platform](/page/Platform)> command launches the app in a emulator, such as the Emulator, allowing developers to simulate device behavior without physical hardware. Alternatively, cordova run <[platform](/page/Platform)> deploys the app to a connected device for real-world testing. For web-based testing, developers can add the platform with cordova [platform](/page/Platform) add [browser](/page/Browser) and run cordova run [browser](/page/Browser), which supports live reload via external tools like BrowserSync. These methods integrate with tools for debugging; for , DevTools enables remote inspection of the by connecting via USB and navigating to chrome://inspect in , providing access to console logs, breakpoints, and DOM inspection. Similar Web Inspector tools are available for via . Deployment preparation includes signing the built app for distribution, which follows platform-specific procedures to ensure security and compatibility with app stores. For , signing involves generating a keystore and using CLI flags like --keystore and --storePassword with cordova build android --release, producing a signed APK or App Bundle ready for . On , signing is managed through by configuring provisioning profiles and certificates before archiving the IPA file for submission. These steps ensure the app meets platform signing requirements for installation and updates. To streamline development, hot reloading can be implemented using community plugins or external tools integrated with the Cordova workflow, such as BrowserSync for synchronized updates across emulated or physical devices over a local network during iteration.

Cloud Build Services

Adobe's PhoneGap Build service, launched in September 2012, provided a cloud-based compilation platform for developers to upload , CSS, and code, generating native mobile applications for and without requiring local installation of platform-specific kits (SDKs). This service streamlined the hybrid app development process by handling the packaging and signing of apps remotely, supporting Apache Cordova projects and enabling quick iterations for prototyping. In August 2020, Adobe announced the end of development for PhoneGap and the discontinuation of the PhoneGap Build service effective October 1, 2020, citing a shift in focus toward other mobile development tools. The shutdown impacted developers reliant on the service for cross-platform builds, prompting a migration to alternative solutions, though existing apps built prior to discontinuation continued to function on devices. Following the discontinuation, community-driven alternatives emerged to fill the gap in cloud build capabilities for Apache Cordova. VoltBuilder, introduced as a successor service, offers a subscription-based platform that automates the conversion of web projects into native iOS and Android apps, maintaining compatibility with Cordova plugins and configurations while eliminating the need for local SDK management. For self-hosted options, tools like Jenkins enable continuous integration and continuous deployment (CI/CD) pipelines tailored for Cordova, allowing developers to automate builds on virtual machines or cloud instances without proprietary services. These cloud and remote build services provide key advantages, such as obviating the requirement for multiple platform-specific environments—reducing setup time and costs—and accelerating prototyping by enabling rapid app generation from web code. In contrast to local build processes that demand installed SDKs, remote options facilitate and testing across teams without shared infrastructure. As of , the absence of official cloud build support from the Apache Cordova project or has led to greater reliance on third-party providers like VoltBuilder or custom setups, with developers often weighing factors such as cost, plugin compatibility, and build reliability against the simplicity of local workflows. This shift underscores the community's adaptation to a more fragmented ecosystem, where official endorsement is limited, encouraging evaluation of service uptime and integration with evolving Cordova versions.

Supported Platforms

Mobile Platforms

Apache Cordova provides robust support for major mobile operating systems, enabling developers to build applications that leverage native capabilities through its platform-specific engines. The primary mobile platforms include , , and legacy Windows variants, each with defined minimum version requirements and compatibility levels to ensure reliable deployment and access to device features. For , Cordova supports versions starting from level 24 ( 7.0 ) via the cordova-android engine, which has evolved to version 14.0.0 as of March 2025. This engine requires the installed through , 17 or later, and for building applications. Compatibility extends to the latest releases, including 15 (API level 35), allowing apps to target the current SDK while maintaining for devices running 7.0 and above; developers must update the targetSdkVersion to 35 by August 2025 to comply with Store policies. On , support begins with iOS 13.0 and requires macOS with 15.0 or later for compilation and deployment. The cordova-ios engine, at version 8.x in 2025, integrates with for dependency management and mandates with provisioning profiles to adhere to Apple's guidelines, which enforce the use of the latest for submission. As of late 2025, updates address compatibility with iOS 19, ensuring apps can run on devices from onward while meeting and standards like App Tracking Transparency. Windows mobile support is legacy and focuses on (UWP) targets for , , and through the cordova-windows engine, which was last actively maintained around 2023. Post-2020 updates have been minimal, limiting new feature additions, but existing apps can still be built using and the Windows SDK; this platform is suitable for enterprise or legacy deployments but not recommended for new projects due to Microsoft's shift away from mobile-specific Windows ecosystems. Feature parity across these platforms varies depending on the plugin implementation, as core plugins bridge web code to native . For instance, the geolocation plugin provides full functionality—accessing GPS, , and cell tower data for latitude, longitude, and accuracy—on , , and Windows, though accuracy and permissions handling differ slightly by OS (e.g., requires explicit user consent under location services privacy rules). Plugin adaptations ensure consistent exposure, but developers should verify platform-specific behaviors in the official support matrix.

Desktop and Web Targets

Apache Cordova extends its hybrid app development capabilities beyond mobile platforms to desktop environments through integration with the framework. Introduced in 2019 with the release of Cordova Electron 1.0.0, this platform enables developers to build cross-platform desktop applications for Windows, macOS, and using standard web technologies such as , CSS, and . , which embeds for rendering and for backend functionality, serves as the native container, allowing Cordova apps to run as standalone desktop executables. This integration supports customizable build configurations, including package formats like DMG for macOS, NSIS for Windows, and for Linux, as well as options for window management and signing via configuration files such as config.xml and build.json. For web-based deployment, Cordova provides the Browser platform, which targets modern web browsers to facilitate testing and direct web distribution of hybrid apps. Added to projects via the Cordova CLI command cordova platform add browser, it allows apps to run in a browser environment, simulating the WebView experience while surfacing potential platform incompatibilities early in development. This platform supports Progressive Web App (PWA) features, including automatic generation or use of a manifest.json file for app metadata and compatibility with service workers for offline functionality, enabling deployment as installable web apps without native wrappers. It is particularly useful for rapid prototyping and cross-browser testing before targeting native platforms. Despite these extensions, desktop and web targets in Cordova come with notable limitations, primarily in native device API access compared to mobile environments. On , while many Cordova core plugins are compatible—prioritizing Electron-specific implementations over ones—mobile-centric APIs such as full camera access or are restricted or unavailable, often falling back to simulated behaviors like webcam integration via APIs or omitting -specific features entirely. Apps with native dependencies must be compiled on the target desktop OS, and cross-compilation for formats like Windows Appx is not supported from or macOS. Similarly, the platform offers only partial plugin support, with native APIs limited to those having web fallbacks (e.g., geolocation via permissions), excluding deeper interactions like vibration or full access, which require native containers. These constraints stem from the inherent differences between /Chromium sandboxes and mobile native runtimes, prioritizing web standards over device-specific depth. Common use cases for these targets emphasize , where mobile-first Cordova apps are extended to desktop or web for broader reach without full rewrites. For instance, developers can deploy versions of mobile apps to provide desktop hybrids with enhanced UI scalability and backend access, such as in productivity tools requiring file system integration. On the web, the platform supports PWA-like deployments for scenarios like or content apps, allowing seamless transitions from mobile installs to access with offline caching, thus improving user engagement across devices. This approach is ideal for teams seeking code reuse while adapting to platform-specific strengths, though it requires conditional logic in code to handle varying availability.

Deprecated and Legacy Support

Apache Cordova has deprecated support for several platforms that were once viable targets but have since reached end-of-life status from their respective vendors. These include , which ceased official support on January 4, 2022, following earlier developer program termination in 2016; , discontinued by in January 2017; and , with ending support on July 11, 2017. Core platform support for these in Cordova was removed starting with version 8.0 released in December 2017, which explicitly dropped , , and to streamline development on active ecosystems. Subsequent plugin updates, such as the Camera plugin version 7.0.0 in September 2023, further eliminated compatibility code for these platforms, including and . While official core support ended, some third-party plugins may continue to function unofficially on legacy setups, though this is not recommended due to security and maintenance risks. For projects relying on deprecated platforms, migration involves porting applications to actively supported targets like and , which remain Cordova's primary focus as of 2025. Developers can follow official guides to update configurations and rebuild for modern engines. Alternatively, transitioning to Ionic's framework offers a direct path, with step-by-step instructions for converting Cordova projects by initializing , migrating plugins, and adjusting native code—preserving web assets while leveraging improved native bridging. As of November 2025, version 12.x emphasizes and compatibility, with legacy documentation for deprecated platforms archived in versioned guides on the site, such as the 7.x series covering and older setups.

Features and Capabilities

Native Device API Access

enables web-based applications to access native device and operating system features through a standardized set of plugins that bridge code with platform-specific native s. These plugins allow developers to invoke device capabilities without writing platform-native code, ensuring cross-platform while leveraging the full power of the underlying . The core mechanism relies on the plugin system, which exposes these features as objects in the global namespace. Key native device APIs provided by Cordova include the Camera API for capturing photos and videos, the Geolocation API for retrieving GPS-based location data, and the Contacts API for performing (CRUD) operations on the device's contact database. The Camera API, for instance, supports taking pictures directly from the device's camera or selecting images from the gallery, returning the media as a base64-encoded string or file URI for further processing in the web view. Similarly, the Geolocation API uses the device's GPS, , or cellular data to obtain , , altitude, and accuracy information, enabling location-aware applications. The Contacts API allows querying, creating, and modifying contact entries, including fields like name, numbers, emails, and addresses, with support for searching by specific criteria. Implementation of these occurs through asynchronous method calls that trigger native code execution and return results via success and error callbacks. For example, the Camera API's navigator.camera.getPicture(successCallback, errorCallback, options) method captures or retrieves an , where the successCallback receives the and the options object can specify source type (camera or gallery), quality, and destination format. This asynchronous pattern ensures the web view remains responsive during native operations, with results marshaled back to for seamless integration into the application logic. Geolocation and Contacts APIs follow a comparable structure, using methods like navigator.geolocation.getCurrentPosition() for one-time fetches or navigator.contacts.find() for searches, both employing callbacks to handle asynchronous responses. Access to these native requires proper permission handling to comply with models. Permissions are declared in the application's config.xml file using elements like <uses-permission> for or <key> for , which are automatically merged into the 's manifest or Info.plist during the build process. For sensitive features like camera or access, runtime permission requests are prompted by the when the is first invoked, often managed internally by the plugins to display user consent dialogs. Failure to grant permissions results in error callbacks, allowing applications to gracefully degrade functionality. Additional examples of native API access include the for providing haptic feedback and the for monitoring power levels. The uses navigator.vibrate(milliseconds) or navigator.vibrate(patternArray) to trigger device vibration motors, supporting simple pulses or complex patterns for user notifications. The fires events like batterystatus when the charge level changes, providing details on remaining percentage, charging state, and low-battery thresholds to optimize app behavior. These APIs exemplify Cordova's role in extending technologies to deliver native-like experiences.

Offline Functionality and Storage

Apache Cordova enables hybrid mobile applications to operate in offline environments by leveraging web-based storage mechanisms and plugins that provide persistent local , allowing apps to resources and data for use without network connectivity. This support is inherent to the WebView runtime, which executes , CSS3, and code, including standard browser APIs for local persistence. Applications can thus function in low-connectivity scenarios, such as remote fieldwork, by storing user inputs, media files, or application state locally until synchronization is possible. Key storage options in Cordova include LocalStorage and IndexedDB, which are built-in web APIs accessible without additional plugins. LocalStorage offers simple, synchronous key-value pair storage limited to strings and approximately 5MB per origin, suitable for small datasets like user preferences, though its blocking nature can impact responsiveness on large operations. IndexedDB provides asynchronous, indexed with transactional support, enabling more complex data structures and better performance for larger datasets, but it faces similar quota limits and potential data eviction under memory pressure on platforms like . Both mechanisms ensure data availability offline, with synchronization handled by application logic upon reconnection. For more robust offline storage, Cordova relies on plugins such as the File plugin for filesystem access and plugins for database operations. The File plugin implements a cross-platform for reading, writing, and managing files on the device, supporting directories like temporary, persistent, and application-specific paths, which is ideal for storing media or logs in offline apps. plugins, such as cordova-sqlite-storage, extend this with a interface resembling WebSQL but without size restrictions, allowing efficient querying and storage of structured data for offline use across platforms including Windows. These plugins bridge web code to native storage, ensuring even when the app restarts or the device powers off. To manage transitions between online and offline states, the Network Information plugin detects connectivity changes through events like 'online' and 'offline', as well as properties for connection type (e.g., 'wifi', 'cellular') and metered status. Developers can listen for these events to pause syncing, switch to cached data, or alert users, enabling adaptive behavior in apps like field data collection tools that operate in areas with intermittent coverage. For instance, an agricultural survey app might use IndexedDB to store form submissions offline and trigger uploads via the plugin's events once connectivity returns.

Customization and Extensibility

Apache Cordova provides several mechanisms for developers to customize and extend its functionality to meet specific project requirements, allowing tailoring of the build process, security configurations, user interface appearances, and native integrations beyond the core framework. These features enable fine-grained control over application behavior while maintaining cross-platform compatibility. Hooks are JavaScript scripts that execute at predefined points during Cordova's command-line interface (CLI) operations, such as before or after building, adding platforms, or preparing the application. They facilitate the injection of custom logic, like automated code linting, asset optimization, or environment-specific configurations, without altering the core framework. Hooks can be defined in the project's config.xml file using elements like <hook type="after_platform_add" src="path/to/script.js" />, or placed in the /hooks directory for automatic detection. For instance, the after_platform_add hook runs after a platform is added to the project, enabling tasks such as copying custom files to the platform directory. These scripts receive a context object providing access to CLI options, the Cordova API, and file system utilities, supporting both synchronous and asynchronous operations via Promises. Allow listing serves as a feature to control access to external network resources, preventing unauthorized data exposure in applications. Configured within the config.xml file, it uses elements like <allow-navigation> and <allow-intent> to specify permitted domains, protocols, and subdomains for navigation and handling. For example, <allow-navigation href="https://example.com/*" /> permits navigation to all paths under a specific domain. These rules are enforced by the platform's core implementation on and . This model adheres to the W3C Widget Access specification, allowing developers to restrict access to trusted sources only, such as or CDNs, thereby mitigating risks from malicious external content. Theming in Cordova involves applying platform-specific CSS overrides to ensure the user interface aligns with native design guidelines, such as or . Developers achieve this through the merges directory, which overlays custom files onto platform-specific builds without overwriting the main www assets during preparation. For example, placing a file at merges/ios/css/theme.css with rules like body { font-family: -apple-system; } applies iOS-native only to iOS builds, while a separate merges/android/css/theme.css can define Android-specific styles like larger touch targets. This approach, combined with or detection via the , enables responsive theming that adapts to each platform's conventions. Custom plugins extend Cordova by bridging to native platform APIs not covered by core or community , using a standardized structure of JavaScript interfaces and native implementations. Development begins with a plugin.xml defining the plugin's ID, version, and platform dependencies, followed by a JavaScript file (e.g., src/js/MyPlugin.js) that invokes native code via cordova.exec(successCallback, errorCallback, 'MyPlugin', 'action', [args]). Native templates include for (inheriting from CDVPlugin) and for (extending CordovaPlugin), allowing actions like accessing device sensors or custom hardware. For instance, a simple plugin might pass a string from JavaScript to native code for processing and return the result, demonstrating bidirectional communication. Plugins are packaged as modules for easy installation and distribution.

Limitations and Community

Performance and Security Challenges

Apache Cordova's hybrid architecture, which relies on embedding within a native container, introduces significant performance overhead compared to fully native applications. Rendering web technologies like , CSS, and in the WebView layer results in higher CPU consumption and slower UI responsiveness, particularly during intensive operations such as or complex animations, as the framework must interpret and bridge web code to native hardware access. This overhead often manifests as noticeable lags in UI updates, with Cordova apps exhibiting reduced efficiency on devices like the when benchmarked against native implementations using tools like Jetpack Compose. A key contributor to these performance issues is the JavaScript-to-native bridge used for API calls, which serializes data and introduces latency, especially in scenarios involving frequent interactions with device features like sensors or file systems. This bridging mechanism can multiply delays during complex tasks, leading to bottlenecks that affect overall app fluidity. In 2025, these challenges persist and are compounded by platform-specific restrictions; for instance, on iOS 26, WKWebView imposes stricter sandboxing that prevents local media files (e.g., video or audio) from loading via fileEntry.toURL(), resulting in errors like sandbox extension failures in directories such as tmp, documents, and cache, thereby impacting apps reliant on offline media handling. On the security front, 's exposes vulnerabilities inherent to web technologies, including (XSS) risks where malicious iframes from allowlisted domains can access the bridge, potentially executing arbitrary code or performing unauthorized actions like . A notable example is the universal XSS (UXSS) vulnerability in (CVE-2020-6506), which allows cross-origin iframes to inject into the top-level context, amplifying risks in hybrid apps. Additionally, plugins that grant access to native APIs—such as or camera permissions—create potential entry points for exploitation, as third-party plugins may harbor unpatched flaws or insufficient sandboxing, effectively "drilling holes" in the 's isolation. To mitigate these performance issues, developers can employ techniques like minimizing DOM manipulations and using efficient libraries to reduce rendering overhead, alongside minifying , CSS, and assets to decrease load times and APK/AAB file sizes. For storage-related performance and compatibility, avoiding deprecated WebSQL is essential, as it has been unsupported in iOS WKWebView since and was fully deprecated in Chromium-based browsers by late , recommending alternatives like IndexedDB for better cross-platform reliability. Security mitigations include enforcing for all external communications to leverage modern TLS encryption and prevent man-in-the-middle attacks, with free certificates obtainable via services like . Implementing approximate certificate pinning through trusted plugins helps verify server public keys, though full pinning is limited on ; developers should also restrict iframes and validate third-party plugins rigorously to curb XSS and permission-based risks. For iOS-specific concerns in 2025, configuring schemes like app://localhost can partially address sandbox restrictions, though it may compromise persistent storage like localStorage.

Ecosystem, Contributors, and Alternatives

The Apache Cordova encompasses a wide array of plugins and tools that extend its functionality for hybrid mobile app development. Developers can access thousands of community-contributed plugins via , enabling integration with native device features such as geolocation, camera access, and push notifications through the Cordova Plugin Registry. These plugins are hosted on repositories under the Apache umbrella, fostering collaborative maintenance and updates. Additionally, Cordova integrates seamlessly with popular frontend frameworks, including Ionic for UI components and for reactive web applications, allowing developers to build sophisticated interfaces while leveraging Cordova's cross-platform capabilities. The project is stewarded by the Apache Cordova Project Management Committee (PMC), comprising dedicated committers who oversee development and releases. Key contributors include individuals from , such as Jesse MacFadyen, who has been involved since the PhoneGap origins, alongside inputs from and through platform-specific enhancements and documentation. Active GitHub repositories, like those for core plugins and the CLI tool, demonstrate ongoing , with regular pull requests for bug fixes and compatibility updates as of 2025. Recent activity includes the release of Cordova Android 14.0.0 in March 2025 and a community in January 2025 to discuss future directions. Despite its active maintenance, Apache Cordova's popularity has been fading in favor of more modern alternatives by , particularly for performance-intensive applications. Ionic's emerges as a direct successor, offering improved native access and easier migration paths from Cordova projects via automated tools that preserve existing web codebases. For complex apps requiring native-like performance, frameworks such as (from ) and (from ) are preferred, providing compiled outputs and richer UI toolkits; migration guides recommend refactoring plugins to these platforms' equivalents, often reducing bundle sizes by up to 50% in benchmarks. Industry discussions in highlight Cordova's strengths for simple, web-centric apps where hybrid approaches still deliver cost-effective cross-platform deployment, but emphasize shifting to native hybrids for scalability and demands.

References

  1. [1]
    Apache Cordova
    ### Summary of Apache Cordova
  2. [2]
    Goodbye PhoneGap - Apache Cordova
    Aug 14, 2020 · Adobe recently announced that PhoneGap is shutting down. How is Cordova affected? In short: not much. Rest assured, Apache Cordova is still active and ...
  3. [3]
    Overview - Apache Cordova
    Apache Cordova graduated in October 2012 as a top level project within the Apache Software Foundation (ASF). Through the ASF, future Cordova development ...Missing: history | Show results with:history
  4. [4]
  5. [5]
    An Introduction to Easy Mobile Development with PhoneGap
    Created at iPhoneDevCamp 2008 and winner of the Launch Pad competition at Web 2.0 Expo 2009, PhoneGap is an open source initiative for building mobile ...Missing: origins | Show results with:origins
  6. [6]
    Mobile Application Development: Web vs. Native
    May 1, 2011 · This is the hack that became known as the PhoneGap technique pioneered by Eric Oesterle, Rob Ellis, and Brock Whitten for the first iPhone OS ...Missing: origins | Show results with:origins
  7. [7]
    Introduction | SpringerLink
    The project was born at a hackathon in 2008 at the iPhoneDevCamp, which was later renamed iOSDevCamp. ... Nitobi, located in Vancouver, Canada, further developed ...Missing: origins | Show results with:origins
  8. [8]
    Multi-Platform Mobile Development with PhoneGap - Simple Talk
    Jul 27, 2015 · PhoneGap a.k.a. Cordova. PhoneGap was created by Nitobi in 2009 and since then has captured the hearts of web developers and sellers with its ...
  9. [9]
    The Last Word on Cordova and PhoneGap - Ionic Blog
    Mar 6, 2014 · PhoneGap proper was created around 2009 by a startup called Nitobi as an open source way to access the “native” environment through an ...Missing: initial | Show results with:initial
  10. [10]
    PhoneGap Simplifies iPhone, Android, BlackBerry Development
    Mar 13, 2009 · “With PhoneGap today, just from JavaScript you can get access to geo-location, accelerometer, vibration, access to photos, contacts, offline ...Missing: early | Show results with:early<|control11|><|separator|>
  11. [11]
    PhoneGap - Nitobi
    Nitobi's PhoneGap is an ... features, like the camera, GPS, the accelerometer, local SQLite databases and more, without having to write full applications.Missing: early | Show results with:early
  12. [12]
    Adobe Acquires Developer Of HTML5 Mobile App Framework ...
    Adobe has acquired Nitobi Software, the creator of HTML5 mobile app framework PhoneGap and PhoneGap Build. Financial terms of the deal were not disclosed.
  13. [13]
    PhoneGap to become an Apache project as Adobe acquires Nitobi
    Oct 3, 2011 · Alongside news of the acquisition, Adobe and Nitobi have jointly announced plans to donate the PhoneGap project to the Apache Software ...
  14. [14]
    Nitobi enters into Acquisition Agreement with Adobe
    Oct 3, 2011 · “We are also excited to announce our donation of the PhoneGap code to the Apache Software Foundation,” said Dave Johnson, chief technology ...
  15. [15]
  16. [16]
    Adobe's PhoneGap 2.0 makes building cross-platform apps easier
    Jul 25, 2012 · Adobe donated the underlying PhoneGap code to the Apache Software ... For additional details, you can refer to the official release announcement.
  17. [17]
    Demystifying Apache Cordova and PhoneGap - Telerik.com
    Mar 27, 2013 · The confusion began back in October, 2011 – when what had been known as PhoneGap up to that point was donated to the Apache Software Foundation ...
  18. [18]
    Apache Cordova (originally Callback)
    This page tracks the project status, incubator-wise. For more general project status, look on the project website. The Cordova project graduated on 2012-10-17 ...
  19. [19]
    PhoneGap, Apache Cordova, Sencha Touch, Appcelerator Titanium ...
    Sep 2, 2012 · As part of Nitobi's purchase by Adobe, because the PhoneGap project had many contributors from large companies like IBM etc, the project was ...<|control11|><|separator|>
  20. [20]
  21. [21]
    Apache Cordova 3.0
    Blog RSS Feed. Apache Cordova 3.0. By: Brian LeRoux. 23 Jul 2013. It went live on Friday! Snapshot available on our download page but before ...
  22. [22]
    Tools Release: April 21, 2015 - Apache Cordova
    Apr 21, 2015 · New versions of cordova tools are now live! cordova-lib@5.0 ... The Apache Cordova team is happy to announce a new plugins release...
  23. [23]
    Cordova CLI 10.0.0 Released!
    Aug 4, 2020 · We are happy to announce that we have just released cordova 10.0.0! To upgrade: npm uninstall -g cordova npm install -g cordova@10.0.0
  24. [24]
    iOS Cordova Compatibility
    iPhone 14 Pro Max, Current (18). iPhone 14 Pro, Current (18). iPhone 14 ... As in cordova-ios@6.1.1 supports iOS 14, but also requires you be on cordova@9.1.
  25. [25]
    Cordova CLI 11.0.0 Released!
    Dec 21, 2021 · We are happy to announce that we have just released a major update to our Cordova CLI! In this CLI release, it will also be using the latest internal libraries ...
  26. [26]
    Cordova CLI 12.0.0 & Internal Packages Released!
    May 22, 2023 · We are happy to announce that we have just released a major update to our Cordova CLI! In this CLI release, it also includes the latest internal libraries.
  27. [27]
    Adobe to discontinue PhoneGap development - SD Times
    Aug 12, 2020 · Adobe announced it is ending the development for PhoneGap and PhoneGap Build. ... PhoneGap Build will be discontinued on October 1. In addition, ...
  28. [28]
    Cordova Android 14.0.0 Released!
    Mar 26, 2025 · In this major release, Apache Cordova has opted out of the Edge-to ... Version 2.0. Apache and the Apache feather logos are trademarks ...
  29. [29]
    Cordova Lib 12.0.2 Released!
    Nov 1, 2024 · Cordova Lib 12.0.2 Released! By: Bryan Ellis. 01 Nov 2024. We are excited to announce the release of cordova- ...
  30. [30]
    Architectural overview of Cordova platform
    Apache Cordova is an open-source mobile development framework. It allows you to use standard web technologies - HTML5, CSS3, and JavaScript for cross-platform ...Missing: history | Show results with:history
  31. [31]
    Pros and Cons of Cross-Platform Mobile App Development - InfoQ
    Sep 13, 2016 · Especially for B2B apps, it's possible to have 85-90% code reuse across-platforms with Cordova. The image below which will help to put all ...
  32. [32]
  33. [33]
    Breaking changes coming to the iOS WebView in Apache Cordova
    Aug 1, 2018 · We will aim to release a future Cordova iOS version, which will remove UIWebView support, and WKWebView will then be the default webview engine.Missing: Android | Show results with:Android
  34. [34]
    A tale of a Cordova developer fighting with WebViews on iOS
    Oct 24, 2020 · Cordova app developers had the option to use WKWebView for a long time with the official Apache WKWebView-Engine plugin. This plugin uses ...
  35. [35]
    Android WebViews - Apache Cordova
    This guide shows how to embed a Cordova-enabled WebView component within a larger Android application. For details on how these components can communicate with ...Missing: core | Show results with:core
  36. [36]
    Architectural overview of Cordova platform - Apache Cordova
    ### Summary of Core Components of Apache Cordova
  37. [37]
    Events - Apache Cordova
    The deviceready event fires when Cordova is fully loaded. This event is essential to any application. It signals that Cordova's device APIs have loaded and are ...
  38. [38]
    Config.xml API - Apache Cordova
    ### Summary of `config.xml` in Apache Cordova
  39. [39]
    Create a Plugin - Apache Cordova
    ### Summary of Apache Cordova Plugin System
  40. [40]
    Plugin Search - Apache Cordova
    Below is a list of Apache Cordova core plugins. Each card contains important information about the plugin. The supported platforms are listed below the ...
  41. [41]
    Hooks Guide - Apache Cordova
    Cordova hooks allow you to perform special activities around cordova commands. For example, you may have a custom tool that checks for code formatting in your ...Introduction · Example 1 (cordova Platform... · Script Interface
  42. [42]
    Creating an App - Apache Cordova
    ### Summary of Cordova CLI Guide Sections
  43. [43]
    Creating an App - Apache Cordova
    This guide shows you how to create a JS/HTML Cordova application and deploy them to various native mobile platforms using the cordova command-line interface ( ...Add Platforms · Add Plugins · Using Merges To Customize...Missing: hybrid | Show results with:hybrid
  44. [44]
    Remote debug Android devices | Chrome DevTools
    Apr 13, 2015 · Remote debug live content on an Android device from your Windows, Mac, or Linux computer. This tutorial teaches you how to.
  45. [45]
    Android Platform Guide - Apache Cordova
    ### Summary: Building, Signing, and Deploying Android Apps with Cordova
  46. [46]
    cordova-plugin-livereload - NPM
    Feb 1, 2016 · This plugin's goal is to integrate livereload and gestures synchronization across devices into the Cordova development workflow.Missing: Apache | Show results with:Apache
  47. [47]
    Adobe Launches Hosted PhoneGap Build Service For Creating ...
    Sep 24, 2012 · PhoneGap was created by Nitobi, a company that Adobe acquired almost a year ago. Following the acquisition Adobe released the PhoneGap ...
  48. [48]
  49. [49]
    VoltBuilder | App Builds Made Simple!
    VoltBuilder converts your web projects into native apps for Android and iOS. Get Started 1 Sign up Plans start at $15/month. First 15 days free. Cancel anytime.Plan · Upload your App · News · Support
  50. [50]
    Automating Builds and Workflows for Apache Cordova Projects with ...
    Feb 24, 2024 · There are numerous CI/CD tools available that integrate well with Apache Cordova projects. Popular choices include Jenkins, Travis CI, CircleCI, ...
  51. [51]
    Android Platform Guide - Apache Cordova
    This guide will assist you in setting up your development environment for building Cordova apps on Android devices.Android Plugin Development... · Dev · iOS
  52. [52]
    iOS Platform Guide - Apache Cordova
    This guide shows how to set up your SDK development environment to deploy Cordova apps for iOS devices such as iPhone and iPad.Project Configuration · Deploying To Simulator · Signing An App
  53. [53]
    cordova-iOS 8.0.0 final release? · Issue #1527 - GitHub
    Mar 4, 2025 · Looks like as of May 15 2025 (today) the minimum SDK is now 18 and cordova-ios 7.1.1 does not support 18. So no new ios apps made with Cordova ...
  54. [54]
    [DEPRECATED] Apache Cordova Windows - GitHub
    Jan 9, 2023 · This repo contains the code for an Apache Cordova platform that allows you to build applications that target Windows 10, and Windows 8.1, as well as Windows ...<|separator|>
  55. [55]
    Platform Support - Apache Cordova
    Platform Support. The table below provides a comprehensive overview of the supported development platforms, core plugins, and features for each platform.
  56. [56]
    cordova-plugin-geolocation
    This plugin provides information about the device's location, such as latitude and longitude. Common sources of location information include Global Positioning ...See Where You Are On A Map · Find Stores Near You · See Pictures Of Things...Missing: parity mobile
  57. [57]
    Cordova Electron 1.0.0 Released!
    Feb 28, 2019 · We are happy to announce that we have just released Cordova Electron 1.0.0! This is one of Cordova's newest supported platforms for building Electron ...Missing: initial date
  58. [58]
    Electron Platform Guide - Apache Cordova
    ### Summary of Electron Integration with Apache Cordova
  59. [59]
    apache/cordova-browser - GitHub
    Cordova Browser. Target modern web browsers to build Apache Cordova based applications. Goals. Browser targeted deployment; Surfacing native platform ...
  60. [60]
    Electron Platform Guide - Apache Cordova
    Electron Platform Guide. Electron is a framework that uses web technologies (HTML, CSS, and JS) to build cross-platform desktop applications.Build Configurations · Customizing Build... · Signing Configurations
  61. [61]
    Flutter vs Apache Cordova: Developer Experience - Waverley
    Rating 4.5 (23) Aug 17, 2023 · ... web view component which is present on every platform. However, desktop platforms do not have full support of Cordova native plugins.
  62. [62]
    Cross-Platform development with Cordova and Electron - Medium
    May 30, 2019 · Apache Cordova Now Supports Electron. On 28th of February 2019 ... release of the Cordova Electron platform that supports Electron v4.
  63. [63]
    BlackBerry 10 and BlackBerry OS Services FAQ — End of Life
    Sep 9, 2020 · ... BlackBerry 10 software, BlackBerry PlayBook OS 2.1 and earlier versions, with an end of life or termination date of January 4, 2022. As of this ...
  64. [64]
    Whatever Happened to Firefox OS, Mozilla's Android Alternative?
    Jun 8, 2025 · Firefox OS was officially discontinued in January 2017, but it continued on in the form of separate projects based on Firefox OS code. The most ...<|separator|>
  65. [65]
    Support for Windows Phone 8.1 has ended - Microsoft Lifecycle
    Aug 1, 2017 · Microsoft ended support for Windows Phone 8.1 on July 11, 2017. Windows Phone 8.1 users are no longer eligible to receive new security ...
  66. [66]
    Plugins Release - Apache Cordova
    Dec 20, 2017 · In the recent cordova@8 tools release, we dropped support for deprecated platforms (Ubuntu, BlackBerry10, Windows Phone 8, FirefoxOS). The ...
  67. [67]
    Camera 7.0.0, Media 7.0.0 & File-Transfer 2.0.0 Released!
    Sep 12, 2023 · Removed Deprecated Platforms. As the Cordova Windows/WP8, OSX, Amazon Fire OS, Blackberry 10, Windows Phone & Firefox OS platform has been ...
  68. [68]
    None
    Nothing is retrieved...<|control11|><|separator|>
  69. [69]
    Migrating a Web App Using Cordova to Capacitor
    There are several steps required to fully migrate a web app using Cordova over to Capacitor. It's recommended to work in a separate code branch when applying ...
  70. [70]
    BlackBerry 10 Platform Guide - Apache Cordova
    This guide shows how to set up your SDK environment to deploy Cordova apps for BlackBerry 10 devices.Requirements · Deploy To Emulator · Deploy To Device
  71. [71]
    Android Platform Guide - Apache Cordova
    ### Summary of Android Support and Requirements for Apache Cordova (as of 2025)
  72. [72]
    Data Storage - Apache Cordova
    Each API offers advantages and disadvantages, which are summarized here. You should choose whichever best suits your needs. You can also use several ...Localstorage · Indexeddb · Plugin-Based Options
  73. [73]
    Whitelist Guide - Apache Cordova
    Whitelist Guide. Domain whitelisting is a security model that controls access to external domains over which your application has no control.
  74. [74]
    cordova-plugin-whitelist
    This plugin implements a whitelist policy for navigating the application webview on Cordova 4.0. Installation You can install whitelist plugin with Cordova CLI.Installation · Navigation Whitelist · Intent Whitelist
  75. [75]
    Creating an App - Apache Cordova
    This guide shows you how to create a JS/HTML Cordova application and deploy them to various native mobile platforms using the cordova command-line interface ( ...Creating The Cordova Project... · Add Plugins · Using Merges To Customize...
  76. [76]
    Create a Plugin - Apache Cordova
    A Cordova plugin is a package that enables the Cordova apps to access native device features and functionality that is ordinarily unavailable to web-based apps.Creating An Npm Package · Updating The Npm Package For... · Adding Engine Requirements
  77. [77]
    [PDF] Comparative Functional and Performance Analysis of Apache ...
    Apr 24, 2024 · ○ Device API Access: Native tools provide direct and efficient access to device-specific APIs, allowing deeper integration and use of ...<|control11|><|separator|>
  78. [78]
    iOS 26 Media elements fail to load/play local files. #1564 - GitHub
    Sep 25, 2025 · Memory constraints (WKWebView has strict limits on real devices vs simulators); All Cordova file plugin directories (tmp, cache, documents, ...
  79. [79]
    Manage App's Security - Apache Cordova
    ### Security Challenges and Vulnerabilities in Cordova Apps
  80. [80]
    Security Advisory CVE-2020-6506 - Apache Cordova
    Sep 29, 2020 · This vulnerability is a universal cross-site scripting (UXSS) vulnerability in Android WebView which allows cross-origin iframes to execute arbitrary ...Missing: permissions | Show results with:permissions
  81. [81]
    How to optimize performance in Cordova? - Tencent Cloud
    Feb 24, 2025 · Here are some key approaches: Minimize DOM Manipulations: Frequent updates to the DOM can slow down your app. Use efficient JavaScript libraries for DOM ...
  82. [82]
    Is webSQL really deprecated in iOS 14 and will be unusable? #970
    Aug 20, 2020 · WebSQL has been a deprecated web standard since 2010. On iOS, WKWebView does not support WebSQL as of iOS 13. UIWebView (which is also deprecated and will not ...
  83. [83]
    Team - Apache Cordova
    Has first learned about Cordova in 2012 and has since been involved in hybrid app and plugin development and support. Joined PMC in 2018 and assists with ...
  84. [84]
    Best Apache Cordova Alternatives: CTO's Migration Guide 2025
    Sep 5, 2025 · Based on our rigorous research, we can now highlight several platforms that can be perfect alternatives for Cordova in 2025, including Flutter, React Native, ...
  85. [85]
    Best Apache Cordova Alternatives in 2025: A CTO's Migration Guide
    Apr 23, 2025 · Easier updates without resubmission delays. PWAs won't fit every Cordova migration, especially those requiring deep native integrations.
  86. [86]
    Why you should migrate from Cordova? [UPDATE 2025] - Blog
    Rating 4.7 (17) Dec 5, 2024 · Migration from Cordova: Learn why Cordova is fading, the rise of Flutter, and tips for a smooth transition in your mobile app project.