维护单一反应原生应用程序的付费和免费版本

时间:2018-02-05 20:44:56

标签: git react-native project-management

我有一个在PlayStore上发布的本机应用程序。现在我想创建一个具有更多功能的付费应用。

付费应用程序将是免费应用程序加上其他一些功能。我使用香草React Native。

如何构建我的存储库和我的工作流程,以便最终我不必维护两个不同的应用程序。

1 个答案:

答案 0 :(得分:5)

我不熟悉本地反应,但总的来说。有几种方法可以解决这个问题。

一个带有标志

的代码库

如果您想维护一个代码库,可以在代码中创建某种 paidVersion 标志。如果该标志为false,则仅隐藏允许用户使用付费功能的某些按钮。如果该标志为true,则允许用户使用付费功能的按钮可见。

这可能是最容易做到的事情。

两个分支

软件公司经常发现自己处于维护其软件的免费开源版本的位置,以及具有一些额外功能的相同软件的付费闭源版本。为了尽量减少维护基本相同的两种产品的工作量,他们会做到以下几点。

  • 免费版本保留在分支A
  • 付费版本来自分支A ,并在分支B
  • 中维护

现在,更改产品时需要考虑三种情况。

  • 免费和付费版本使用的更改:这些更改合并到分支A ,然后分支B 重新定位到分支A
  • 仅转到付费版本的更改:这些更改只会推送到分支B
  • 仅进入免费版本的更改:这是一个不好的情况,不要这样做,因为那时你开始走下维护两种不同产品的道路。

插件框架

制作产品支持插件的免费版本。该产品的付费版本只是免费版本,附带一个插件。

结论

正确使用的方法主要取决于您正在构建的内容的性质。如果您正在构建的产品非常复杂(如IDE)并且可能具有多个可选的付费功能,那么您可能需要使用某种插件框架。

如果产品很简单并且您无意共享免费或付费版本的源代码,那么使用 paidVersion 标志是最佳路线。

如果您想共享免费产品的源代码,那么您应该使用两个分支策略。