nodeJS Быстрый веб-сервер на javascript движке V8

19Июл/110

Яндекс выложил первые блоки для своего web-фреймворка БЭМ

Веб-фреймворк БЭМ на основе Node.js, разрабатываемый в недрах Яндекса, обзавёлся сегодня первыми блоками, инструментами и тестовым проектом, в котором можно увидеть простой пример использования. К БЭМ прилагается шаблонизатор на основе гибрида JSON и XSLT.

Чтобы установить и опробовать БЭМ, надо произвести следующие действия:

echo 'export NODE_PATH="'$(npm root -g):$NODE_PATH'"'>>  ~/.bashrc
sudo npm install -g bem
sudo npm install -g xjst

Подробнее о работе с фреймворком можно почитать в вики проекта.

2Июн/112

Native JavaScript Templates (nJSt). Шаблонизатор, построенный на нативном JavaScript

Приветствую тебя, читатель. Гоняясь за идеей сделать шаблонизатор, основанный на нативном JavaScript — я кое к чему пришёл. В Node.JS для реализации этой задачи нашлось всё, что я мог пожелать, и выполнить задачу получилось настолько же нативными средствами. Например, главным инструментом послужил модуль VM для выполнения изолированного от внешней среды JavaScript-кода. Шаблонные вставки — это чистый JS, но туда не попадают всяческие опасные инструменты вроде скальпеля, require, global и др.

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

HTML-шабон:

<html>
<head>
    <title>#{PageTitle}</title>
</head>
 
<body>
    <h1>#{PageTitle}</h1>
 
    <ul>
    <# for (var i=0; i<List.length; i++) { #>
        <li>
            <#
                if (typeof List[i] !== 'object') {
                    show(List[i]);
                } else {
                    show(List[i].name +' - '+ List[i].note);
                }
            #>
        </li>
    <# } #>
    </ul>
</body>
</html>

Контекст:

var context = {
    PageTitle: 'jJSt test',
    List: ['First', {name:'Second', note:'2th'}, 'Third'],
};
var result = njst.parse(html, context, {debug:1});

© unclechu

22Мар/101

Шаблонизатор: Mu

Итак, в написании блога настал момент когда просто выводить HTML стало недостаточно, и я стал искать шаблонизатор для сайта. Выбор пал на Mu – порт Mustache из Ruby, насколько я понял. И хоть с Ruby работать мне не приходилось, синтаксис и набор фич понравился. Чёткое отделение логики от представления (в шаблоне вообще нет кода), вложенные шаблоны, компиляция в функции. В общем, решил изучить.

22Мар/102

Node.js – стиль и фреймворки

После PHP писать для Node приятно. Конечно, это дело субъективное, но лично мне JavaScript теперь кажется куда более подходящим языком для Web-приложений. Добавьте сюда то что теперь один язык можно использовать и на клиенте, и на сервере. К тому же стиль программ (event-driven) уже знаком большинству веб-программистов из опыта клиентского JavaScript.