Search code examples
cordovaionic-frameworkhybrid

Does it make sense to use the Ionic framework even if i don’t need the UI elements?


I have a very basic question. Our team wants to create an interactive graphic novel as an app (and as desktop website) for a university main project. So the app is more like a game and will have a custom UI.

We want to go for a hybrid app and thought that ionic would be nice as it looks like an advanced and performant framework.

But, as we don't use the Ionic UI elements (because we have a custom UI), would you consider it an overhead to build with Ionic? Or should we go for Cordova or something else?

Or to put it differently: Is the advantage of using Ionic over e.g. Cordova just the provided UI elements?

Cheers


Solution

  • I think there is some confusion of your understanding of Ionic and Cordova Framework.

    I hope the below will to some extent clear your misunderstanding.

    What is Ionic?
    Ionic is a UI framework built on HTML/JavaScript/CSS. It contains built in widgets (UI Elements) and styling ( Android, IOS, Windows) customization for your UI Elements. The Styling allows you to create UI Elements which mimic the Native experience of the platform.

    Do you need Cordova/Phonegap to Run Ionic?
    You Do not need Cordova/Phonegap to use the Ionic framework. You can run an Ionic build App on a Mobile Web Browser.

    What is Cordova/Phonegap?
    Cordova/Phonegap in lay man terms can be said to be like a mobile web browser, without the usual Menu/Search options that are available in a normal mobile browser.
    It is blank canvas, which allows you to run a HTML/JS/CSS App programatically. Since it is blank canvas, you need to provide code for (e.g back/forward/history functionality) programatically. Technically speaking cordova/phonegap is called a Webview.

    Why do you use Cordova/Phonegap?
    If you run your App( HTML/JS/CSS app) in a normal Mobile Browser, it does not have access to the Native features of the mobile such as Contacts, Camera, Accelometer, etc. Cordova allows you to access this native features through JavaScript within your App by means of plugins.
    So if you want to access the contacts in you mobile device you need to add Contact-plugin to your cordova App. The plugin will provide you JavaScript functions for accessing the native features within your App.

    Another big Advantage of using Cordova/PhoneGap is that you can run your HTML/JS/CSS app on all the platforms such as Apple, Android, Windows, Blacberry using the SINGLE code base. You do not have to write separate code in Java for Android or Xcode for IOS(Apple) or windows SDK for Windows.

    Now to come to your question?
    "But, as we don't use the Ionic UI elements (because we have a custom UI)"
    Lets call the custom UI built by you as "Dennis UI". You can copyright your UI elements :-).
    If you are satisfied with your Own custom UI (assuming that it is based on HTML/JS/CSS) than you do not need Ionic. You can use your own custom UI with Cordova/Phonegap for developing your Apps.