Creating a Cordova application from the ground up, evaluating the options of using ngCordova, Ionic framework, and

With the goal of creating a multiplatform Cordova app for Android, iOS, and Windows, I have been exploring different approaches.

My plan is to build an application with 4 or 5 features focused on service consumption (listing, adding, and editing items) while also enabling offline use of the app.

Above all, my priority is to ensure that the app is robust and stable.

Here are the solutions I considered:

  • Develop in "pure" Cordova (Javascript, HTLM, and CSS);

  • Utilize ngCordova (AngularJS with support for Cordova Plugins);

  • Opt for Ionic (AngularJS, mainly for UI);

  • Choose Typescript;

  • Explore using Typescript, ngCordova, and Ionic together (or a combination of these three).

I am aware that DefinitelyTyped provides support for Ionic and ngCordova (source linked) mostly. Additionally, I know it's possible to create a blank Cordova App in Typescript without any hurdles.

While the use of Typescript seems like a logical choice, I am uncertain about the standard preferences for ngCordova and Ionic currently.

EDIT: After initially deciding on Typescript, Angular 2.0, and Ionic 2, I eventually switched gears and developed the app using Xamarin instead.

Answer №1

When it comes to choosing standards for your project, the decision ultimately lies with you and what best suits your specific requirements and available time to learn new technologies. In my opinion, leveraging an application framework is a smart move rather than starting from scratch, and one solid option is Ionic which is based on AngularJS. ngCordova seamlessly integrates Cordova plugins into AngularJS components and can be picked up in just 5 minutes, making it a great choice if you opt for Ionic. On the other hand, jQuery Mobile paired with jQuery can also provide a strong foundation for your app development with its user-friendly UI framework.

Answer №2

I highly suggest using Ionic for its seamless integration with Cordova and user-friendly UI components that simplify implementation. Another option to consider is React Native, which also offers a great framework for mobile app development. Learn more about React Native here

Similar questions

If you have not found the answer to your question or you are interested in this topic, then look at other similar questions below or use the search

Adjust google maps to fill the entire vertical space available

I found this helpful resource for integrating Google Maps into my Ionic app. Everything is working smoothly, but I am trying to make the map fill the remaining height below the header. Currently, I can only set a fixed height in pixels like this: .angula ...

Can a file be transferred from the private path to the document directory?

I wrote this code using the captureVideo() method from the Ionic Native MediaCapture plugin. Here is the file path I obtained: /private/var/mobile/Containers/Data/Application/95DB5A64-700B-4E3D-9C2C-562C46520BEC/tmp/52515367181__BBC39D42-69EC-4384-A36F-7 ...

Crosswalk: malfunctioning pull-to-refresh feature

I am currently in the process of creating a hybrid app using cordova + crosswalk. Here is the configuration that I have set up: $ cordova plugin list cordova-plugin-crosswalk-webview 1.6.0 "Crosswalk WebView Engine" cordova-plugin-whitelist 1.2.1 "Whiteli ...

I encountered an error stating that "next is not a function." Interestingly, this code works perfectly fine with another source that was recommended by a friend

const express=require('express'); const app=express() //middleware const customMiddleware=(req,res,next)=>{ console.log('this is a custom middleware that will be executed before the route handler'); next(); } customMiddlewar ...

Execute controller action upon item selection within KODataTable MVC table

I am displaying data in a table using AJAX to call an Action that returns a JSON list. Output: I want each user (row in the table) to be clickable and linkable to an edit page (Admin/Edit/Id). This can be done either by clicking on them or by having an E ...

Passing a table value to a PHP script using JQuery on click event

I am struggling with implementing functionality to filter a dataset based on the link that the user clicks on within a bootstrap modal. The modal contains a morris.js graph and I need to pass the clicked value (e.g. Cluster1 or Cluster2) to a data pull scr ...

Attempting to use Selenium in JavaScript to download a file with a new element called 'TransitionRejection'

I am looking to streamline the process of downloading multiple files from a website. To achieve this, I navigate through several pages to obtain the file IDs using selenium and a perl script. Since selenium does not have a built-in download function and u ...

Having Trouble with Bootstrap 4: "Encountering Uncaught Error: Tooltip Transition in Progress"

I'm currently utilizing Bootstrap 4 on my website and incorporating the Tooltip feature. While my JavaScript appears to be correctly formatted, there are instances where I encounter errors in Console. My Javascript Setup | Bootstrap 4 <script src ...

Guide on obtaining Elastic search documents in the specified order of identifiers

Given a specific order of document IDs [1, 4, 2, 5] and some filtering criteria { match: {...} }, what is the most efficient method to ensure that the resulting documents are retrieved in the desired order [1, 4, 2, 5]? Here is an example of a sample docu ...

How to smoothly transition a div from one location to another using animations in an Ionic3-Angular4 application

I'm attempting to incorporate some animation into my Ionic 3 mobile app. Specifically, I want to shift a div from one location to another. In the code snippet provided below, I am looking to move the div with the "upper" class after the timeline-item ...

Having trouble executing node commands in the terminal

After launching the terminal on my Mac, I made sure to confirm that Node was installed by running the command: node -v v14.17.5 Next, when attempting to open a file I had created called index.html from Visual Studio Code, I encountered an error message in ...

The Angular material slider experiences issues with functionality when paired with the *ngFor directive

Having a unique problem that I could easily replicate on stackblitz. When using multiple mat sliders generated from a *ngFor loop with numbers as values, encountering an issue where moving the first slider affects all others. Subsequent drags only update ...

Exploring the Power of BufferGeometry and Textures in Three.js

I am experiencing an issue where the texture does not show up when I try to load textures on a THREE.BufferGeometry. However, the texture displays correctly when using normal geometry. Could it be that textures are unsupported with BufferGeometry, or am I ...

Issues with uploading files in NodeJs using express-fileupload are causing errors

I created a REST API in NodeJs for File Upload which is functioning correctly, however I am facing an issue. When I upload more than 2 images, only 2 or 3 get uploaded and sometimes one gets corrupted. I suspect that the loop is running too fast causing th ...

What is causing the consistent error message "unable to read property 'logged' of undefined"?

Here is the code snippet from my app.js: var express = require('express'); var path = require('path'); var favicon = require('serve-favicon'); var logger = require('morgan'); var cookieParser = require('cookie- ...

Concealing the print option while utilizing PDFObject in conjunction with PDF.js

When displaying a file using pdf.js, I encountered issues with the print button and other functionalities. I was able to hide the buttons using CSS for Chrome, but not for Internet Explorer, where I had to resort to using JavaScript. While the JavaScript ...

Best method for creating HTML elements with jQuery

I've come across various styles and methods for creating elements in jQuery, each with its own unique approach. I am interested in discovering the most effective way to construct elements and whether a specific method stands out as superior for any pa ...

Utilizing a CSS identifier with jQuery

I'm struggling with a basic .each statement for comments where I want a form at the bottom to add new comments. The goal is simple - when someone submits a comment, I want it to display just above and move the form down using jQuery. Although this fun ...

Error in Discord JS: Unable to access undefined properties (roles)

Currently, I am in the process of developing an event that will periodically check a MongoDB database for any expired keys and then proceed to remove a specific role from the corresponding member. const mongoose = require("mongoose") const { Disc ...

What is the process for extracting the value of a checkbox generated through JavaScript?

I recently came across a helpful post on Stack Overflow that provided sample code demonstrating how to display multiple list of checkboxes dynamically on a dropdown list. The function in the code was exactly what I needed for my webpage. However, I encount ...