JavaScript

Веб-разработка Пример создания нового проекта с помощью Yeoman 1.0beta и Geddy (Node.js)

Чуть менее суток назад было объявлено о выходе Yeoman 1.0beta. Новая версия принесла с собой множество изменений, включая изменившийся синтаксис для командной строки. Главным нововведением можно считать то, что авторы позиционируют новую версию не просто как набор инструментов для разработки, а уже как подобие полноценной среды для веб-разработки. Подробнее о нововведениях можно прочитать здесь.

Сегодня я расскажу о том, как с помощью Yeoman 1.0beta подготовить окружение для разработки нового веб-проекта. Для примера создадим проект, и серверная, и клиентская часть которого будут написаны на javascript. Для этого в качестве инструментов разработки выберем такой экзотичный инструмент как Geddy (Node.js MVC-фреймворк) для бекенда и Ember.js для фронтенда. В качестве шаблонизатора будем использовать Handlebars.js, так как он может работать и на серверной стороне, и на клиентской. Вся работа будет проводиться в Ubuntu 12.04 LTS.

Читать дальше →

 

Веб-разработка Начинаем работать с Node.js в Ubuntu

Про Node.js, серверную реализацию языка javascript, написано уже много статей. Начиная от восторженных, заканчивая целиком и полностью критическими. Конечно, как и любой проект, Node.js имеет свои достоинства и недостатки, поэтому лучше применять его там, где он действительно будет полезен. Например, я не считаю целесообразным целиком и полностью писать всю серверную часть проекта на javascript, а в частности на Node.js. Просто потому, что для этого существуют более удобные решения на различных языках программирования. Но для части сервисов, которые будут использоваться в проекте, вполне можно использовать Node.js. Скажем, для реализации постоянного http-соединения с сервером (comet, long polling). Конечно, многие скажут, что необязательно использовать для этого Node.js. Впрочем, это дело каждого, какую технологию выбирать. Но в случае Node.js можно сказать, что он вполне себе успешно используется в качестве XMPP-сервера мгновенных сообщений у социальной сети «В контакте».

Читать дальше →

 

JavaScript Включаем одни шаблоны Handlebars.js внутрь других шаблонов, или пишем хелпер {{include}}

Handlebars.js — это javascript-шаблонизатор, который дает отличную возможность писать простые и семантически понятные шаблоны, причем можно быть уверенным, что эти шаблоны не свалятся с ошибкой, если одна из переменных шаблона будет не определена, как, например, иногда происходит при использовании встроенного шаблонизатора из Underscore.js. Кроме того, Handlebars.js позволяет нам компилировать шаблоны заранее, не перекладывая задачу по компиляции шаблонов в браузеры пользователей.
Handlebars.js, на первый взгляд, можно назвать примитивным, поскольку он запрещает использовать сложные логические выражения в шаблонах, однако такова концепция этого шаблонизатора и его шарм — ведь шаблоны всегда останутся простыми и понятными. Всю сложную логику следует выносить в специальные функции-хелперы (helpers). Шаблонизатор содержит несколько встроенных хелперов, среди которых {{#each}}, {{#if}} и {{#unless}}, но среди них катастрофически не хватает хелпера {{include}} (наподобие {include} из Smarty), который позволил бы нам включать внутрь одних шаблонов другие шаблоны.

Читать дальше →

 

Веб-разработка PhoneGap, или нативное приложение для Android на HTML, CSS и Javascript

Не так давно я стал обладателем мобильного устройства на Android. Как разработчика программного обеспечения меня сразу же заинтересовала возможность написания мобильных приложений для подобного устройства. Как известно, нативные приложения для Android пишутся на Java с использованием Android SDK от Google. Но также существует возможность создавать мобильные версии веб-приложений на HTML, CSS и JavaScript, и такие веб-приложения будут доступны лишь через браузер и не будут иметь возможность доступа к таким возможностям мобильных устройств как геолокация, акселерометр, камера, доступ к файлам и другим. Но признайтесь, было бы неплохо, если бы нативное мобильное приложение можно было написать на JavaScript…

Читать дальше →

 

JavaScript Еще раз о parseInt, или почему parseInt от ’09’ равно 0

Казалось бы тема про parseInt в javascript уже довольна избита, но до сих многие из разработчиков, как опытных, так и не очень, с поразительным упорством наступают на одни и те же грабли. Как известно, глобальный метод parseInt() в javascript используется для перевода числа из его строкового представления в целочисленное число. Этот метод имеет два параметра — собственно само строковое представление числа и необязательный параметр, который указывает основание системы счисления, в которой производится преобразование. Вот о втором параметре и пойдет сегодня речь. Если внимательно посмотреть на него, взвесить все «за» и «против», и взглянуть на пример кода из реально существующего веб-сервиса, то станет понятным, что лучше всегда явно указывать этот самый необязательный второй параметр parseInt. Иначе в некоторых частных случаях функция с parseInt может работать неправильно. В качестве живого примера рассмотрим функцию, которая проверяет контрольное число у свидетельств пенсионного страхования.

Читать дальше →

12