Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Difference between Firebase Remote config and Microsoft Codepush

I am going to develop a react-native app.I want to make some good decisions of choosing the technology stack before I begin my work.

Features I am sure about:

1) For users authentication,datastore,offline syncing, Firebase does an excellent job and I am happy to use Firebase for these features.

Feature in Question

2) Now,I would like to occasionally add certain options in my App only for a specific period of time(festive season offers,or something else for a specific user,etc),Ex: Like an extra menu button option, and on click of that menu, I ll show the offers and after a week's time I would want that menu to disappear again.

NOTE: I dont want users to keep updating their apps every time I give some offers or new features.

Now to achieve this functionality, I came across Firebase Remote Config and Microsoft CodePush?

I would like to know the things that can be achieved using these both. It seems Firebase remote config can only update the UI's but Codepush can update JS files and can update the App itself, but I am not sure and confused. Which one would be more suitable for me to achieve the feature in question?

EDIT: Please see my comment as well.

like image 906
Abhinav Avatar asked Feb 28 '18 07:02

Abhinav


People also ask

What is Microsoft CodePush?

CodePush is an App Center cloud service that enables React Native developers to deploy mobile app updates directly to their users' devices.

Is firebase remote config safe?

Using Firebase's Remote Config is hardly more secure than shipping keys in the app bundle. Either way, the data ends up on users' hardware. A malicious person can then theoretically access it, no matter how difficult we may think that is to do.

What is firebase remote?

Firebase Remote Config is a cloud service that lets you change the behavior and appearance of your app without requiring users to download an app update. When using Remote Config, you create in-app default values that control the behavior and appearance of your app.

How do you use CodePush?

Since CodePush is a cloud service from AppCenter, the first thing you need to do is to create an account in the App Center dashboard. Next, create two apps, one per OS (iOS and Android). Make sure to select release type production and platform React Native.


1 Answers

Firebase Remote Config is kind of remote settings, for your case consider it as remote feature toggles. In Martin Fowler's term:

Feature Toggles (often also refered to as Feature Flags) are a powerful technique, allowing teams to modify system behavior without changing code.

To do this, all the features you want to expose are ideally already in the app, you use Remote Config to toggle it on/off.

enter image description here

Codepush is different in that it can release incremental features/patches, and not all the features you want to expose are in the original app, but you might need to release incremental changes (non-native js bundles).

Specific to your case, Firebase Remote Config is your best friend. And if you are tolerate to incremental updates, codepush also does well.

like image 53
David Avatar answered Oct 13 '22 01:10

David