Это очень сильно зависит от типа приложения, о котором вы говорите. Исходя из опыта моей компании и прислушиваясь к другим, выбор, использовать ли собственное приложение, веб-приложение или гибридное приложение, во многом зависит от функциональности, которую вам необходимо включить.
Одна вещь - логика, другая - представление.
Логика обычно может находиться на сервере, но если вам нужно работать в автономном режиме, то, по крайней мере, часть этого должна быть выполнена на клиенте. Тогда, даже если он не в сети - вы должны решить, является ли это веб-приложением или нативной логикой, но разработка сложной офлайновой логики веб-браузера, которая будет кросс-платформенной, иногда может быть более сложной, чем ее двойная запись. На самом деле ... Так что если офлайн нужен, я бы все равно опирался на нативную логику. В противном случае вы можете подумать о appcelerator, но у вас будет большая кривая обучения, если вы привыкли к веб-разработке. Они говорят, что они html + javascript, но только о синтаксисе - вам все равно придется изучать весь стек.
Презентация - если вам требуется простое отображение списка с небольшим количеством графических эффектов, не так уж много картинок для просмотра с помощью нескольких кнопок, вкладок, веб-сайт - это хорошо - jquerymobile, phonegap - ваши друзья там - phonegap особенно если вам нужен доступ к функциям телефона, таким как камера или контакты. Но если вам нужен хотя бы какой-то уровень плавности, хорошего пользовательского опыта и чего-то вроде «вау» для пользователя, то нет другого пути, кроме чисто нативных приложений - android и ios, разработанных объединенной многоплатформенной командой (общие концепции важнее, чем общий код ИМХО).
Для бэкэнда - это может быть почти все, также в зависимости от функциональности - сколько других систем должно интегрироваться, сколько пользователей, какая аппаратная инфраструктура требуется, какой-то облачный подход (google appengine, amazon) рассматриваются и т. д.