http://mtaalamu.ru ru (http://mtaalamu.ru) (http://mtaalamu.ru) http://mtaalamu.ru http://mtaalamu.ru RPC на JavaScript /blog/coding/2433.html /blog/coding/2433.html yababay материал об удаленных процедурах, выполняемых с помощью фреймворка GWT. В то время эта технология действительно выглядела прорывом. Еще бы: клиентский и серверный код пишутся на одном и том же языке! Но за прошедшее время произошло много событий, которые побуждают меня всё чаще писать на чистом JavaScript, особенно там, где не требуется задействовать мощные библиотеки и API.

На стороне сервера использую Node.js, развивающийся в последние месяцы просто космическими темпами. На стороне же клиента — не менее интенсивно развивающийся jQuery, который, помимо возможности рисовать красивые интерфейсы, содержит мощные средства выполнения асинхронных запросов. Ну, а посредником между клиентом и сервером может выступать код в формате JSON (я и раньше его иногда использовал, в GWT для этого есть необходимые пакеты).

Вот как можно организовать передачу JSON-объекта на сервер. На стороне клиента:

var queryParams = {greeting: 'Hello, World!', someBool: true};
$.getJSON('/hello', queryParams, function(data){
     // асинхронный разбор прилетевшего с сервера JSON-объекта.
}


Как принять на стороне сервера (задействован пакет express):

app.get('/hello', function (req, res) {
    res.setHeader('Content-Type', 'application/json; charset=utf-8');
    var someObject = {
        replay: 'Воистину ' + req.query.greeting,
        yesOrNo: req.query.someBool
    };
    res.send(JSON.stringify(someObject));
}


Вот так, довольно бесхитростно. Учитывая то, что с сервера можно присылать довольно сложные объекты, этот метод вполне может заменить GWT в экспресс-проектах, когда городить огород некогда и незачем.]]>
Sat, 08 Dec 2012 23:43:52 +0400 JavaScript JSOW RPC GWT
YUI Compressor: сжимаем JavaScript файлы /blog/coding/1861.html /blog/coding/1861.html Sergei_T топик. Вот, кстати, решение на Java.



developer.yahoo.com/yui/compressor/

Скачиваем архив здесь:

yuilibrary.com/downloads/#yuicompressor

В архиве в директории build будет уже собранный jar файл. Запускаем его так:

java -jar yuicompressor-x.y.z.jar --type js --charset utf-8 --nomunge --preserve-semi --disable-optimizations  исходный-скрипт.js -o сжатый-скрипт.js


Без ключа --nomunge код будет немножечко обфусцирован.]]>
Sat, 04 Jun 2011 21:52:13 +0400 JavaScript Java программирование
Кастомные маркеры для Google Maps /blog/coding/1813.html /blog/coding/1813.html yababay
Один хороший человек создал online-сервис для генерирования маркеров. От рисования иконки он не освобождает, но вот тень и javascript-код формируются автоматически, и это экономит много времени.]]>
Mon, 09 May 2011 12:09:25 +0400 JavaScript google maps
JSMin: обезжириватель JavaScript /blog/coding/1810.html /blog/coding/1810.html yababay
На сайте выложен бинарник для MS-DOS(!), но поскольку программа чрезвычайно проста, ее можно за несколько секунд откомпилировать для Linux не меняя ни строчки кода. Исходник можно взять здесь, далее все просто:

gcc -o jsmin jsmin.c ; sudo mv jsmin /usr/bin


Пользоваться так:

jsmin < fat.js > mini.js


Пропущенный через JSMin js-файл «похудел» раз в 5-6. Меня такой показатель вполне устраивает.]]>
Mon, 09 May 2011 00:41:50 +0400 JavaScript jsmin