Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

When is it better not to use Phonegap? [closed]

I am planning to develop an mobile app (my first one) for multiple operation systems (including Android, IOS, WindowsPhone) - in the wild internet I found a framework called phonegap, as a possibility solution to minimize the development process. I understand the advantages phonegap has - but could not find real downsides... 1.) So the question is why should I not use phonegap?

2.) Is phonegap only slower, because it is wrapped inside the OS, if yes how much slower? I mean can you really tell the differentce between a native app and phonegap, or is only slower when you need hardware acceleration e.g. for gaming?

A few more informations about the project. Currently I have several '.Net' services and provider, communicating via WCF. The App should be able to receive and send video streams and audio data from and to a service, such as a provider would do.

3.) Is it possible to use phonegap for that, or shall I stick to native apps?

like image 241
Mathias Avatar asked Aug 06 '12 13:08

Mathias


People also ask

What are the limitations of PhoneGap?

PhoneGap APIs are built using JavaScript which is not multi-threaded and hence do not support background processing. Access advanced native functionality: A number of native APIs are not yet supported by PhoneGap's APIs. Complex Business Logic: A number of applications such as enterprise applications are quite complex.

Why was PhoneGap discontinued?

Since 2008, the industry and market has evolved and PhoneGap usage has declined. “In the context of these developments and declining PhoneGap usage, Adobe is focusing on providing a platform that enables developers to build, extend, customize and integrate with Adobe products,” the company wrote in a post.

Can you still use PhoneGap?

As a result, Adobe stopped development for PhoneGap and its support for Apache Cordova. However, to give their customers a chance to migrate from Adobe PhoneGap to other alternatives, they will keep PhoneGap Build active until October 1st, 2020.


1 Answers

All cross-platform frameworks (including HTML) generally share the same advantages and disadvantages.

Advantages:

  • Write code once that works the same on every target platform.

Disadvantages:

  • The way it works is often not that wonderful.
  • Generally lower performance than native implementations.
  • Some also have their own widget set that looks out of place.
  • Due to individual platform quirks, you still have to test everywhere.
  • You get lowest-common-denominator access to features. When a native feature is supported, often you can only access it in one way: the portable framework's way. This is sometimes at odds with the target platform's preferred way.
  • In the event that you may access features unique to a target platform, you lose run-everywhere portability.
  • Every so-called "cross-platform" framework is a platform in its own right. See earlier point about quirks: Now, instead of having to know N platforms, you have to know N+1.

For best results targeting multiple platforms, I recommend the following:

Design your core logic (the part that doesn't use any UI) cleanly, with a well-defined API. Make it general enough to be fairly easily ported between environments. (Is SQLite really that different in Objective C vs. Java?)

Design your UI following the best practices of your target platforms so that it looks great (and fits in) on each one. (For Android, see http://developer.android.com/design) Have the UI interact with the core logic via the API you created.

like image 178
Sparky Avatar answered Oct 08 '22 16:10

Sparky