Нужно определиться, в каком направлении пойти, а для этого хочу все четко разложить по полочкам. Но чтобы это сделать, мне не хватает знаний и опыта. Поиск и изучение нужной информации занимает много времени, поэтому прошу помочь ускорить процесс и подправить меня в том, что выкладываю ниже.
Задумал сделать фронт, отдельный для мобильных устройств, с применением современных супер-пупер технологий. Раньше у меня был выбор только между версткой для мобильных браузеров и разработкой мобильных приложений. Т.к. фронт нужен для браузерной игры, то выбор был очевиден. Но когда стал углубляться в тему, выяснил, что между этими двумя подходами есть еще два промежуточных. Для облегчения дальнейшего изложения условно назову браузерную верстку буквой А, а мобильные приложения буквой D, тогда:
- A - браузерная верстка, использую Javascript, React
- B - веб-приложения, имитирующие нативные (PWA), использую Ionic React
- C - кроссплатформенные приложения, использую React Native
- D - нативная разработка с помощью Java/Kotlin/Swift
Некоторые соображения при выборе:
- по javascript/jQuery у меня есть какой-то опыт, по остальному нет, поэтому сейчас нужно выбрать, что изучать, но лучше, чтобы новые знания могли использовать предыдущий опыт;
- смысл браузерной игры в том, что разработчику не нужно создавать специального клиента, который загружается на маркеты. А пользователям не нужно ничего скачивать, достаточно использовать браузеры;
- хотелось бы интерфейса, удобного на мобильных устройствах, например, чтобы при движении пальца на экран выскальзывала навигационная панель сбоку;
- кроссплатформенность предпочтительна, один раз сделал, на обеих платформах использовал
Пока склоняюсь к PWA, но нужно точно выяснить еще некоторые вопросы:
язык разработки javascript:
- A - да
- B - да
- C - да
- D - нет
кроссплатформенно:
- A - да
- B - да
- C - да
- D - нет
интерфейс, схожий с нативными приложениями:
- A - нет
- B - да
- C - да
- D - да
нужно выкладывать в маркеты (и платить за это):
- A - нет
- B - нет
- C - да
- D - да
нужно скачивать клиента:
- A - нет
- B - нет
- C - да
- D - да
сложность разработки в порядке возрастания
- A
- B
- C
- D
производительность в порядке возрастания
- ?
- ?
- C
- D
Все ли я правильно расписал, и верно ли склоняюсь к PWA? Может что-то еще упустил?