Get Advice Icon

Need advice about which tool to choose?Ask the StackShare community!

Meteor
Meteor

1.4K
1.2K
+ 1
1.7K
PhoneGap
PhoneGap

428
336
+ 1
90
Add tool

Meteor vs PhoneGap: What are the differences?

Meteor: An ultra-simple, database-everywhere, data-on-the-wire, pure-Javascript web framework. A Meteor application is a mix of JavaScript that runs inside a client web browser, JavaScript that runs on the Meteor server inside a Node.js container, and all the supporting HTML fragments, CSS rules, and static assets; PhoneGap: Easilily create mobile apps using HTML, CSS, and JavaScript. PhoneGap is a web platform that exposes native mobile device apis and data to JavaScript. PhoneGap is a distribution of Apache Cordova. PhoneGap allows you to use standard web technologies such as HTML5, CSS3, and JavaScript for cross-platform development, avoiding each mobile platforms' native development language. Applications execute within wrappers targeted to each platform, and rely on standards-compliant API bindings to access each device's sensors, data, and network status.

Meteor can be classified as a tool in the "Frameworks (Full Stack)" category, while PhoneGap is grouped under "Cross-Platform Mobile Development".

Some of the features offered by Meteor are:

  • Pure JavaScript
  • Live page updates
  • Clean, powerful data synchronization

On the other hand, PhoneGap provides the following key features:

  • Android
  • Blackberry
  • iOS

"Real-time" is the primary reason why developers consider Meteor over the competitors, whereas "Javascript" was stated as the key factor in picking PhoneGap.

Meteor and PhoneGap are both open source tools. It seems that Meteor with 41.1K GitHub stars and 5.03K forks on GitHub has more adoption than PhoneGap with 4.15K GitHub stars and 974 GitHub forks.

Meteor, Glympse, and Enfluence.io are some of the popular companies that use Meteor, whereas PhoneGap is used by WebbyLab, Binary.com, and Infoshare. Meteor has a broader approval, being mentioned in 195 company stacks & 152 developers stacks; compared to PhoneGap, which is listed in 86 company stacks and 34 developer stacks.

What is Meteor?

A Meteor application is a mix of JavaScript that runs inside a client web browser, JavaScript that runs on the Meteor server inside a Node.js container, and all the supporting HTML fragments, CSS rules, and static assets.

What is PhoneGap?

PhoneGap is a web platform that exposes native mobile device apis and data to JavaScript. PhoneGap is a distribution of Apache Cordova. PhoneGap allows you to use standard web technologies such as HTML5, CSS3, and JavaScript for cross-platform development, avoiding each mobile platforms' native development language. Applications execute within wrappers targeted to each platform, and rely on standards-compliant API bindings to access each device's sensors, data, and network status.
Get Advice Icon

Need advice about which tool to choose?Ask the StackShare community!

Why do developers choose Meteor?
Why do developers choose PhoneGap?

Sign up to add, upvote and see more prosMake informed product decisions

What companies use Meteor?
What companies use PhoneGap?

Sign up to get full access to all the companiesMake informed product decisions

What tools integrate with Meteor?
What tools integrate with PhoneGap?

Sign up to get full access to all the tool integrationsMake informed product decisions

What are some alternatives to Meteor and PhoneGap?
React
Lots of people use React as the V in MVC. Since React makes no assumptions about the rest of your technology stack, it's easy to try it out on a small feature in an existing project.
Angular 2
Angular is a development platform for building mobile and desktop web applications.
Node.js
Node.js uses an event-driven, non-blocking I/O model that makes it lightweight and efficient, perfect for data-intensive real-time applications that run across distributed devices.
ASP.NET
.NET is a developer platform made up of tools, programming languages, and libraries for building many different types of applications.
Rails
Rails is a web-application framework that includes everything needed to create database-backed web applications according to the Model-View-Controller (MVC) pattern.
See all alternatives
Decisions about Meteor and PhoneGap
Sezgi Ulu莽am
Sezgi Ulu莽am
Sr. Software Engineer at StackShare | 6 upvotes 56.5K views
Flutter
Flutter
React Native
React Native
PhoneGap
PhoneGap
Apache Cordova
Apache Cordova
#NativeApps
#MobileFrameworks
#JavaScript

