Example of how to use single expo codebase for multiple apps in Expo - expo

How to build multiple apps from a single code base in expo where different apps can run based on different configurations and each app will have its own splash screen assets and where i will be able to hide and show screens based on configurations and navigation will also run on that basis

Related

Does anyone know if it's possible to put your Django Heroku apps onto App Store/Google Play?

I have several apps that i've written in Django and host on Heroku. The website address works great but if people want to use my app on their mobile device i have to instruct them to visit the website then click Add to Home Screen so an app icon appears on their phone. Is there a better way of doing this so they can just add the app from say the App Store/Google Play?
Yes you can add your PWA (progressive web apps) to Google PlayStore. There is detailed official documentation about this.
But in case of App Store Apple doesn't supports to put PWA on App Store. But there are different ways to achieve this PWABuilder is one among them. And also that doesn't guarantee that your app will be accepted into Apple’s App Store. In 2019, Apple released new guidelines for HTML5 apps in the App Store. The new guidelines appear to forbid certain kinds of web apps (e.g. gambling, lotteries, etc.) from the iOS App Store.

Collect configs from All apps, and run code after all apps are loaded (Django)

I want to be able to able to inject some configurations from each app, and then run some code after all apps are loaded to load a service with all the provided configurations from all apps. How do I go about implementing that ?
Could you elaborate more the intention of loading all the config from each app? IMO Django by default has an ability to centralize the configuration in the one particular main app inside the project, and of course, it's configurable by mean you can store the configuration outside the project, using env_vars for instance.
TWITTER_SECRET = os.getenv('TWITTER_SECRET')
Some reference might help:
Django settings
The Twelve-Factor APP

Is there any advantage to having an app manifest file to desktop users?

According to https://developers.google.com/web/fundamentals/web-app-manifest/ having an app manifest file gives mobile users a better experience with my site by allowing them to add it to their home screen and giving it some special launching properties from there. Do any of these benefits apply to desktop users, especially those who do not chose to add a shortcut to my site to their desktop?
The main use of manifest files is to allow site developers better control over how their sites behave when added to and launched from non-browser environments. If users don't install the app outside of the browser, a manifest doesn't do much on desktop or mobile.
The case for implementing a manifest file is not about desktop vs mobile. It's about if you expect/want users to use the app outside the browser.

How to deploy a different version of index.html for PWA and native Apps with Ionic 2

our PWA lives here: https://m.quemesa.com and we also have native apps with the same codebase.
However, we are not targeting the Cordova Browser platform (because it does not seem to be officially supported and I can’t see what benefit it adds) so we have to add slightly different code for our PWA compared to our native app builds. For example, In the PWA, we use the pure Google Analytics solution which requires 2 lines of javascript in the index.html.
For our native builds, we use the Cordova GA plugin, so this is not required. In the PWA we don’t need to link to Cordova.js and Vendor.js for exmaple (they get a 404 error). In the native apps we do.
Currently I am manually editing (yuck) the output folder before uploading to Azure for the PWA.
Is there some way to edit the Ionic Build Process so that I can either have 2 versions of the Index and it grabs the one it wants for the output folder depending on the build type OR it can modify the html file at build time?
The current ionic build tool alone doesn't support this.
You could just have 2 versions of index.html and a small script to swap between them and build both versions.
It's also something you could do with a "full" CI build tool. Since you mentioned Azure you could make use of Visual Studio Team Services. There are existing tasks available for npm (to install ionic, run a PWA build) and running command/PowerShell scripts. It may be easier to start off by setting up an "agent" VM with everything it needs to build your app (node, ionic, Android studio, etc) then build your build process up from there.
I use gulp-preprocessto update index.html on build depending on platform targeted. The idea of the preprocess is to generate a target index.html before the ionic serve/build with the exact declarations required for the mode selected, pwa or native. More details on this post "Using Ionic/Cordova app sources as PWA"

How to Debug Ionic WebApp?

I want to debug my ionic application in WebStorm.
I am able to run the app in browser. But how can I debug?
I tried: ionic serve --debug which doesn't seem to trigger any debugging?
How can I debug the app when it runs in browser?
With Chrome you can type chrome://inspect into your address bar
As soon as you are running your Android app, you can inspect the app when you are running it with the "ionic run android" or "ionic emulate android" command
The version of Android, however, must be higher than 4.3 I think...
According to the documentation there's a few different way's to do this. Also could you try one of these listed below since you have tried ionic serve already?
ionic run
ionic emulate
The run or emulate command will deploy the app to the specified platform devices/emulators. You can also run live reload on the specified platform device by adding the --livereload option. The live reload functionality is similar to ionic serve, but instead of developing and debugging an app using a standard browser, the compiled hybrid app itself is watching for any changes to its files and reloading the app when needed. This reduces the requirement to constantly rebuild the app for small changes.
Hope this get's you going! Let me know how it work's out for you.
I found this tool very useful, you can attach your device and get a real time inspector on your Cordova app(for iOS and Android platforms).
The browser is where I do most of my debugging for ionic. What browser are you using to do the debugging? I use Chrome and turn on DevTools. There is a source tab where you can browse your app code to find spots for breakpoints. For example, you can set a breakpoint in the code for a controller on a click event and step through the code. Then, you can use the console to execute commands to test values and inspect objects, etc. Are you unable to make this work? Or, unfamiliar w/ the DevTools? If unfamiliar, there is a resource available here. If not working, are the breakpoints not being hit?
There are a few ways to debug your ionic app.
In the browser you can catch the errors in the console.
If you are emulating your app on a simulator or a mobile device you can install the cardova plugin that displays js errors in the xcode console. So you can emulate your device and catch errors on xcode.
Here is how you add the plugin:
cordova plugin add https://git-wip-us.apache.org/repos/asf/cordova-plugin-console.git
An alternative is using ionicLab. It worked for me doing the steps: Install the program and prepare all the project dependencies prior to testing. Then, click on Serve option from Testing which is under Platform menu. When the project has been executed, click on the arrow icon of the Preview bar.
As a result, Ionic will throw a Chrome window with the loaded project, so, you can use Developer Tools as it's used commonly. You ought to watch the javascript files, which you use in your project, so that you can debug them.
Simply run: ionic serve -l and inspect from browser developer options.