Есть необходимость написать кросс-платформенное приложение (а конкретно, оно должно работать на виндовсе и андроиде). Javascript/Typescript - я в него плохо умею. Остается Xamarin/Unity. Наверное?
Если остается Xamarin/Unity (Unity есть в ТЗ как возможная необходимость, потому что под него есть какой-то код, который, возможно, необходимо использовать, но я подозреваю, что этот код не Unity-specific, а просто .NET/Mono). Я не хочу Unity.
Кроме того, меня всегда смешили эти MVC от iPhone/Objective-C. Там же всегда один View, для каждого Controller, он никогда не меняется.
А тут вроде можно сделать правильный MVC/MVVM/как_звал_так_звал. C#/.NET/Mono код это Model/Controller или Model/ModelView, а Unity/Xamarin - это View.
Писать это все мне одному, как хочу, так и сделаю. Как я думаю:
- Сделать отдельный проект C# dll с MV/MVM
- Сделать отдельный проект Unity/Xamarin и туда руками кидать dll
Или
- Сделать отдельную репо с C# кодом
- Подключить ее как submodule в еще одной репе с Unity/Xamarin
Я помню, что в git submodules есть такое неудобство, что каждый раз, когда изменяешь код в submodule и коммитишь его - необходимо делать отдельный коммит к Unity/Xamarin репе, типо «bump submodule reference commit»
Можно еще проще:
- Сделать отдельное репо с C# кодом
- Сделать отдельное репо с Unity/Xamarin кодом и просто знать, что необходимо коммитить туда/cюда.
Я делал решения 1, 2 и 3. Ну т.е. я участвовал в проектах где делалось и так и так.
Может можно еще как-то по четвертому? Perforce у меня нету и он кажется за деньги. Писать это все мне - т.е. как сделать так, чтобы было удобно мне? Я не хочу, на этой стадии выбирать между Unity и Xamarin. C# похоже мне навязан из-за гипотетической необходимости использовать код от китайской железки, в которой есть примеры для Unity (подозреваю, что они не Unity-specific, а C#/.NET/Mono).
Как бы вы сделали?
PS И да, интересно услышать альтернативы на случай, если код от китайской железки окажется не нужен. Typescipt/AngularJS/Vue.js/Electron/вот это все? Или там Corona/Lua какая?