Что происходит в мире серверных технологий в связи с бумом мобильных приложений?

12

Поскольку мобильные технологии становятся все более популярными, что происходит на стороне сервера с большинством этих приложений, когда им необходимо взаимодействовать с серверной частью?

Я привык к миру технологий 10 лет назад, когда к большинству ресурсов обращались, запрашивая динамическую веб-страницу, которая за увиденным использует серверный язык для получения необходимой информации из реляционной базы данных.

Это все еще так, и если нет, то каковы большие изменения?

Akromyk
источник
Многие небольшие приложения используют Google App Engine :).
MrFox

Ответы:

7

От макушки моей головы:

  1. Использование веб-сервисов вместо прямого доступа к БД с клиента.
  2. ОТДЫХ вместо МЫЛА. SOAP кажется слишком тяжелым для мобильной связи с бэкэндом. REST с использованием JSON намного проще в настройке и использовании. Особенно если вы используете разные технологии на клиенте и сервере.
  3. Сосредоточьтесь на нескольких просмотров для веб-страниц. Один для настольного компьютера и один для мобильного. Это должно быть легко, если кто-то использует MVC, но это все еще довольно проблематично.

Есть, вероятно, больше. Мобильные приложения в основном рассматриваются как обычные клиенты, которые используют данные и отображают их.

Euphoric
источник
6

технологии

  • RESTful API, использующий JSON в качестве сериализации - тот же API используется нативными приложениями, гибридными приложениями и мобильными веб-приложениями. Даже в первом случае часто используются шаблоны на стороне клиента (см. Отличный пример в разделе «Оставление JSP в мусоре: перемещение LinkedIn в шаблоны клиентской стороны dust.js» )

  • Легкие асинхронные (управляемые событиями) серверы - больше не нужно предварительно готовить Apache. Сейчас используются Nginx, node.js, Twisted, Tornado и т. Д.

  • OAuth / социальная регистрация - пользователи ожидают, что не нужно регистрировать учетную запись для каждого отдельного приложения. Таким образом, большинство приложений позволяют войти с FB, TW и другими провайдерами. Для FB как Android, так и iOS предоставляют опцию единого входа .

Что нужно учитывать

  • Мобильные сети имеют очень большие задержки;
  • Для клиентов нормально потерять связь;
  • Клиент нормально меняет IP во время сеанса;
  • Мобильные телефоны далеко не так мощны, как настольные компьютеры / ноутбуки;
Vartec
источник
4

Отдых это половина истории. Более интересная вещь, чем более легкие протоколы в сети, - это более легкие серверы и стеки веб-приложений - массовые запросы для небольших дейтаграмм по сравнению с относительно толстым отображаемым HTML означают, что у вас разные требования. Несколько примеров:

  • node.js, вероятно, является каноническим примером этого. Большинство людей зацикливается на функции javascript-on-server, но это красная селедка - круто для детей, которые не могут развиваться дальше js, но это не имеет значения. Действительно изящная часть - асинхронная природа, делающая его безумно масштабируемым, особенно при обслуживании небольших, острых RESTful-сервисов. Некоторые другие стеки со схожестью будут скручены для python или manos de mono для .NET.

  • nginx использует тот же самый IO (libuv), что и node.js, и в некоторых кругах очищает рынок серверов. Гораздо более сфокусированный, чем Apache, и безумно быстрый.

  • Стеки тонких серверов появляются в средах, которые традиционно имели толстые структуры, которые делали много предположений. То есть, в ruby ​​у вас есть sinatra для противовеса рельсам. В питоне у вас есть фляга [и другие], чтобы уравновесить Джанго. В .NET у вас есть WebAPI, чтобы уравновесить MVC и WebForms. Все стеки, которые я упомянул, очень, очень тонкие и более (или полностью) ориентированы на обслуживание дейтаграмм, а не веб-страниц. Ни один из тех, о которых я упомянул, не имеет такого рода шаблонов и ORM, которые можно ожидать сегодня от типичного веб-стека.

Все это говорит о том, что чаще всего кто-то обслуживает свое мобильное приложение, взламывая существующее 10-летнее серверное веб-приложение для обслуживания json на другой конечной точке HTTP. Мир не сильно изменился - управление все еще будет хромать на 2 колесах и пончик, если они думают, что могут сойти с рук.

Уайетт Барнетт
источник
1

Это все еще так, и если нет, то каковы большие изменения?

Я думаю, что все еще есть приложения, которые используют упомянутую серверную или клиент-серверную архитектуру. Однако в последние годы наблюдается значительный переход к SOA (сервис-ориентированная архитектура) . Таким образом, обмен данными через безопасные сервисы открывает новые возможности для всех клиентских приложений и одновременно обеспечивает доступ / повторное использование внутренних бизнес-сервисов.

На развивающихся рынках мобильных телефонов и планшетов становится все более важным использовать HTTP-сервисы в качестве важного канала связи для предоставления расширенных услуг клиентским приложениям.

Юсубы
источник
1

Большинство серверов теперь поддерживают JSON и REST, а не только SOAP. Кроме этого, нет большой разницы между веб-интерфейсом и мобильным приложением. Я думаю, что большинство проблем для мобильных приложений находятся на переднем крае (как лучше всего разместить информацию на маленьком экране). Некоторые приложения начинают использовать мобильные возможности (например, отчеты о местоположении), но это на обоих концах.

TMN
источник