Grunt — это инструмент для сборки javascript проектов из командной строки с использованием задач. Релиз вышел совсем недавно, автор Ben «Cowboy» Alman, проект есть на gitnub. В этой статье я рассмотрю основы Grunt, его установку и использование.
Читать полностью »
Рубрика «javascript» - 550
Grunt, инструмент для сборки javascript проектов
2012-07-24 в 6:02, admin, рубрики: build, command line, grunt, javascript, node.js, Веб-разработкаКак сделать группу инпутов удобными
2012-07-23 в 11:45, admin, рубрики: javascript, jquery, Блог компании Островок, метки: javascript, jqueryКогда я работал над сервисом заметок jotsky.com, надо было сделать ввод телефонного номера из двух инпутов. Примерно такой:
Я сделал навигацию с помощью стрелочек. Сделал, чтобы по мере заполнения фокус переключался к следующем инпуту. А вот сделать правильную вставку из буфера обмена у меня никак не получалось.
Читать полностью »
Как сделать группу инпутов удобной
2012-07-23 в 11:45, admin, рубрики: javascript, jquery, Блог компании Островок, метки: javascript, jqueryКогда я работал над сервисом заметок jotsky.com, надо было сделать ввод телефонного номера из двух инпутов. Примерно такой:
Я сделал навигацию с помощью стрелочек. Сделал, чтобы по мере заполнения фокус переключался к следующем инпуту. А вот сделать правильную вставку из буфера обмена у меня никак не получалось.
Читать полностью »
Простой таймер
2012-07-22 в 15:54, admin, рубрики: javascript, jquery, jquery plugins, метки: javascript, jquery pluginsНа днях появилась надобность в таймере для сайта, но как всегда простая задача превратилась в весёлые часы работы.
Конечно, существует уже множество всяких разных таймеров с кучей настроек и плюшек. Но, на мой взгляд, быстрее решить такую достаточно простую задачу самому, чем искать, затем настраивать и разбираться в чужом решении. Так родился simpleTimer.
Читать полностью »
Java2Js: Инструменты и шаблоны
2012-07-21 в 16:07, admin, рубрики: java, javascript, jslint, netbeans, qunit, метки: javascript, jslint, netbeans, qunit
Кажется, что Js — это «просто скриптовый язык» на котором я по-быстрому добавлю нужные фичи на странице, не сильно заботясь о качестве кода. Когда-то это было верным. Даже текущие стандарты Js и Html в целом располагают к этой философии.
Но времена изменились! Теперь на Js создают сложные и запутанные веб-приложения, которые просто не могут не столкнуться с проблемами своих «старших братьев» (серверных приложениях написанных на Java, C# и т.д.). А значит, чтобы не погрязнуть в тысячах строк «спагетти-кода», требуется отказаться от философии «просто скрипт». Нужно воспринимать Js как инструмент, с которым требуется создать сложную, модульную и масштабируемую систему.
В рамках новой философии «серьезного языка, для серьезных задач» я хочу начать цикл небольших статей о мире Js со стороны Java разработчика. Начнем с инструментов и различных шаблонов разработки.
Золотое правило производительности
2012-07-21 в 12:11, admin, рубрики: javascript, performance, Веб-разработка, производительность, фронтэнд, метки: performance, производительность, фронтенд, фронтэндОт переводчика: Это перевод заметки товарища по имени Steve Souders, который очень плотно занимается вопросами производительности веб-сайтов и даже написал пару неплохих книг на эту тему.
Вчера я проводил семинар в Google Ventures для некоторых из инвестируемых ими компаний. Я не знал насколько подготовленной в вопросах производительности будет аудитория, так что я сделал обзор вопросов, связанных с производительностью, начиная с первых моих выступлений в 2007 году. Уже несколько лет я не рассказывал о методах улчшения производительности, описаных в моем блоге "High Performance Web Sites". Я прошелся по таким вещам, как Меньше HTTP-запросов, Добавление заголовка Expires и Gzip.
Но мне надо было вернуться еще дальше. Думая о тех временах, когда еще не существовало конференции Velocity и самого понятия WPO, я решил, что должен пояснить почему я занялся именно клиентской оптимизацией. Я нашел слайды, поясняющие «Золотое правило производительности»: 80-90% времени ожидания пользователем занимает работа браузера.
На слайдах были данные по времени отработки сервера и клиента для популярных сайтов, но данные были устаревшими и ограниченными, так что я решил обновить их. Вот, что получилось.
Дао роста полей
2012-07-20 в 20:01, admin, рубрики: greasemonkey, HabrAjax, javascript, userscript, userscripts, Юзабилити в IT, метки: HabrAjax, userscript, userscripts Немного пятничного веселья.
Поля ввода, Textarea, которые молчат, когда с ними ничего не делают, на самом деле хотят расти. Когда объём вводимых текстов превышает их размеры, их тайное желание не всегда слышится дизайнерами и верстальщиками, потому что они уже далеко и думают о новых горизонтах. Оно есть, если прислушаться к кончикам пальцев пользователя, досадливо двигающих скролл мыши.
Иногда об этом удаётся забыть, если размер поля ввода предоставлен в основном удовлетворительный. В 3 браузерах из 5 есть даже место для изменения размеров, которое верстальщик, оглушённый указанием свыше, иногда отключает (textarea{resize: none}). Есть и другие способы затруднить жизнь пользователю. И тогда он уходит берётся за скрипты и стили.
Читать полностью »
6 примеров, роняющих IE6
2012-07-20 в 18:41, admin, рубрики: css, html, Internet Explorer 6, javascript, хулиганствоКому не ненавистен IE6? К сожалению, разработчикам приходится иметь дело с этим устаревшим браузером из-за значительного количество использующих его людей.
Здесь приводится маленький неисчерпывающий список кода, который заставляет IE6 упасть.
Всё же после таких мучений для разработчиков разве не можем мы иметь право отомстить?
Начнем с самого длинного:Читать полностью »
Введение в Javascript Source Maps
2012-07-20 в 8:15, admin, рубрики: Closure Compiler, html5, javascript, minification, sourceMappingURL, переводыВы когда-нибудь думали, как было бы здорово, если бы слитый в один файл и минифицированный яваскрипт код в production-окружении можено было удобно читать и даже отлаживать без ущерба производительности? Теперь это возможно, если использовать штуку под названием source maps.
Если коротко, то это способ связать минифицированный/объединённый файл с файлами, из которых он получился. Во время сборки для боевого окружения помимо минификации и объединения файлов также генерируется файл-маппер, который содержит информацию об исходных файлах. Когда производится обращение к конкретному месту в минифицированном файле, то производится поиск в маппере, по которому вычисляется строка и символ в исходном файле. Developer Tools (WebKit nightly builds или Google Chrome Canary) умеет парсить этот файл автоматически и прозрачно подменять файлы, как будто ведётся работа с исходными файлами. На момент написания (оригинальной статьи — прим. перев.) Firefox заблокировал развитие поддержки Source Map. Подробнее — на MozillaWiki Source Map.
Читать полностью »
Подмена XMLHttpRequest или как не трогая тонны готового js-кода изменить поведение всех ajax-запросов
2012-07-20 в 7:04, admin, рубрики: ajax, javascript, xmlhttprequest, метки: javascript, xmlhttprequestЗдравствуйте, в этой маленькой заметке расскажу немного про ООП в JS, объект XMLHttpRequest, паттерн прокси, и дружелюбие джаваскрипта в этом плане.
Была у меня сегодня такая задача — есть проект, который довольно активно использует ajax-запросы, но вот проблема — бекенд у нас так устроен, что разаутентифицирует пользователя, если тот не активен в течение, скажем, полу часа. В итоге случалось такое, что пользователь, пытаясь совершить какое-то действие, которое использует аякс, не мог его совершить (уж извините за тавтологию), нужно было решить эту проблему.
Читать полностью »