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

Asw*_*han 2 git project-management react-native

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

付费应用程序将是免费的应用程序加上其他几个功能.我用香草React Native.

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

ilo*_*ner 5

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

一个带有标志的代码库

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

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

两个分支

软件公司经常发现自己处于维护其软件的免费开源版本的位置,以及具有一些额外功能的相同软件的付费闭源版本.为了最大限度地减少维护基本相同的两种产品的努力,他们执行以下操作.

  • 免费版本在分支A上维护.
  • 付费版本从分支A分叉并在分支B中维护

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

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

插件框架

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

结论

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

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

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