StackShareStackShare
Follow on
StackShare

Discover and share technology stacks from companies around the world.

Follow on

© 2025 StackShare. All rights reserved.

Product

  • Stacks
  • Tools
  • Feed

Company

  • About
  • Contact

Legal

  • Privacy Policy
  • Terms of Service
  1. Stackups
  2. Application & Data
  3. Frameworks
  4. Cross Platform Mobile Development
  5. Apache Cordova vs Mithril

Apache Cordova vs Mithril

OverviewDecisionsComparisonAlternatives

Overview

Apache Cordova
Apache Cordova
Stacks686
Followers892
Votes218
GitHub Stars955
Forks345
Mithril
Mithril
Stacks89
Followers79
Votes86

Apache Cordova vs Mithril: What are the differences?

<Apache Cordova vs Mithril>

1. **Architecture**: Apache Cordova is a platform for building native mobile applications using web technologies, while Mithril is a modern client-side JavaScript framework for building single-page applications.
2. **Build Tools**: Apache Cordova requires additional build tools and setup for compiling and packaging mobile applications for different platforms, whereas Mithril provides a more streamlined development experience with built-in tools for creating SPAs.
3. **Community Support**: Apache Cordova has a larger and more established community with extensive documentation and plugins available for integrating native device functionalities, while Mithril has a smaller but active community that focuses on maintaining the framework with regular updates and improvements.
4. **Performance**: Mithril is known for its lightweight and efficient virtual DOM implementation, resulting in fast rendering and updates, whereas Apache Cordova can sometimes suffer from performance issues due to the overhead of bridging web code with native APIs.
5. **Learning Curve**: Mithril has a steeper learning curve compared to Apache Cordova, especially for developers new to functional programming paradigms and virtual DOM concepts, while Apache Cordova offers a more familiar development approach for web developers transitioning to mobile app development.
6. **Supported Platforms**: Apache Cordova supports a wide range of mobile platforms including iOS, Android, and Windows Phone, as well as desktop platforms like Windows, macOS, and Linux, while Mithril primarily focuses on web browsers and does not offer built-in support for native mobile platforms.

In Summary, Apache Cordova and Mithril differ in their architecture, build tools, community support, performance, learning curve, and supported platforms, catering to different needs in mobile and web application development. 

Share your Stack

Help developers discover the tools you use. Get visibility for your team's tech choices and contribute to the community's knowledge.

View Docs
CLI (Node.js)
or
Manual

Advice on Apache Cordova, Mithril

Aleksandr
Aleksandr

Contract Software Engineer - Microsoft at Microsoft-365

Dec 23, 2019

Review

What is Proguard?

ProGuard is the most popular optimizer for Java bytecode. It makes your Java and Android applications up to 90% smaller and up to 20% faster. ProGuard also provides minimal protection against reverse engineering by obfuscating the names of classes, fields and methods.

How to use it in Cordova app?

I didn't find any plugins for it. So I've implemented it by myself and shared it on GitHub.

Feel free to use!

119k views119k
Comments
Aleksandr
Aleksandr

Contract Software Engineer - Microsoft at Microsoft-365

Dec 23, 2019

Needs advice

I've done some Hybrid Mobile apps with both technologies Apache Cordova and React Native and described my experience in my blog.

In a few words, I would suggest to use each technology in accordance what what is your current code base and what do you want to achieve.

React Native is a great option if you need that extra edge in performance with multi-threading and native UI rendering. Or you already have a web app based on React which you want to port to mobile.

On the other hand, if you have an existing web application code and you want to reuse some or all, including the ability to use web third-party libraries, then Cordova is the best option.

429k views429k
Comments

Detailed Comparison

Apache Cordova
Apache Cordova
Mithril
Mithril

Apache Cordova is a set of device APIs that allow a mobile app developer to access native device function such as the camera or accelerometer from JavaScript. Combined with a UI framework such as jQuery Mobile or Dojo Mobile or Sencha Touch, this allows a smartphone app to be developed with just HTML, CSS, and JavaScript.

