There is a big chance that not every Neptun owner school will get/install the latest version of the official
Neptun to their servers so it will cause some problems here.
Ideas
Support only (the latest) one build
- Not flexible (should monitor the release cycle of the official app because maybe this is good enought™)
- There is a big chance that we can not support every School when a new release came up (which is a huge problem)
+ Easiest way to maintain the app
+ No need NuGet package for each School
Support only the latest two builds
- Can cause ugly codebase
For eg.:
class ...Deserializer
{
public int ..Count(string sourceCode)
{
if (OfficialApp.BuildNumber == 455)
{
RunLatestDeserializer(sourceCode);
}
else if (OfficialApp.BuildNumber == 454)
{
RunSecondLatestDeserializer(sourCode);
}
}
}
- There is a small chance that we can not support every School when a new release came up (which is a huge problem)
+ Bit flexible
+ No need NuGet package for each School
Support every build
- Lot of Google Play / AppStore / Microsoft Store updates (caused by the lot of School NuGet dependency)
- More complex App
School NuGet NeptunPro NuGet
← ELTE ← Neptun Build 455
Container App ← OE ← Neptun Build 454
← ...
- Dependency Hell?
- Maybe this is not even possible (or maybe yes?)
+ Cleanest solution for the problem