Разработка мобильного приложения — натив или гибрид?
Приветствую всех! Есть один проект, в двух словах - социальная сеть с функцией обмена местоположением по желаю пользователя в радиусе 10-20 км.
Требования к функционалу социальной сети:
- Профиль
- Поиск друзей
- Личные сообщения
- Группы/сообщества
- Обсуждения
-Закачака/обмен фото, видео + постинг в сообществах
- Новостная лента (по типа как в вк)
Требования к геолокации:
- местоположение пользователя
- обмен местоположением (вкл. дополнительно)
Приложение в первую очередь необходимо запустить на iOs, использую почти все нативные возможности аппарата.
Вопрос самый главный - на сколько будет разумно писать данное приложения средствами веб-технологий?
Главная задача - переложить всю нагрузку по максимуму на сервера, клиент должен получать лишь то, что есть экране, кэшироваться должно только самое необходимое.
На сколько это реально?
Думаю, натив. Без вариантов. Посмотрите на все топовые соцсети, они создают нативные клиенты. Я правда не очень глубоко интересовался возможностями таких инструментов как PhoneGap, но... Подумайте сами, стали бы крупные компании тратиться на три нативных клиента если можно было бы создать один?
Я вас прекрасно понимаю, на первое время не будет большой нагрузки, как вк или facebook, это естественно) Есть некоторые ограничения в бюджете. Вот вы как думаете, сколько обойдется работа программистов над созданием такого приложения под iOs для начала? Именно программистов.
iOS 8 делает PhoneGap лучше за счёт лучшего WebView, тормозов должно стать меньше.
Вы можете сделать не HTML приложение, а просто кроссплатформенное. Это будет скорее всего сложнее, чем PhoneGap, но и не будет проблем свойственных PhoneGap.
Например Corona SDK или Xamarin.
Разрабатывал кроссплатформенные приложения на Sencha Touch 2 и Titanium Appcelerator. И посоветую Вам делать сразу нативное приложение, а не писать сначала гибридное, а затем переписывать его в натив. У всех этих фреймворков есть очень много плюсов, но есть пара очень серьезных недостатков, которые перекрывают все плюсы: 1. скорость работы 2. ограниченность платформы (вдруг вам захотелось сделать что-то необычное, а данный инструмент не умеет этого или делает это с помощью сторонних модулей, но криво). Можно обратить свое внимание на Xamarin, но он платный.