Клиент / Сервер всегда разделены! Или они? - PullRequest
0 голосов
/ 28 июля 2010

Удивительно, сколько программистов в большом сообществе программистов задают вопросы типа «Как мне сделать бэкэнд EXTJS?»или «Как мне интегрировать jQuery с Java?», не понимая различия между клиентом и сервером.Тогда я задумался, существуют ли фреймворки, в которых сервер фактически отправляет JS или что-то клиенту для выполнения?Каковы философские мысли вокруг таких подходов?

edit - чтобы уточнить:

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

Ответы [ 4 ]

1 голос
/ 28 июля 2010

Многие различные фреймворки делают это, когда вы работаете с ASP.NET, вы постоянно будете видеть вызовы POSTBACK в клиенте, это генерируется фреймворком и является вызовом Javascript. В мире Java большинство JSF-фреймворков в большей или меньшей степени соответствуют этому. Я не вижу в этом никакого вреда, пока вы помните правило «никогда не доверяйте клиенту». Поэтому, если вы собираетесь выполнять проверку полей в Javascript на клиенте, это НЕ освобождает вас от необходимости делать такую ​​же проверку на стороне сервера. Я сделал довольно большое приложение Flex не так давно, и, как часть его, я начал создавать модуль, который будет читать аннотации Hibernate Validation и автоматически создавать ту же проверку в ActionScript. но мне нравится идея иметь возможность устанавливать проверки один раз на бэкэнде и проверять их на клиенте, сохраняя возможность возврата на сервер.

0 голосов
/ 28 июля 2010

Физический барьер определенно есть.HTML / JavaScript / ActionScript будет выполняться в клиентском пространстве и (по сути) будет выполнять удаленные вызовы процедур для серверной части.Из-за этого разрыва вы не сможете устранить архитектуру клиент / сервер.

При этом Пьерретен подчеркивает, что Microsoft ASP.NET API активно использует автоматически сгенерированный JavaScript для взаимодействия с серверомбоковые компоненты.То есть вы добавляете элемент управления формой в свой проект, и для вас генерируется код как на стороне сервера, так и на стороне клиента.

0 голосов
/ 28 июля 2010

Отправка JavaScript клиенту тривиальна.Просто укажите URL-адрес в теге сценария на динамический сценарий вместо статического файла .js.

Что касается запуска JavaScript на стороне сервера, такие вещи, как Node.js, позволяют вам это делать, хотя они этого не делают.имеют одинаковый уровень взаимодействия с браузером.

...