Вопрос

У меня есть следующая ситуация. Клиент использует JavaScript с jQuery для создания сложного сайта. Мы хотели бы использовать JavaScript и jQuery на сервере (IIS) по следующим причинам:

  1. Передача навыков - мы хотели бы использовать JavaScript и jQuery на сервере и не должны использовать, например, скрипт VB. / классический асп. .NET Framework / Java ETC из-за этого исключается из-за этого.

  2. Улучшенные варианты поиска / доступности. Мы хотели бы иметь возможность использовать jQuery в качестве системы шаблонов, но это не жизнеспособно для поисковых систем, а пользователей с выключенными JS - если мы не сможем выборочно запустить этот код на сервере.

Существует значительные инвестиции в IIS и Windows Server, поэтому изменение этого не является вариантом.

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

Вот диаграмма, которая, надеюсь, объясняет ситуацию. Мне было интересно, если кто-нибудь сделал что-нибудь подобное?

Редактировать: Я не ищу критику в веб-архитектуре, я просто хочу знать, есть ли какие-либо варианты для манипулирования домом страницы, прежде чем она отправляется клиенту, используя JavaScript. Джоксер Это один из таких продуктов (нет IIS) спасибо.

Это было полезно?

Решение

Посмотри на принося браузер на сервер, Носорог, а также Используйте Microsoft IIS в качестве Java Servlet Engine.

Первая ссылка находится в блоге John Resig's (JQuery's Creator).

Обновление 2 августа 2011

Node.js приходит в Windows.

Другие советы

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

Вам нужно будет определить глобальный контекст для jQuery как-то, инициализируя window, document, self, location, etc.. Отказ Я не уверен, что это выполнимо.

Кроме того, как упомянул чирова, активные страницы сервера - очень устаревшая технология, она была заменена на ASP.NET Microsoft в начале века. Я использовал для поддержания устаревшей системы с использованием ASP 3.0 более чем в год, и это была боль. Наиболее замечательное времяпрепровождение было отладку: вы вряд ли найдете что-нибудь с целью сегодня и придется уменьшить красивые ошибки, такие как в журнале IIS:

Ошибка '800A9C68'
Определенная приложение или ошибка, определенная объектом

Тем не менее, я могу подтвердить, что мне удалось повторно использовать клиент и сервер JScript. Но это был код, написанный мной, который знал, что он будет использоваться на сервере.

PS Я бы не рекомендовал двигаться таким образом. Есть множество шаблонов, которые знакомы тем, кто пишет HTML и JavaScript.

JScript работает на IIS через что-то называемое ASP.
Активные страницы сервера.
Это было впервые доступно в 1996 году.

В конце концов ASP.NET был представлен как преемник. Но ASP все еще поддерживается.

Хотя нет дома для HTML-страницы, хотя.

Возможно, вам нужно немного пересмотреть вашу архитектуру.

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

1) env-js (см. http://groups.google.com/group/envjs. а также http://github.com/thatcher/env-js. ) Я считаю, что у этого есть вклад от John john joher joher и был введен вместе с тестированием / поддержкой jQuery.

2) HTMLUNIT (см. http://htmlunit.sourceforge.net/ ) Это старше и не было первоначально задумывалось вокруг jQuery, но в дикой природе есть отчеты, используя его, чтобы успешно запустить тестовый набор jQuery (http://daniel.gredler.net/2007/08/08/htmlunit-taming-jquery/ ).

Если вы хотите что-то чисто-IIS / MS, я думаю, что ваше наблюдение о хосте WindowsScript и / или что-то вроде полузаброшенного jscript.net, вероятно, примерно так близко, как вы собираетесь прийти вместе с портом (который вы ' вероятно, придется начать) чего-то вроде env-js или htmlunit.

Кроме того, я не знаю, видно, вы видели список википедийских решений для серверов JavaScript:

http://en.wikipedia.org/wiki/server-side_javascript

Наконец ... Вы, вероятно, могли бы написать исправную jQuery - подобную библиотеку, подобную jQuery на любом языке, у которого уже есть какая-то библиотека DOM и функции первого класса (или, не в состоянии eval средство). Смотрите, например PQuery для Perl (http://metacpan.org/pod/pquery ). Это получит вам преимущества стиля манипулирования документами JQuery. Трансфер навыков отличный, и JavaScript имеет прекрасное слияние очень приятных функций, но с другой стороны, имея разработчики, которые достаточно заботятся, чтобы узнать несколько языков, и JS не единственный хороший язык.

Я думаю, что в основном это скрипт на основе браузера, так что, вероятно, вы лучше используете технологии на основе VB или .NET, чтобы выполнить или генерировать HTML из шаблонов. Я уверен, что в мире Java есть несколько из них вокруг (как скорость). Затем вы будете использовать jQuery для создания или добавления функциональности и удобства и удобства использования клиента, поэтому он делает сайт более пригодным для этого, чем было бы.

Что именно вы подразумеваете под

«Клиент использует JavaScript с jQuery для создания сложного сайта»

Половина точки jQuery - это легко сделать для разработчика для манипулирования домом и, следовательно, добавлять интерактивные улучшения на веб-сайт. Запустив JavaScript на сервере и только рендеринг HTML вы потеряете возможность добавления этих улучшений, не выполняя поездку на сервере (мыслить модуль обратной связи WebForms ... тьфу).

Теперь, если кто вы действительно имеете в виду, это клиент использует строитель сайта на основе jQuery, почему бы не имел этот инструмент выводить плоский HTML в первую очередь?

Взгляните на это технология. Отказ Вы можете вызывать сценарии для запуска на сервере, на клиенте или обоих. Кроме того, это действительно реализует двигатель Firefox на сервере. Посмотрите на это.

Jacker Aptana - первый веб-сервер Ajax. Я еще не пытался, но я буду. Выглядит многообещающим и очень мощным.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top