Що відбувається у світі серверних технологій щодо буму мобільних додатків?


12

Коли мобільні технології стають все популярнішими, що відбувається на стороні сервера з більшістю цих додатків, коли їм потрібно спілкуватися із зворотним кінцем?

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

Це все-таки так, і якщо ні, то які великі зміни?


Багато менших додатків покладаються на Google App Engine :).
MrFox

Відповіді:


7

Зверху в голові:

  1. Використання веб-сервісів замість прямого доступу до БД від клієнта.
  2. ВІДПОВІДЬ замість мила. SOAP здається занадто важким для мобільного спілкування з бекендом. REST за допомогою JSON набагато простіше налаштувати та споживати. Особливо, якщо ви використовуєте різні технології на клієнті та сервері.
  3. Зосередьтеся на кількох переглядах веб-сторінок. Один для настільних і один для мобільних. Це може бути легко, якщо хтось використовує MVC, але це все ще досить проблематично.

Напевно, їх більше. Мобільні додатки здебільшого розглядаються як звичайні клієнти, які споживають дані та відображають їх.


6

Технології

  • RESTful API, що використовує JSON як серіалізацію - той самий API використовується для нативних програм, гібридних додатків та мобільних веб-додатків. Навіть у попередньому випадку часто використовуються шаблони на стороні клієнта (див. Чудовий приклад у розділі "Покидання JSP в пилу: переміщення LinkedIn до шаблонів на стороні клієнта dust.js" )

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

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

Що слід врахувати

  • Мобільні мережі мають дуже високі затримки;
  • Клієнти нормально втрачають зв’язки;
  • Це нормально, щоб клієнт міняв IP під час сеансу;
  • Мобілі ніде не такі потужні, як настільні / ноутбуки;

4

REST - це половина історії. Більш цікава річ, ніж легші протоколи протоколів на дроті - легші сервери веб-застосунків і стеки - більш масові запити для невеликих дейтаграм порівняно з порівняно товстим наданим HTML означає, що у вас є різні вимоги. Деякі приклади:

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

  • nginx використовує багато того ж парного IO (libuv), який робить node.js, і це очищення ринку серверів у деяких колах. Набагато більш цілеспрямований, ніж апаш і шалено швидкий.

  • Тонкі серверні стеки спливають у середовищах, які традиційно мали товсті рамки, що створювали безліч припущень. Тобто, в рубіні у вас є синатра для противаги рейок. У python у вас є колба [та інші] для противаги django. У .NET у вас є WebAPI для противаги MVC та WebForms. Усі згадані мною стеки дуже, дуже тонкі і більше (або повністю) орієнтовані на розміщення дейтаграм, а не веб-сторінок. Жоден із тих, кого я згадую, не має таких шаблонів, і ORM, які очікує, що типовий веб-стек у ці дні.

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


1

Це все-таки так, і якщо ні, то які великі зміни?

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

З розвиваються ринками мобільних телефонів і планшетів стає ще важливіше використовувати сервіси HTTP як важливий канал зв'язку для надання розширеного обслуговування клієнтським програмам.


1

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

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.