Обновить
256K+

JavaScript *

Прототипно-ориентированный язык программирования

253,24
Рейтинг
Сначала показывать
Порог рейтинга
Уровень сложности

Вышел KnockoutJS 2.2.0

Время на прочтение1 мин
Охват и читатели6.9K
Steve Sanderson сообщает о релизе следующей версии knockoutjs.

Как всегда в таких случаях исправленно много ошибок, оптимизированна структура кода, настроена производительность и так далее.

О новых возможностях под катом
Читать дальше →

Блог на node.js

Время на прочтение1 мин
Охват и читатели13K
Вышла ноль пятая версия mvc фреймворка Autodafe для node.js. Код стало писать удобнее, кода теперь писать нужно меньше, ещё меньше. Скоро код писать не надо будет совсем, достаточно будет лишь подумать о нём.

Пример действия контроллера, которое совершает два асинхронных запроса к базе данных, компанует вьюшку index.html и отправляет ее клиенту (при этом отлавливая и обрабатывая все ошибки):

Site.prototype.index = function( response, request ){
  response.send({
    topic : this.models.topic.With( 'author', 'comments.author' ).find_by_pk( request.params.topic_id ),
    news  : this.models.news.find_all()
  });
}


Написаны подробные статьи про тонкости работы с контроллерами, авторизацию пользователей и работу с URL адресами.

И самое главное: переработано и подробно задокументировано демо с блогом. Блог не обладает богатым функционалом, но может служить хорошей отправной точкой для разработки своего приложения.



За хабракатом только комментарии

Загрузка картинок в фоне. Модуль на JavaScript

Время на прочтение4 мин
Охват и читатели9.9K
Некоторое время назад я начал писать большой проект с высокой нагрузкой, в котором широко использовались возможности JavaScript. За это время пришлось переосмыслить многие вещи и столкнуться с необычными проблемами и различными уловками для их решения. Об одной из таких уловок и пойдет речь далее.

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

Фронт-энд Островка изнутри

Время на прочтение10 мин
Охват и читатели27K
Привет, меня зовут Игорь (iamo0), я старший фронт-энд разработчик в Островке. Я занимаюсь нашим основным продуктом: сайтом Ostrovok.ru. С помощью нашего сайта ежедневно бронируют отели тысячи человек, поэтому для нас очень важно, чтобы качество нашего продукта было на высоте. А для этого нужно не отвлекаться на разного рода мелочи и уметь эффективно решать поставленные задачи.

Расскажу как мы организовали процесс фронт-энд разработки так, чтобы можно было решать поставленные задачи, не задумываясь о средствах их решения, сосредоточившись на самой задаче.

Не претендую на то, что мой рассказ сорвет покровы или станет настоящим откровением. Хочу поделиться с вами опытом работы с большими приложениями, накопленным разработчиками Островка.
Читать дальше →

DatePalette — фреймверк, создающий UI для работы пользователя с датой в браузере

Время на прочтение2 мин
Охват и читатели5.7K
Дата — крайне неудобная штука для работы с ней в плане создания UI.

Мало того, что она составная (год, месяц, день), и ее компоненты не кратны между собой. Так она еще и довольно велика, но при этом требует претенциозной точности — ввод года рождения в выпадающем списке, если вам больше 8 лет — задача на тренировку силы воли.

Мой (второй) вариант решения проблемы(апдейт)


Для самых нетерпеливых — да, есть функционирующее демо — jsfiddle.net/Meettya/aDAsa/embedded/result

Что это такое и как работает

JSter – все, что нужно для Javascript

Время на прочтение1 мин
Охват и читатели14K
Насколько сложно собрать все Javascript библиотеки в одном месте? Задача, конечно, непростая, у веб-разработчика из солнечной Финляндии Juho Vepsäläinen ушло на это около семи месяцев. Его проект JSWiki содержит более 30 категорий, в которых перечислены самые разнообразные проекты для frontend разработки. Сколько библиотек и утилит там упомянуто посчитать очень трудно. Прежде всего, потому что каталог слабо структурирован и не содержит практически ничего кроме ссылок.

Тем не менее, JSWiki послужила нам отличной базой для нового проекта JSter. Вместе с Juho Vepsäläinen мы разработали самый полный открытый Javascript каталог. В нем уже почти 700 библиотек (в основном open-source) и любой пользователь может дополнить список.
Читать дальше →

Странные глобальные переменные в VK.com, зачем?

Время на прочтение2 мин
Охват и читатели76K
Привет, Хабр!

Долго не мог решить, как это оформить – как вопрос в QA или как пост, в итоге, 4-ый пункт правил оформления вопроса меня насторожил — «содержит в себе действительно вопрос, но не повод для дискуссии.», и я решил это сделать постом.

До сегодняшнего вечера, я считал, что немного разбираюсь в JavaScript, и даже знаю какие-то фишки клиентской оптимизации:
— к примеру, минимизировать и обфусцировать скрипты, склеить их в один файл и позволить закэшировать его браузеру;
— так же я свято верю в то, что нельзя засорять window большим количеством глобальных объектов, это так же может сказаться на производительности и «качестве» (собственно об этом и пойдёт речь)

