2013-05-11 1 views
1

Есть ли каркас (мета-каркас), где мы можем сделать веб-приложения независимыми от серверных технологий - без написания большого количества пользовательского интерфейса?Мета-фреймворк для серверных технологий независимых веб-приложений?

Во многих крупных веб-приложениях мы используем JavaScript и DOM сильно (через фреймворки, такие как угловые/jqueryui/extjs/etc) для настольных компьютеров, например UX.

Я ищу инфраструктуру пользовательского интерфейса веб-приложения (там, где мы не должны создавать пользовательский интерфейс), и что я могу использовать его с сервером и выставлять API (json), которые соответствуют требованиям, предъявляемым интерфейсом пользовательского интерфейса.

Таким образом, сервер является бэкэндовым хранилищем данных. Клиент - это браузер. Реализация сервера может быть в python/appengine-dbstore OR php/mysql ИЛИ C#/mssql или Node/mongo.

Приведен пример ниже - если выше не было смысла.

Пример: структура UI имеет это - 1. навигационные возможности 2. Формы и настройка формы 3. Возможно, интерфейс для создания новых объектов БД (где UI просто абстракция, а реальное осуществление на сервере)

API и требуется адаптер в рамках пользовательского интерфейса требует ниже - и что структура требует от нас только писать адаптер для внутреннего интерфейса сервера 1. Сведения о штурман ссылки - как и о ссылке, которая указывает на интернет-ссылку 2. Метаданные об объектах - так что структура пользовательского интерфейса может автоматически создавать формы. 3. S ave методы переопределены или реализованы в адаптере, но вызваны инфраструктурой пользовательского интерфейса.

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

К сожалению, с большим количеством рамок - нам еще предстоит сделать много кодирования (или сделать много копирования вставки из начальной загрузки коды)

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

упрощенно пример:

Чтобы показать навигации, структура пользовательского интерфейса ожидает, что URL-адрес, как «/ API/штурман» будет принимать запрос GET и вернуть данные в определенном формате. Задача интерфейса пользовательского интерфейса - отобразить навигатор.

Аналогично, для таблицы/объекта базы данных контактов инфраструктура пользовательского интерфейса будет отображать интерфейс, но диктует, что веб-API, такой как «POST»/«PUT», «/ api/object/Contact» будет обновлять/вставлять в объект. и полей, оказываемых на формах выбираются через GET для «/ API/метаданные/форма/контакт»


Дело в том, что с UI Framework/мета-рамки нам не нужно писать код пользовательского интерфейса. Единственная часть, где может потребоваться построение пользовательского интерфейса, - это когда люди хотят настроить/переопределить это. Единственное, что требуется, - это создать веб-API в соответствии с требованиями и понятными фреймворком.

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

Мотивация позади этого проста - ускорение разработки приложений. (Хотя это уже скорее для начальной загрузки с письменным кодом - это все еще означает много избыточного код)

ответ

1

Есть несколько возможностей, стек В настоящее время я использую много есть:

ExtJS/Сенч сенсорный, как UI и UX для создания приложения и взаимодействия там. Я использую только модели и магазины (прокси для таблиц базы данных и записей в базе данных). В этом слое я использую только record.save() и store.sync().

Банча как мост. Bancha предоставляет конфигурацию для ExtJS/Sencha Touch, и поэтому записи.save() и store.sync() отправляются на сервер через json (Ext.Direct - это техническая спецификация, но вам не нужно это знать).

CakePHP - это мой backend, там я обрабатываю Authentification, бизнес-логику и т. Д. Я реализую функции CRUD в бэкэнд, а Bancha преобразует и отправляет данные в интерфейс.


Я не уверен, что если один является то, что вы ищете, или если вы хотите иметь один слой более высокой абстракции. Дайте мне знать :)

С наилучшими пожеланиями,
Roland

PS: Иногда я использую Bancha.Scaffold для прототипирования, Сенча Архитектор по-прежнему замедляться для прототипирования для меня.

+0

Спасибо, узнал что-то новое, но это не служит моей цели. Я добавил несколько дополнительных комментариев к этому вопросу. – anups

0

Я вижу, куда вы направляетесь. Ваша идея - пользовательский интерфейс на основе конфигурации. То, что вы найдете, это вещи, называемые Быстрое прототипирование или Леса.

У меня была схожая идея, но я еще не нашел времени, чтобы полностью реализовать эту концепцию. Я думаю, что вы хотите что-то вроде последнего примера здесь (только немного более сложного):
http://scaffold.banchaproject.org/examples.html

Вместе с Bancha вам нужно будет использовать только CakePHP испечь оболочку для создания MVC из базы данных. Просто этот акт заставит модели, доступные в интерфейсе, и код интерфейса, затем создаст вкладку для каждой модели, а также отобразит сетку ниже. В зависимости от доступных функций CRUD сетка становится редактируемой или нет.

Смежные вопросы