Иногда я ищу некоторую помощь JavaScript, и я подхожу к термину "Серверный JavaScript". Когда вы используете JavaScript-сервер? И как?
Мой опыт работы с JavaScript был в браузере. Есть ли скомпилированная версия JS?
Иногда я ищу некоторую помощь JavaScript, и я подхожу к термину "Серверный JavaScript". Когда вы используете JavaScript-сервер? И как?
Мой опыт работы с JavaScript был в браузере. Есть ли скомпилированная версия JS?
Там проект Phobos, который представляет собой структуру JavaScript на стороне сервера.
В тот же день веб-сервер Netscape предложил серверную java script.
В обоих случаях JavaScript используется так же, как вы используете любой язык на сервере. Обычно для обработки HTTP-запросов и создания контента.
Rhino, который является системой JavaScript для Java, для Java, компилирует JavaScript в байт-коды Java, которые JVM может выбрать для JIT. Другие системы используют другие средства для выполнения java script, даже до такой степени, что некоторые из них составляют JIT, компилируя внутренние коды java script.
Я предвижу, что на сервере будет все больше JavaScript. Когда вы пишете "толстые" приложения в JavaScript на клиенте, вы также можете написать свою логику в JavaScript на сервере, чтобы не было необходимости совершать когнитивные прыжки с одного языка на другой. Окружающая среда будет отличаться, но большая часть вашего кода и знаний будет разделяться.
Наконец, JavaScript, вероятно, является сингулярным языком, который имеет наибольшее количество денег, указывающих на него прямо сейчас с точки зрения реализаций. От Apple, Mozilla, Google и даже от Microsoft, а также за усилия по созданию еще более продвинутого языка (т.е. В основном схемы с синтаксисом синтаксиса Algol sans).
Большая часть этих реализаций похоронена в браузере, но это не означает, что на стороне сервера нет значения.
Инструмент - это самое большое место, где JavaScript отсутствует, особенно на стороне сервера, но если вы считаете что-то вроде Phobos, где вы можете отлаживать JavaScript на стороне сервера в среде IDE, это отличное продвижение.
Лично я бросаю JavaScript в своих приложениях, таких как белая краска. Он предлагает дешевую расширяемость за очень небольшую стоимость и является отличным помощником.
Это не AJAX, если люди не используют этот термин ненадлежащим образом. Как следует из его названия, SSJS - это JavaScript, который работает на сервере, интерпретируемый автономным (то есть независимым от браузера) механизмом JavaScript, например SpiderMonkey.
Зачем беспокоиться? Ну, одна область, которую я сейчас вижу, она недоиспользуется в процессе проверки данных. С SSJS вы пишете один фрагмент кода, который затем используется как на сервере, так и на клиенте. Таким образом, вы получаете немедленную обратную связь с пользователем JS на стороне клиента, которая будет автоматически соответствовать проверке данных, имеющейся на сервере.
Классический ASP смог использовать JavaScript на сервере, хотя большинство людей использовали VBScript.
Одно убедительное использование JavaScript на сервере является дополнением к проверке данных на стороне клиента. Например, вы можете использовать одну и ту же библиотеку проверки JavaScript на клиенте и на сервере. Это гарантирует, что вы используете ту же логику на клиенте, что и на сервере, но (потенциально) избегаете ненужного обратного прохода путем предварительной проверки на стороне клиента.
Википедия перечисляет ряд реализаций JavaScript на стороне сервера здесь.
Node.js (см. также в статье Википедии) - это успех, а его сообщество растет!
MongoDB (на сервере), Chorme (на клиенте) и Node.js(на сервере) использовать движок JavaScript V8.
PS: вы можете использовать только один язык Javascript для всех ваших модулей проекта: клиент-API, клиентский интерфейс, "серверный концентратор" и серверную базу данных (например, хранимые процедуры). Все программисты "кодируют один раз"!
Основное различие между языками "Server-Javascript" и "Client-Javascript" объясняется в http://www.commonJS.org/, стандартная библиотека для Серверное Javascript.
CommonJS существует с 2009 года, а сегодня (2013) представляет собой зрелый стандарт, используемый как в MongoDB, так и в Node.js.
ИСТОРИЧЕСКАЯ ЗАПИСКА: самый старый активный клиентский клиент + сервер Javascript (включая использование PostgreSQL) открыт!
Выпущен в 2001 году и в непрерывном развитии с тех пор Whitebeam - это зрелая технология Javascript (и DOM). Последнее обновление было в январе 2016 года.
Node.js движок продолжается как среда выполнения, построенная на JavaScript Chrome V8... И теперь это, по сути, консолидированный успех! Последние выпуски - v7.0 и v6.8 LTS.
JSON, как формат обмена данными, в последние годы неуклонно растет интерес, превзошел в 2016 году интерес к XML (см. также в контексте науки, где превзошел в 2011 году). Как родной формат Javascript, он также является хорошим индикатором языка.
(более быстрый) V8 engine также наиболее часто используется с 2014 года: у самого популярного клиента (Chrome на рабочих столах и WebView на Android) и популярны на серверах — Node.js как runtime и PostgreSQL с PL/V8 для SQL и хранимых процедур.
... Возможно, самым важным вкладом на стороне сервера в 2016 году была быстрая и надежная поддержка базы данных для JSON и Javascript: с PostgreSQL 9.1+ (2016-10) вы можете загружать PL/V8 (и диалекты, такие как Coffeshop ) с помощью простой команды CREATE EXTENSION
; с PostgreSQL 9.5+ (2016-10) наиболее важным является полный ортогональный набор функций
Он может ссылаться на использование javascript для публикации сообщений на веб-сервере без повторной загрузки страницы: другими словами, AJAX.
Но более вероятно, что это означает что-то вроде Aptana/Jaxer (или, сегодня, Node.js), который использует javascript для серверного языка. В этом случае помните, что javascript - это всего лишь язык: DOM, используемый в веб-браузере, является своего рода API. Серверные механизмы javascript предоставили бы свои собственные объекты API, ориентированные на серверные задачи, такие как доступ к DB и файловой системе.
Javascript на стороне сервера представляет собой интересную идею из-за проблемы проверки на стороне клиента: вы хотите сделать проверку на стороне клиента, чтобы избежать отправки ненужных запросов на ваш сервер. Это повышает производительность сервера и сокращает время ожидания на клиенте. Но вы должны выполнить проверку на стороне сервера, потому что вы не можете доверять клиенту. Это приводит к большому дублированию кода между клиентом и сервером.
Теория состоит в том, что если ваши языки клиента и сервера совпадают, вам больше не понадобятся две реализации одной и той же логики. На практике это работает не так хорошо, потому что запросы клиента и сервера запроса страницы настолько разные и потому что вы не контролируете механизм JavaScript, используемый клиентом.
Это действительно зависит, если вы говорите об ASP.NET или классическом ASP. Если вы используете ASP.NET, не так много причин для использования Javascript.
ASP Classic - это другой случай. Вы можете использовать Javascript на стороне сервера в ASP так же, как и VBScript. Вы можете получить доступ к объектам приложения, сервера, запроса и ответа так же, как через VBScript.
При использовании Javascript на стороне сервера могут быть реальные преимущества в ASP, а не в VBScript. Это означает, что вы можете использовать код между кодом браузера и кодом сервера. Это также означает, что вашим разработчикам не нужно иметь дело с двумя разными языками.
Есть некоторые недостатки на стороне сервера Javascript в ASP, хотя. Во-первых, это не так быстро, как VBScript на стороне сервера при конкатенации строк. Это также не так хорошо, как вызов COM-объектов как VBScript (вы можете получать данные только из COM-вызовов через возвращаемое значение, а не через параметры out/byref).
Возможно, вы захотите иметь некоторую функциональность как в браузере, так и на сервере, чтобы иметь ту же самую реализацию.
Примером может служить рендерер для вики-синтаксиса, который вы запускаете в браузере для редактора WYSIWYG и на сервере, чтобы отобразить результирующую страницу. Таким образом, вы знаете, что оба визуализированных результата будут одинаковыми в обоих случаях.
По-видимому Rhino может компилировать JavaScript в классы Java.
Традиционно Javascript запускается вокруг объектной модели документа. Но что, если вы работаете в магазине Java и хотите, чтобы механизм создания сценариев вокруг вашей пользовательской объектной модели? Это, когда входит серверный Javascript.
Я помню Cocoon (Apache Java/XML/Javascript MVC framework) Я использовал серверный Javascript, поскольку что-то (я считаю, cforms), которое нужно было записать в Javascript и было запущено на сервере, хотя я считаю, что вы могли бы написать его на Java.
Мы использовали Rhyno к этому времени, пожалуйста, проверьте: http://peter.michaux.ca/articles/server-side-javascript-with-rhino-and-jetty
Да, я только что прочитал о SSJS на blog некоторым парнем по имени John Resig.
Он описывает движок Jaxer, который, по его словам, "Представьте, что вы срываете визуальную часть рендеринга Firefox и вместо этого заменяете его крючком на Apache - грубо говоря, что то, что Jaxer".
Для тех, кто знает ASP.NET HTML выглядит знакомым
<html>
<head>
<script src="http://code.jquery.com/jquery.js" runat="both"></script>
<script>
jQuery(function($){
$("form").submit(function(){
save( $("textarea").val() );
return false;
});
});
</script>
<script runat="server">
function save( text ){
Jaxer.File.write("tmp.txt", text);
}
save.proxy = true;
function load(){
$("textarea").val(
Jaxer.File.exists("tmp.txt") ? Jaxer.File.read("tmp.txt") : "");
}
</script>
</head>
<body onserverload="load()">
<form action="" method="post">
<textarea></textarea>
<input type="submit"/>
</form>
</body>
</html>
Обратите внимание на runat = "sever" и runat = "both"
http://steve-yegge.blogspot.com/2007/06/rhino-on-rails.html
Узнайте, как Стив Йегге использует серверный JavaScript с Rhino и почему. У него есть куча вещей о том, как он чувствует, что JavaScript уже наступил.
С помощью ASP вы можете использовать JavaScript на стороне сервера несколькими способами. То, как я обычно использую это, - это тот же код, выполняемый на клиенте и на сервере для проверки.
file.js
<!--//--><%
//javascript code
function example(){return "Hello, World!";}
//%>
file.html
<%@LANGUAGE="javascript"%>
<!-- METADATA TYPE="typelib"
FILE="C:\Archivos de programa\Archivos comunes\System\ado\msado15.dll" -->
<!--#include file="file.js"-->
<html>
<head>
<script language="javascript" src="file.js"></script>
</head>
<body>
<%=example();%>
<script language="javascript">alert(example());</script>
</body>
</html>
file.js
запускается и заканчивается так, как он делает, чтобы включить один и тот же файл.