For a front end dev like me, using a mobile framework for side projects makes more sense than writing a native app. I had used Apache Cordova (formerly PhoneGap) before (because React Native didn't exist yet), and was happy with it. But once React Native came out, it made more sense to go that way instead. It's more efficient and smooth, since it doesn't have the simulation overhead, and has more access to hardware features. It feels cleaner since you don't need to deal with #WebView, using native UI widgets directly. I also considered Flutter . It looks promising, but is relatively new to the game, and React Native seems more stable for now.

MobileFrameworks #JavaScript NativeApps

See more
Jonathan Pugh
Jonathan Pugh
Software Engineer / Project Manager / Technical Architect | 18 upvotes 181.8K views
Pouchdb
Pouchdb
CouchDB
CouchDB
Font Awesome
Font Awesome
CSS 3
CSS 3
Apache Cordova
Apache Cordova
PhoneGap
PhoneGap
HTML5
HTML5
Ruby
Ruby
Babel
Babel
Webpack
Webpack
Visual Studio Code
Visual Studio Code
Figma
Figma
TypeScript
TypeScript
JavaScript
JavaScript
Framework7
Framework7
#Css
#CSS3
#SCSS
#Sass
#Less
#Electron
#HandleBars
#Template7
#Sketch
#GraphQL
#HTML5
#GraphCool

I needed to choose a full stack of tools for cross platform mobile application design & development. After much research and trying different tools, these are what I came up with that work for me today:

For the client coding I chose Framework7 because of its performance, easy learning curve, and very well designed, beautiful UI widgets. I think it's perfect for solo development or small teams. I didn't like React Native. It felt heavy to me and rigid. Framework7 allows the use of #CSS3, which I think is the best technology to come out of the #WWW movement. No other tech has been able to allow designers and developers to develop such flexible, high performance, customisable user interface elements that are highly responsive and hardware accelerated before. Now #CSS3 includes variables and flexboxes it is truly a powerful language and there is no longer a need for preprocessors such as #SCSS / #Sass / #less. React Native contains a very limited interpretation of #CSS3 which I found very frustrating after using #CSS3 for some years already and knowing its powerful features. The other very nice feature of Framework7 is that you can even build for the browser if you want your app to be available for desktop web browsers. The latest release also includes the ability to build for #Electron so you can have MacOS, Windows and Linux desktop apps. This is not possible with React Native yet.

Framework7 runs on top of Apache Cordova. Cordova and webviews have been slated as being slow in the past. Having a game developer background I found the tweeks to make it run as smooth as silk. One of those tweeks is to use WKWebView. Another important one was using srcset on images.

I use #Template7 for the for the templating system which is a no-nonsense mobile-centric #HandleBars style extensible templating system. It's easy to write custom helpers for, is fast and has a small footprint. I'm not forced into a new paradigm or learning some new syntax. It operates with standard JavaScript, HTML5 and CSS 3. It's written by the developer of Framework7 and so dovetails with it as expected.

I configured TypeScript to work with the latest version of Framework7. I consider TypeScript to be one of the best creations to come out of Microsoft in some time. They must have an amazing team working on it. It's very powerful and flexible. It helps you catch a lot of bugs and also provides code completion in supporting IDEs. So for my IDE I use Visual Studio Code which is a blazingly fast and silky smooth editor that integrates seamlessly with TypeScript for the ultimate type checking setup (both products are produced by Microsoft).

I use Webpack and Babel to compile the JavaScript. TypeScript can compile to JavaScript directly but Babel offers a few more options and polyfills so you can use the latest (and even prerelease) JavaScript features today and compile to be backwards compatible with virtually any browser. My favorite recent addition is "optional chaining" which greatly simplifies and increases readability of a number of sections of my code dealing with getting and setting data in nested objects.

I use some Ruby scripts to process images with ImageMagick and pngquant to optimise for size and even auto insert responsive image code into the HTML5. Ruby is the ultimate cross platform scripting language. Even as your scripts become large, Ruby allows you to refactor your code easily and make it Object Oriented if necessary. I find it the quickest and easiest way to maintain certain aspects of my build process.

For the user interface design and prototyping I use Figma. Figma has an almost identical user interface to #Sketch but has the added advantage of being cross platform (MacOS and Windows). Its real-time collaboration features are outstanding and I use them a often as I work mostly on remote projects. Clients can collaborate in real-time and see changes I make as I make them. The clickable prototyping features in Figma are also very well designed and mean I can send clickable prototypes to clients to try user interface updates as they are made and get immediate feedback. I'm currently also evaluating the latest version of #AdobeXD as an alternative to Figma as it has the very cool auto-animate feature. It doesn't have real-time collaboration yet, but I heard it is proposed for 2019.

For the UI icons I use Font Awesome Pro. They have the largest selection and best looking icons you can find on the internet with several variations in styles so you can find most of the icons you want for standard projects.

For the backend I was using the #GraphCool Framework. As I later found out, #GraphQL still has some way to go in order to provide the full power of a mature graph query language so later in my project I ripped out #GraphCool and replaced it with CouchDB and Pouchdb. Primarily so I could provide good offline app support. CouchDB with Pouchdb is very flexible and efficient combination and overcomes some of the restrictions I found in #GraphQL and hence #GraphCool also. The most impressive and important feature of CouchDB is its replication. You can configure it in various ways for backups, fault tolerance, caching or conditional merging of databases. CouchDB and Pouchdb even supports storing, retrieving and serving binary or image data or other mime types. This removes a level of complexity usually present in database implementations where binary or image data is usually referenced through an #HTML5 link. With CouchDB and Pouchdb apps can operate offline and sync later, very efficiently, when the network connection is good.

I use PhoneGap when testing the app. It auto-reloads your app when its code is changed and you can also install it on Android phones to preview your app instantly. iOS is a bit more tricky cause of Apple's policies so it's not available on the App Store, but you can build it and install it yourself to your device.

So that's my latest mobile stack. What tools do you use? Have you tried these ones?

See more
Node.js
Node.js
Meteor
Meteor

Mixmax was originally built using Meteor as a single monolithic app. As more users began to onboard, we started noticing scaling issues, and so we broke out our first microservice: our Compose service, for writing emails and Sequences, was born as a Node.js service. Soon after that, we broke out all recipient searching and storage functionality to another Node.js microservice, our Contacts service. This practice of breaking out microservices in order to help our system more appropriately scale, by being more explicit about each microservice鈥檚 responsibilities, continued as we broke out numerous more microservices.

See more
AWS Elastic Beanstalk
AWS Elastic Beanstalk
AWS Elastic Load Balancing (ELB)
AWS Elastic Load Balancing (ELB)
nginx
nginx
Go
Go
Amazon EC2
Amazon EC2
Node.js
Node.js
Meteor
Meteor
Mixmax
Mixmax

As Mixmax began to scale super quickly, with more and more customers joining the platform, we started to see that the Meteor app was still having a lot of trouble scaling due to how it tried to provide its reactivity layer. To be honest, this led to a brutal summer of playing Galaxy container whack-a-mole as containers would saturate their CPU and become unresponsive. I鈥檒l never forget hacking away at building a new microservice to relieve the load on the system so that we鈥檇 stop getting paged every 30-40 minutes. Luckily, we鈥檝e never had to do that again! After stabilizing the system, we had to build out two more microservices to provide the necessary reactivity and authentication layers as we rebuilt our Meteor app from the ground up in Node.js. This also had the added benefit of being able to deploy the entire application in the same AWS VPCs. Thankfully, AWS had also released their ALB product so that we didn鈥檛 have to build and maintain our own websocket layer in Amazon EC2. All of our microservices, except for one special Go one, are now in Node with an nginx frontend on each instance, all behind AWS Elastic Load Balancing (ELB) or ALBs running in AWS Elastic Beanstalk.

See more
Interest over time
Reviews of Meteor and PhoneGap
Avatar of MichelFloyd
Founder at cloak.ly
Review ofMeteorMeteor

I discovered Meteor thanks to my daughter who used it for a project at MIT. I was amazed at how much she had built in such a short time. I had also been trying to figure out how to build a browser-based crypto app so I jumped into Meteor and had an MVP for cloak.ly in a few short months starting from nothing. Learning Meteor really alters what you perceive as easy and difficult in full-stack development. It has an amazing ability to simplify your thinking and your code. Community support in terms of packages is outstanding as well which saves tremendous time. The quality of the software is outstanding with very few regressions cropping up during their frequent releases.

Being at the bleeding edge of the js community does have its downsides however. While early Meteor (with Blaze/handlebars templates) was exceedingly simple, Meteor have had to introduce support for both angular and react. In combination with the move to ECMAscript this has resulted in a lot of work for developers to just keep up with the evolution of the platform. Someone who was an expert 6 months ago might quickly find themselves being a newb again. If you're someone who doesn't like change you may want to stick to jQuery.

Living in the bay area I have the luxury of being able to attend Meteor events frequently. Having met many members of the MDG team, I have tremendous confidence in the future of the platform. This is a very solid group with a rare combination of broad vision and excellent execution.

Review ofMeteorMeteor

Meteor is my favorite framework. It makes everything fun. Syncing data across devices is really easy and you don't have to mess around with sockets at all. You can insert data into the database on the client. There's tons of security options. There's over 3000 packages on the packaging system. Instant iOS and Android apps. Amazing, reactive routing. Free hosting. Easy deployment with Meteor Up. What's not to like?

Review ofMeteorMeteor

Meteor is so powerful and flexible. I love it. In the near future, it will be the top-used framework.

Review ofMeteorMeteor

We have gone "all in" on Meteor and I recommend you do to.

How developers use Meteor and PhoneGap
Avatar of cloak.ly
cloak.ly uses MeteorMeteor

Without Meteor cloak.ly could not have been built as quickly by such a small team. Meteor was instrumental to getting an MVP up quickly and dealing with the complexities of browser-based encryption.

Avatar of ShareThis
ShareThis uses MeteorMeteor

Built on Node.js, Meteor's real time reactivity and its wide package ecosystem allows us to quickly prototype and build apps in a lean way

Avatar of Trading Log
Trading Log uses PhoneGapPhoneGap

We used phonegap best practices to compile and deploy our hybrid to android and ios markets.

Avatar of William Baker
William Baker uses PhoneGapPhoneGap

To release the JavaScript game Whack-A-Mol http://www.ethertear.com/apps.html

Avatar of Giftstarter
Giftstarter uses MeteorMeteor

We would like to make magic with Meteor for the future of GiftStarter.

Avatar of Hooked
Hooked uses MeteorMeteor

Hooked is built with Meteor as the primary application framework.

Avatar of Smileupps
Smileupps uses PhoneGapPhoneGap

to let web apps benefit of native device features

Avatar of IVS
IVS uses MeteorMeteor

Typical buzz tech. Nothing practical in here.

Avatar of Eyal El.
Eyal El. uses PhoneGapPhoneGap

Our Apps are wrapped with PhoneGap 7 & 8

How much does Meteor cost?
How much does PhoneGap cost?
Pricing unavailable
Pricing unavailable
News about PhoneGap
More news