Поскольку мобильные технологии становятся все более популярными, что происходит на стороне сервера с большинством этих приложений, когда им необходимо взаимодействовать с серверной частью?
Я привык к миру технологий 10 лет назад, когда к большинству ресурсов обращались, запрашивая динамическую веб-страницу, которая за увиденным использует серверный язык для получения необходимой информации из реляционной базы данных.
Это все еще так, и если нет, то каковы большие изменения?
mobile
server-side
Akromyk
источник
источник
Ответы:
От макушки моей головы:
Есть, вероятно, больше. Мобильные приложения в основном рассматриваются как обычные клиенты, которые используют данные и отображают их.
источник
технологии
RESTful API, использующий JSON в качестве сериализации - тот же API используется нативными приложениями, гибридными приложениями и мобильными веб-приложениями. Даже в первом случае часто используются шаблоны на стороне клиента (см. Отличный пример в разделе «Оставление JSP в мусоре: перемещение LinkedIn в шаблоны клиентской стороны dust.js» )
Легкие асинхронные (управляемые событиями) серверы - больше не нужно предварительно готовить Apache. Сейчас используются Nginx, node.js, Twisted, Tornado и т. Д.
OAuth / социальная регистрация - пользователи ожидают, что не нужно регистрировать учетную запись для каждого отдельного приложения. Таким образом, большинство приложений позволяют войти с FB, TW и другими провайдерами. Для FB как Android, так и iOS предоставляют опцию единого входа .
Что нужно учитывать
источник
Отдых это половина истории. Более интересная вещь, чем более легкие протоколы в сети, - это более легкие серверы и стеки веб-приложений - массовые запросы для небольших дейтаграмм по сравнению с относительно толстым отображаемым 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 колесах и пончик, если они думают, что могут сойти с рук.
источник
Я думаю, что все еще есть приложения, которые используют упомянутую серверную или клиент-серверную архитектуру. Однако в последние годы наблюдается значительный переход к SOA (сервис-ориентированная архитектура) . Таким образом, обмен данными через безопасные сервисы открывает новые возможности для всех клиентских приложений и одновременно обеспечивает доступ / повторное использование внутренних бизнес-сервисов.
На развивающихся рынках мобильных телефонов и планшетов становится все более важным использовать HTTP-сервисы в качестве важного канала связи для предоставления расширенных услуг клиентским приложениям.
источник
Большинство серверов теперь поддерживают JSON и REST, а не только SOAP. Кроме этого, нет большой разницы между веб-интерфейсом и мобильным приложением. Я думаю, что большинство проблем для мобильных приложений находятся на переднем крае (как лучше всего разместить информацию на маленьком экране). Некоторые приложения начинают использовать мобильные возможности (например, отчеты о местоположении), но это на обоих концах.
источник