3

With all the development in the Hybrid apps field the lasts couple of years (like Ionic and ngCordova) I was wondering: What can you do with native apps that you can't do with hybrid apps?

I know that there are some native features that are exclusive for a single operating system like Multipeer Connectivity on iOS.

Could someone provide a list of features that are exclusive to Android and iOS or maybe a Android vs iOS vs Ionic feature comparison?

0x1ad2
  • 8,014
  • 9
  • 35
  • 48
  • I don't think you could specify a list. Cordova plugins are developped every day. Same for native features. What you should do (if you wanna develop an application), is look at what you can do with cordova (or other FW) and see if it's enough. – Guillaume Munsch Jun 11 '15 at 10:01
  • Are there features that are used in native applications often that you can't use in hybrid applications? – 0x1ad2 Jun 11 '15 at 10:17
  • Hmmm, i don't think so. They are just different ways to do them. (At least, in my experience) – Guillaume Munsch Jun 11 '15 at 10:22
  • maybe persistence... I am not an expert in the hybrid apps world, but I would guess that they potentially have a hard time to include a database in their apps?! – nburk Jun 11 '15 at 10:41
  • IMO, everything is feasable in hybrid as all cordova plugins are, indeed, NATIVE scripts called. There is no limit of the capabilities of HYBRID apps – aorfevre Jun 11 '15 at 11:29
  • @nburk: databases are no issue, look at CouchDB and PouchDB – Mark Veenstra Jun 11 '15 at 13:00
  • cool, didn't know that this was possible yet – nburk Jun 11 '15 at 13:07
  • even SQLite is available via cordova sqlite plugin – aorfevre Jun 11 '15 at 13:43
  • I believe Rich Text Editor is a issue in hybrid apps, you can't delete an image inside a contenteditable div using the softkeyboard backspace when the app is running in a real phone (no problems with emulators), that means you cannot develop 'Whatsapp' like chat apps that a message may contain images. – Kenneth Li Jun 11 '15 at 19:24
  • @aorfevre Everything is not possible. I wish it was (see my answer). – Wernight Jul 16 '15 at 10:42

1 Answers1

2

Ionic is based on Cordova/PhoneGap which uses WebViews. I'll try to answer the more general part of what can you not do with hybrid apps or more exactly, example of things that seem impossible using a WebView:

  • Replacing a DOM element with a native element is possible via overlays, but they cannot be attached to the DOM so if your element is animated via JavaScript or CSS it would lag behind (supposing you manually inform the overlay of its expected new position); scrolling should be possible to synchronize though.
  • Cannot customize well for accessibility.
  • cannot customize text selection / long tap.
  • Another good (and frustrating) example is that on iOS you cannot remove the accessory bar on the keyboard. There are some plugins that can do it for certain versions of iOS, but it's super fragile and doesn't work 100% of the time.

As said, there are many things that are iOS-only or Android-only but those are almost always only because no one made the plugin for the other platform.

Community
  • 1
  • 1
Wernight
  • 36,122
  • 25
  • 118
  • 131