Не помню, что именно меня натолкнуло на мысль открыть консоль в chrome development tools, находясь на vk.com (куда я к слову очень редко захожу), но назад дороги уже нет…

Сначала я удивился отсутствию jquery. Символ доллара, конечно занят, но совсем не под jQuery, а вот под такую штуку:

function () { var curArgs = Array.prototype.slice.call(arguments); return func.apply(obj, args.concat(curArgs)); }


Попытка достучаться через jQuery тоже ни к чему не привела. Ну ладно, подумал я, они, наверное, как yahoo, написали свой мега крутой framework с блэк-джеком и без jquery. Но я решил убедиться, что в объекте window нет какого-нибудь странного свойства, в которое затисался jQuery (ну может он скрывался бы в window.jqry).

Я написал в консоль window, нажал enter, развернул «дерево», чтобы увидеть список свойств объекта и…
Читать дальше →

Четыре паттерна вызова функций в JavaScript

Время на прочтение6 мин
Охват и читатели46K
Язык JavaScript был представлен как язык функционального программирования. Причина заключается в том, что функции в JS не просто разделяют логику на операционные блоки, функции являются объектами первого класса, способными создавать другие объекты. Подобная зависимость от функций одновременно является как сильной стороной, так и настоящим проклятием этого языка. Сильная сторона заключается в том, что язык, обладая подобными особенностями, становится легковесным и быстрым (каким JavaScript изначально и видели его создатели). Однако если вы не знаете что делаете — однозначно ждите беды.

Я предлагаю посмотреть на паттерны вызова функций, а точнее на то, как значительно изменяется результат в зависимости от выбранного паттерна. Также мы рассмотрим как ведет себя this, в зависимости от способа вызова функции.

Итак, существует четыре пути вызова функций:

  • Вызов метода — Method Invocation
  • Вызов функции — Function Invocation
  • Вызов конструктора — Constructor Invocation
  • Вызов apply и call — Apply And Call Invocation

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

Rivertrail: параллелизм в JavaScript

Время на прочтение6 мин
Охват и читатели18K


Использование возможностей параллелизма в настоящее время стало уже обычной практикой в программировании. Однако все языки можно разделить на два типа: те, в которых параллельность применяется вовсю и активно (например, С), и те, которые не вкусили еще в полной мере радостей многопоточности. К последним, в частности, относится JavaScript. Чтобы восполнить этот досадный пробел и пополнить копилку прогрессивного опыта, предлагаем вашему вниманию перевод сообщения из блога Ника Матсакиса, программиста Mozilla Foundation, в котором он делится первыми личными впечатлениями от использования Rivertrail — инструмента параллелизации в JavaScript, созданным Intel.
Читать дальше →

Thinking Reactively. Meteor JS

Время на прочтение5 мин
Охват и читатели33K
Если вы еще не слышали про meteor, значит вы вообще не следите за миром JavaScript, не интересуетесь вебом и непонятно каким образом сюда попали.
Пусть так.


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

Изучаем jQuery. 2-е изд

Время на прочтение3 мин
Охват и читатели17K
image
Автор: Э. Каслдайн, К. Шарки
Перевод книги: Вадим Черник
Автор рецензии: Алеся Серада (журналист, редактор www.dev.by).
Дата выхода: 23/07/2012


Вот еще одна книга нашего издательства, мимо которой сложно пройти. Если раньше у JavaScript была не очень хорошая репутация, то сейчас наступила новая эра во Всемирной сети для этого языка. Первые ниндзи «Изучаем jQuery» вышли в начале прошлого года и зарекомендовали себя очень положительно (отзывы на ozone.ru). Поэтому мы с радостью летом выпустили обновленное издание «Изучаем jQuery. 2-е изд.». Книгу можно приобрести как в печатном, так и в электронном виде.

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

Meteor 0.5.0: аутентификация, OAuth, SRP

Время на прочтение1 мин
Охват и читатели5.3K
JavaScript-фреймворк для создания одностраничных веб-приложений реального времени Meteor с самого своего появления рождает противоречивые чувства. Мощный пиар, 11 миллионов инвестиций, впечатляющий скринкаст, восторженные отзывы — всё это на фоне очень раннего прототипа с прямым доступом к БД и непривычной архитектурой, вызывающей много вопросов.

Превью-версия 0.5.0 наконец-то содержит полноценные механизмы аутентификации и авторизации — Accounts API и Authentification API, мощный виджет аутентификации со всем функционалом для парольного доступа и мастерами настройки для каждого поддерживаемого OAuth-провайдера (на сегодняшний день это Google, Facebook, Twitter, GitHub и Weibo). В Meteor включена поддержка протокола SRP (Secure Remote Password Protocol), который реализует доказательство с нулевым разглашением, позволяя пользователю аутентифицировать себя, не передавая пароля.


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

