Какая архитектура для веб-приложений с мобильными приложениями? - PullRequest
6 голосов
/ 28 января 2012

У меня есть веб-приложение, работающее под Apache Wicket (инфраструктура Java EE MVC). На данный момент это веб-сайт. Я думаю об архитектуре, которая будет использоваться для создания мобильных приложений. Мобильные приложения будут просто отображать информацию и принимать пользовательские данные (например, конфигурацию профиля).

Я имею в виду N-уровневую архитектуру, где:

  • БД совпадает с той, которая используется текущим веб-приложением.
  • Создание уровня бизнес-логики, который был бы веб-сервисом, который предоставляет всю необходимую мне информацию из БД и обрабатывает вводимые пользователем данные. Это на стороне сервера.
  • Веб-сервис, который опрашивает уровень бизнес-логики и предоставляет информацию через XML или JSON
  • Уровень пользовательского интерфейса, который в основном является моим мобильным приложением (iOS, Android, ...). Они отправляют запросы на бизнес-уровень через веб-сервис. Запросы возвращают данные для отображения или отправляют информацию пользовательского интерфейса.

Я думал, что слой веб-сервисов мог бы затем обслуживать как веб-сайт, так и мобильные приложения.

Имеет ли эта архитектура смысл? Если да, то мое последнее предложение нарушает уже существующую структуру MVC?

Ответы [ 2 ]

1 голос
/ 14 февраля 2012

Я бы не стал переписывать существующее веб-приложение, оно, вероятно, не стоит усилий.

Хотя ваша интуиция (ИМХО) верна.Серверный HTML-шаблон как часть некоторой серверной веб-архитектуры MVC просто не очень хорошо подходит для Интернета и особенно не подходит для мобильных веб-приложений.

Для вашего мобильного сайта полностью откажитесь от этой идеи.Предоставьте на сервер некоторые веб-сервисы с JSON, которые просто возвращают данные (без пользовательского интерфейса), и пусть ваше мобильное приложение выполняет весь пользовательский интерфейс и работу в Интернете.Вы даже можете использовать архитектуру стиля MVC в своем javascript, если вы предпочитаете так думать.

0 голосов
/ 01 февраля 2015

Может быть, вы могли бы взглянуть на фреймворки, которые могут создавать мобильные приложения только с HTML, CSS, JavaScript.Они могут предоставлять набор API-интерфейсов JavaScript, которые подключаются к собственным функциям устройства, таким как «Камера», «Компас», «Контакты» и «Геолокация».Они дают вам возможность создавать приложения для iOS, Android, Blackberry, WebOS, Symbian и Windows Mobile.Все, что вам нужно, это знания веб-разработки и, конечно, HTML, CSS и JavaScript.Вот список таких фреймворков: http://www.hongkiat.com/blog/mobile-frameworks/. Самым известным является PhoneGap, я думаю.Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...