Mithril is around 12kb gzipped thanks to its small, focused, API. It provides a templating engine with a virtual DOM diff implementation for performant rendering, utilities for high-level modelling via functional composition, as well as support for routing and componentization.

Cross-platform (CLI) workflow;Platform-centered workflow;Hundreds of plugins
Only 12kb gzipped, no dependencies;Small API, small learning curve;Safe-by-default templates;Hierarchical MVC via components;Virtual DOM diffing and compilable templates;Intelligent auto-redrawing system
Statistics
GitHub Stars
955
GitHub Stars
-
GitHub Forks
345
GitHub Forks
-
Stacks
686
Stacks
89
Followers
892
Followers
79
Votes
218
Votes
86
Pros & Cons
Pros
  • 48
    Lots of plugins
  • 35
    JavaScript
  • 26
    Great community
  • 25
    Easy Development
  • 18
    Easy to learn
Cons
  • 2
    No native performance
  • 1
    Hard to install
  • 0
    Hard to install
Pros
  • 16
    Lightweight
  • 12
    Faster than React
  • 10
    Virtual Dom
  • 10
    Pure JavaScript
  • 8
    Robust
Cons
  • 1
    Virtual Dom
Integrations
No integrations available
TypeScript
TypeScript
JavaScript
JavaScript

What are some alternatives to Apache Cordova, Mithril?

AngularJS

AngularJS

AngularJS lets you write client-side web applications as if you had a smarter browser. It lets you use good old HTML (or HAML, Jade and friends!) as your template language and lets you extend HTML’s syntax to express your application’s components clearly and succinctly. It automatically synchronizes data from your UI (view) with your JavaScript objects (model) through 2-way data binding.

Ionic

Ionic

Free and open source, Ionic offers a library of mobile and desktop-optimized HTML, CSS and JS components for building highly interactive apps. Use with Angular, React, Vue, or plain JavaScript.

Vue.js

Vue.js

It is a library for building interactive web interfaces. It provides data-reactive components with a simple and flexible API.

Flutter

Flutter

Flutter is a mobile app SDK to help developers and designers build modern mobile apps for iOS and Android.

React Native

React Native

React Native enables you to build world-class application experiences on native platforms using a consistent developer experience based on JavaScript and React. The focus of React Native is on developer efficiency across all the platforms you care about - learn once, write anywhere. Facebook uses React Native in multiple production apps and will continue investing in React Native.

Xamarin

Xamarin

Xamarin’s Mono-based products enable .NET developers to use their existing code, libraries and tools (including Visual Studio*), as well as skills in .NET and the C# programming language, to create mobile applications for the industry’s most widely-used mobile devices, including Android-based smartphones and tablets, iPhone, iPad and iPod Touch.

Ember.js

Ember.js

A JavaScript framework that does all of the heavy lifting that you'd normally have to do by hand. There are tasks that are common to every web app; It does those things for you, so you can focus on building killer features and UI.

Backbone.js

Backbone.js

Backbone supplies structure to JavaScript-heavy applications by providing models key-value binding and custom events, collections with a rich API of enumerable functions, views with declarative event handling, and connects it all to your existing application over a RESTful JSON interface.

NativeScript

NativeScript

NativeScript enables developers to build native apps for iOS, Android and Windows Universal while sharing the application code across the platforms. When building the application UI, developers use our libraries, which abstract the differences between the native platforms.

Angular

Angular

It is a TypeScript-based open-source web application framework. It is a development platform for building mobile and desktop web applications.

Related Comparisons

Bootstrap
Materialize

Bootstrap vs Materialize

Laravel
Django

Django vs Laravel vs Node.js

Bootstrap
Foundation

Bootstrap vs Foundation vs Material UI

Node.js
Spring Boot

Node.js vs Spring-Boot

Liquibase
Flyway

Flyway vs Liquibase