create a mobile app from my web site using reactjs (not native) - node.js

I need to develop a mobile application which will be same for my web site (already create with reactjs). I was researching on reactjs. Can I convert my reactjs code from web-site to reactjs for mobile application ?
need a solution please
Thanks

No bro, a PWA cannot be uploaded to the apple store, by the way you can bypass this problem using ionic capacitator!
Capacitor is a cross-platform app runtime that makes it easy to build
web apps that run natively on iOS, Android, Electron, and the web. We
call these apps “Native Progressive Web Apps” and they represent the
next evolution beyond Hybrid apps.
According with this tutorial written by Manish Mandal to do so u have to:
1 - First, go to the root of your existing react app and create a file capacitor.config.json and inside that put the below code
{
"appId": "io.ionic.yourapp",
"appName": "yourapp",
"bundledWebRuntime": false,
"npmClient": "npm",
"webDir": "build",
"cordova": {}
}
2 - Now create another file name ionic.config.json and inside that insert the below code.
{
"name": "yourapp",
"integrations": {
"capacitor": {}
},
"type": "react"
}
3 - Now we need to build our react project. To build your react app open your terminal to the root of the project and run the below-mentioned command
npm run build
Note: this will create the build folder in your root porject and the
name of the folder should match the webDir name inside
capacitor.config.json file
4 - Now we will install ionic globally in our machine. To install ionic globally in your machine open your terminal and run the below command.
npm install -g #ionic/cli
5 - Now install the capacitor core in our project.
npm install #capacitor/core --save
ANDROID
6 - After that, we will first create an android app with our existing react app. Open your terminal and type
ionic capacitor add android
This will create the android folder in your root project and install all the required dependencies.
7 - Now run the below command to open your android project in android studio.
npx cap open android
Wait some time and then it will ask you to update the Gradle. Just update the Gradle to the latest version and run the project in the emulator. You can also connect your mobile to run the project live on your mobile phone.
8 - Now open the build menu from the android studio and build your apk file.
IOS
9 - To create ios app run the below command
ionic capacitor add ios
This will install all the required dependencies and ios folder to your project.
10 - Now run the below command to open your ios project in Xcode.
npx cap open ios
11 - Now open the app in emulator or physical device and build the app.
More info about capacitator:
https://capacitorjs.com/

so you need to create progressive web app , all it takes a mainfest.json file in your meta tag WebApp Manifest
with some splash screens and icons chrome will make you install mobile app like on client devices. And try to implement a service worker to handle the offline mode Service Worker
This course from egghead is very good PWA

You could create an "app" that is really just a webview that shows your website but it won't really have the same experience as a native app.
As mentioned a PWA would be a good approach. This way you can keep all your ReactJS code and have an app-like experience.
Android even supports submitting PWAs to the store.

You can't perform code conversion from react-js to react native directly, even though there are many similarities between them. Web application built with React.js can be easily converted to a React Native mobile app, and some source code can be reused
if you want to develop a single app for both mobile and web either,
create a web app that mobile browser friendly
or
create PWA(Progressive Web app) using React, PWA can access Native Mobile api like GPS

Related

How do i build a phonegap app for webapp?

I created a phonegap project in my machine and deployed it as a web app. when i browse it shows cordova is not defined. if i place the cordova.js inside the root folder then it throws some plugins are missin. anyone guide me how to host a webapp
using phonegap project.
Use this command to add the browser platform to your Cordova project,
cordova platform add browser
Now if you check inside your platforms directory there will be a new directory called browser.
Now run this, to get a browser compatible build.
cordova build android
Inside the "platforms > browser > www" directory you will find you web assets. You can host them on your server.

Ionic 3 and Razorpay - can we use the same Cordova plugin for web app

I have integrated Razorpay in my Ionic 3 application using the Cordova plugin at https://github.com/razorpay/razorpay-cordova.git.
I am using my Ionic 3 app as a web application also. It's working perfectly fine on mobiles.
What should I do to make it work in web?
Hi if you want to test your app on browser with cordova functionality hit,
>cordova run browser
Add a file in your src folder by the name "declaration.d.ts" and add the below code
declare var RazorpayCheckout: any;

Tabris.js developer app not loading my app

When I try to access my app via the URL in the Tabris.js 2 Developer app, I briefly see the message below, and the app returns me back to the URL screen:
"Could not load boot.min.js or boot.js file from tabris module 'node_modules/tabris'"
I tried running the basic out-of-the-box tabris test app (using tabris init in an empty directory) and the same issue happened, so I am confident that this is not something to do with my app.
Some other details:
Using v2.0.0 of tabris.js, although this is happening with 2.0.0-rc2 as well
The last time this worked with the same code base for me was prior to my phone (a Nexus 5X) being upgraded to Android Oreo. I wonder if the Tabris.js 2 Developer app has any issues running in Oreo?
I know that the http-server is running correctly on my development machine, as I can navigate to http://[development-ip]:8080/package.json and get that file on my mobile device
I can confirm the issue with a project created with the CLI (version 2.0). The latest tabris dev app (2.1) does not work with tabris 2.0. You'd have to upgrade your projct to tabris 2.1:
npm install --save tabris#^2.1.0
The reason is that as of tabris 2.1 a bootstrapping file (boot.js) is now read from the tabris module. This file was included in the dev app before.
When you upgrade tabris-cli to the latest version, projects created with tabris init will not be affected by this problem.