Fronteers 2012 — лучшая конференция по клиентской разработке, часть 1

Время на прочтение5 мин
Охват и читатели7.8K


В этом году мне посчастливилось впервые посетить ежегодную (5-ю по счету), конференцию Fronteers #fronteers12, в Амстердаме.

Самая громкая клиент-сайд конференция в Европе, длилась 2 дня, 4-5 октября в стенах необычного кинотеатра Pathé Tuschinski.

Все доклады были на английском языке, в постоянном сопровождении Кристиана Хейлманна. Под катом ссылки на слайды и основные тезисы презентаций первого дня конференции.
Читать дальше →

Ближайшие события

Видеозапись доклада «Вся соль одностраничных приложений» с 404fest

Время на прочтение2 мин
Охват и читатели18K
Федя Шумов и Арсений Заречнев, фронт-енд разработчики из команды Островка, рассказали о
«Всей соли одностраничных приложений» на 404fest в Самаре.

Содержание доклада:


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

Первый стабильный SDK для Dart

Время на прочтение2 мин
Охват и читатели13K
Разработчики языка программирования Dart отмечают праздник: первый день рождения Dart, а также выход первого стабильного SDK. Новый SDK идёт с быстрой виртуальной машиной Dart VM, которая в некоторых тестах Octane даже превосходит по производительности движок V8 для рендеринга Javascript.

Вместе с SDK под Windows/Mac/Linux выпущен более эффективный транслятор из Dart в Javascript, редактор кода Dart Editor и сборка Chromium с поддержкой Dart (браузер Dartium c Dart VM). Компания Google надеется, что в будущем нативная поддержка Dart появится во всех браузерах.
Читать дальше →

Визуальный редактор ББ кодов для phpBB3

Время на прочтение1 мин
Охват и читатели9.1K
Не так давно я уже писал о визуальном(WYSIWYG) редакторе ББ кодов — WysiBB. С момента написания той статьи было проделано много работы по доработке редактора. WysiBB был переписан с нуля. Изменился внешний вид редактора и самое главное было проделано множество улучшений для более простой и тонкой настройки WysiBB. В частности добавление своих ББ кодов стало намного проще.

Но на этом останавливаться я не был намерен и настало время создания удобного и полноценного мода для форума phpBB3. Почему именно phpBB3? Ну во первых, официальный форум работает именно на этом движке и уже поэтому его легче всего было тестировать, он очень популярен и не имел хорошего WYSIWYG редактора.
Читать дальше →

Посылаем сообщения в Notification Center из браузера

Время на прочтение1 мин
Охват и читатели12K
С выходом Mac OSX 10.8 пользователям был представлен «Центр Уведомлений» — Notification Center. Как только вам приходит новая почта или сообщение в Facebook, то вы видите в правом верхнем углу всплывающее окошко с уведомлением об этом. Notification Center идентичен панели уведомлений в iOS.

Используя Notifications API, можно посылать уведомления в Notification Center Mac OSX Mountain Lion из браузера Safari.
Читать дальше →

Создаем подобие шаблонизатора на TypeScript

Время на прочтение5 мин
Охват и читатели11K
Совсем недавно Microsoft представила новый язык программирования TypeScript. Наверняка многим понравилось наличие типизации и плагины для Microsoft Visual Studio и других редакторов. Чтобы оценить насколько полезен язык в разработке, я решил поиграться с ним, написав небольшой код, который поможет в разработке приложений.

Каждый с этим сталкивался


Любой, кто разрабатывал приложения с использованием технологий HTML+js, знает, что очень часто приходится решать задачу шаблонизации данных на представлении. Существуют множество решений: как с использованием фреймворков (раз, два, три, четыре и так далее), так и простые методики, вроде таких:
Читать дальше →

Пишем игру для Samsung SmartTV на JS

Время на прочтение4 мин
Охват и читатели31K
Всем привет. Я по долгу службы занимаюсь разработкой для Samsung SmartTV. В силу того, что на хабре мало статей на эту тему, я решил это исправить. Кому интересна пошаговая инструкция как сделать свой пинг-понг на «умный телик» с распознованием жестов — милости прошу под кат.
Читать дальше →

Об использовании WebKit .NET

Время на прочтение7 мин
Охват и читатели34K

Введение


Связка HTML+CSS+JavaScript на сегодняшний день зарекомендовала себя как универсальный способ построения пользовательских интерфейсов. Причем не только в веб приложениях, но также в десктоп и мобильных приложениях. Примерами тому являются metro-приложения в Windows 8, фреймворк PhoneGap для создания мобильных приложений.

Реализация интерфейса с помощью HTML, CSS и JavaScript прежде всего подразумевает, что интерфейс будет отображаться в некотором браузере. Если мы рассматриваем десктоп или мобильное приложение, то, очевидно, браузер должен быть встраиваемым.

В данной статье мы рассмотрим использование WebKit .NET в десктоп приложении на C# под Windows.

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