Рубрика «javascript» - 562

Приглашаем веб-разработчиков, особенно с опытом создания/использования userscripts, стать бета-тестерами проекта tai.st — нового способа улучшения сайтов силами пользователей.

Taist: прокачай свои интернеты

Читать полностью »

Лица.тостер {javascript}: Джо МакКеннДжо, буквально — один из самых больших гостей, которые 25 мая съедутся в Digital October для того чтобы поделиться опытом с участниками конференции .тостер {javascript}. Джо не влазит в стандартное самолетное кресло, о чем он нам с радостью сообщил после нашего приглашения выступить в Москве.

Этот человек уже очень давно работает на мобильном рынке, сейчас занимаясь архитектурой всего портативного направления компании Bazaarvoice — крупного SaaS-агреггатора брендов и их клиентов. Джо занимается исследованием будущего (без шуток) — это называется «device-agnostic», словосочетание с трудом адекватно переводящееся на русский язык, описывает на самом деле очень интересные явления, свидетелями которых мы станем в самое ближайшее время.

Вместо тщетных попыток объяснить то, в чем я не являюсь специалистом, лучше сконцентрируемся на персоне Джо, благо, его история очень интересная и поэтому мы решили рассказать ее отдельно, не перемешивая впечатления.
Читать полностью »

Практически все, кому приходилось работать с backbone, представляют себе, что это за штука такая — Router. Конечно, в приложении можно обойтись и без него, но удобство работы с приложением сильно проиграет.

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

<a href="http://myapp.com/catalog/#action1">Сделать что-то полезное</a>

или даже

<a href="http://myapp.com/catalog/#action1/42">Сделать что-то полезное с параметром</a>

и всё прекрасно работало. Пользователь, в свою очередь, мог сохранить каждую из этих ссылок, и, в последствии, перейти по ним, сразу же активировав нужную функциональность. Единственный негативный момент во всём этом великолепии — наличие символа "#" (решетка). Не то, чтобы она была плоха сама по себе, но читабельность и «красивость» (с задних рядов мне ещё кто-то про RESTful что-то подсказывает) URL она портила.
Читать полностью »

Введение в Spine.js

Spine представляет собой небольшой фрэймворк, который позволяет работать по схеме MVC, создавая приложения непосредственно на языке JavaScript, что обеспечивает логическое разделение кода, наследование моделей через классы и расширения. Также во многом этот инструмент базируется на Backbone.js API, так что те разработчики, которые имели дело с данным фрэймворком, без труда разберутся и в Spine (однако существует целый ряд существенных различий). Spine.js может работать совместно с HTML5 и асинхронными запросами сервера.
Читать полностью »

На Хабре недавно была опубликована статья о том, как писать виджеты для Mac OS X Dashboard.

Давайте воспользуемся полученными знаниями для того, чтобы научить стандартный dashboard'овский календарик показывать нерабочие и праздничные дни.

Расширение функций виджета iCal в Mac OS X
Читать полностью »

Вышла версия 0.3 node.js фреймворка для разработки веб приложений Autodafe

У фреймворка появился сайт autodafe.ws, который стремительно обрастает документацией и статьями. (Документация на сайте генерируется автоматически из кода, задокументированного по правилам jsdoc. Поэтому если вы хотите быстро поднять сайт с документацией вашего проекта, можете спросить меня «как?»)

В новой версии фреймворка значительно улучшена работа с моделями, писать классы для сохранения данных стало удобнее, а сами они стали выглядеть красивее. Множественное задание атрибутов, их неявная фильтрация во время присвоения, асинхронная валидация моделей и изумительное использование статических методов моделей несомненно сделают вашу жизнь лучше и проще :) Работа с моделями в Autodafe

Читать полностью »

Введение

При написании современного веб-приложения все чаще используется подход, когда сервер присылает не конечный HTML код, а набор некоторых данных (как правило, JSON), которые затем собираются на клиенте. Это действительно очень удобно и здорово, тем более что сейчас существует огромное количество замечательных шаблонизаторов для клиента.
Читать полностью »

Stephen Woods, фронтэнд-инженер в Flickr, объясняет, как создать простой лайтбокс с поддержкой жестов и дает советы для улучшения восприятия и производительности сенсорных интерфейсов.

Создание лайтбокса для сенсорного интерфейса на HTML5

Необходимые знания: средний уровень CSS, средний-продвинутый уровень JavaScript
Требования: Android или IOS устройство
Временные затраты: 2-3 часа
Скачать исходники
Просмотр демонстрации
Читать полностью »

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

Итак, Saga — анализатор покрытия кода со вкусностями:

  • работает с большинством тест-фреймворков
  • консольная версия
  • maven-плагин версия (на официальном централе)
  • красивые и удобные отчёты

Saga: проверяем покрытие кода тестами

Читать полностью »

Хабра-виджетов для Android уже написано море, но так его никто ещё не писал :). В этой статье я хочу представить широкой общественности способ быстрого создания информационных виджетов для Android на JavaScript на примере, конечно же, кармы и рейтинга. Виджет будет смотреться примерно так:

Виджет для Android на JavaScript за 15 минут на примере Хабра Кармы

Виджет будет представлять собой плагин для программы AnyBalance (Android), основная идея которой — собрать общую базу способов извлечения балансов и прочих параметров из личных кабинетов различных провайдеров, например, балансов на сотовых телефонах, интернет провайдерах и т.д. Эти плагины (будем их дальше называть «провайдерами») пишутся на JavaScript и имеют открытый исходный код. Сейчас база AnyBalance содержит около 80 провайдеров, но постоянно расширяется. И хабрахабр там будет не лишним :)
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js