VS 2015 TACO - build broke on Xcode 8 / iOS 10

Here are the issues I encountered and fixed:
Code signing: downloaded the xcode8.js hook and added the following to build.json, per http://www.dpogue.ca/articles/cordova-xcode8.html:
"ios": {
"debug": {
"developmentTeam": "VZ4B5XSP9U"
},
"release": {
"developmentTeam": "VZ4B5XSP9U",
"codeSignIdentity": "iPhone Developer"
}
}
On my Mac, deleted the ~/.taco_home/node_modules/taco-remote-lib/2.2.1 and .../2.2.0 folders, per https://github.com/Microsoft/remotebuild/issues/5.
On my Mac, tried uninstalling and reinstalling remotebuild, and different versions of node and npm (0.12.9 and 4.6, and respective npm versions).
In Visual Studio, tried changing the targeted Cordova version: 6.3.1, 6.2, 6.1.1, and back to 5.4.1.
No matter what I do though, the build gets stuck either on extracted - Extracted app contents from uploaded build request, or building - Updating platform forever.
Earlier, when I tried opening the Xcode project in Xcode on the Mac, it successfully built and deployed the app to the device. I was then facing issues using WebRTC (using cordova-plugin-iosrtc) and it was giving me privacy violation exceptions. I tried adding the cordova-custom-config plugin and appropriate Cocoa keys (NSCameraUsageDescription and NSMicrophoneUsageDescription) per App crashes with __CRASHING_DUE_TO_PRIVACY_VIOLATION__ when trying to access contacts, and then it stopped working altogether.
Can anyone please advise what are the latest versions of all of the components I should be using to make it work again? Some sources advise to use Node 0.12.9 on the Mac, others 0.12.7; most people claim that with Cordova >= 5.3.3, any Node version should suffice, however using Node 4.6 didn't work either.
Thanks in advance for any help!
Update: After performing the brew update etc. as suggested by Jordan, the remote deploy works, but the build sets "Main interface" setting under project's General tab to "NSMainNibFile~ipad", which causes the app to crash on launch, until I open the project in Xcode and clear that field, then an incremental build creates a functioning app.
This is a known issue with Apache Cordova 6.3.1 and for the Visual Studio tools we've been working on a fix for this. To work around the issue for now, you'll need to perform the following steps:
Add a developmentTeam property to the ios build settings in your project's build.json file (an example is shown below).
Set the build.json file's codeSignIdentity property to the static value iPhone Developer.
Setup a before_compile hook in your project to copy the developmentTeam property into the project's platforms/ios/cordova/build.xcconfig file.
The project's build.json file should look something like the following:
{
"ios": {
"debug": {
"developmentTeam": "DEVELOPMENT_TEAM_NAME"
},
"release": {
"developmentTeam": "DEVELOPMENT_TEAM_NAME",
"codeSignIdentity": "iPhone Developer"
}
}
}
To simplify the process, Darryl Pogue published a sample hook that makes the required changes to the project's build.xconfig file based on the build.json example shown above. To use this hook, copy the sample xcode8.js file to your project's hooks folder, and then modify the project's config.xml to execute it before the compilation step using the following code:
<platform name="ios">
<hook type="before_compile" src="hooks/xcode8.js" />
</platform>
Creating a Distribution Build
At this point, the Cordova build process works, and you can run, test and debug your app. Unfortunately, the app isn't being signed with the correct development certificate needed for distribution. In order to sign them with a distribution certificate, you'll need to create an archive of the app by following the instructions found in: Uploading Your App to iTunes Connect.
iOS 10
Developers building Cordova applications for iOS 10 may encounter the following errors:
Http 404: Error mounting developer disk image
Http 500: No devices found to debug. Please ensure that a device is connected and awake and retry.
This is caused by the Mac development environment needing an update to several modules. To fix the issue, on Mac OS, open a terminal window and issue the following command:
brew update && brew upgrade libimobiledevice --HEAD && brew upgrade ios-webkit-debug-proxy ideviceinstaller

JXCore not running on browser platform

I want a JXCore application that can run on android, ios and the browser platforms.
I have used the express sample project provided by JXCore and tested it on my android tablet without any problems. However when I run it on the browser platform, it doesn't seem to work. There are no errors but the output on the web page just says:
JXcore plugin: Device type is unkown. Defaulting to Android
Are there any additional configuration or plugins required for JXCore to run on the browser platform or is it not possible?
Cordova's "browser" platform just runs local nodejs server which hosts static files. Instead you can run nodejs server as hosted app and reach from browser.
You can see this jxcore cordova project which works without cordova too, just running jx www/jxcore/app.js command.

Resources