войти зарегистрироваться

FirefoxНовые API во браузере Firefox позволят на JavaScript работать с мобильною связью

Всякий, кто взглядывал на график выхода новых версий браузера Firefox, ожидающихся в 2012 году, уж конечно видел там, что прямо сейчас идёт работа над внедрением новых возможностей в версии Firefox 12 которая, постепенно пройдя через стадии «Aurora» и «Beta», выйдет в свет в конце апреля нынешнего года. И вот почему, просто глядя на все те возможности, которые нынче внедряются в Firefox 12, можно предвидеть будущие возможности web-приложений почти на полгода вперёд — и порадоваться (а не то и посидеть с отвисшею челюстью) заранее.

Сейчас я обращу ваше внимание на две наиболее примечательные из недавних новинок.

Внедрён API WebSMS (описанный в MozillaWiki и обсуждавшийся в багзилле), который добавит в DOM объекты, управляющие отправкою и приёмом сообщений SMS.

Внедрён API WebTelephony (описанный в MozillaWiki и обсуждавшийся в багзилле), который добавит в DOM объекты, позволяющие звонить по телефону, а также принимать (или отклонять) входящие звонки и интересоваться состоянием мобильника (таким, как «идёт набор номера», «дозвон», «занято», «соединился», «рассоединился», «входящий звонок», и так далее).

Само собой разумеется, что эти интерфейсы предназначены для мобильных версий Файерфокса.

Node.JSЗапускаем jQuery на движке Node.js вместо браузера

Библиотека jQuery — это общепризнанное средство манипуляции сразу несколькими форматами данных (XML, HTML, объекты DOM, обыкновенные объекты), да притом работающее посредством удобного (цепного) вызова методов с удобными (краткими) названиями. Поэтому ничуть не удивляют попытки приспособить jQuery не только к одному клиентскому, но также ещё и к серверному джаваскрипту — в частности, к Node.js.

Признаюсь честно, что когда разработчики jQuery превозмогли проблему №7102, то её название («Register jQuery as a CommonJS async module») на какое-то время даже заставило меня обмануться: я сперва подумал было, что и в Node.js (так как модули Node.js и СommonJS имеют немало общего) отныне jQuery станет работать невозбранно. Ан нет, не тут-то было. Пристальное вглядывание в коммит и в запрос на слияние позволяет осознать, что jQuery, в сущности, обрёл возможность регистрироваться только как AMD-модуль и даже проверяет свойства define.amd и define.amd.jQuery перед саморегистрацией.

Собственно говоря, архитектура jQuery «затóчена» под употребление в условиях браузерной DOM: код jQuery полагается на существование объекта window, который служит аргументом главного замыкания, окаймляющего весь код jQuery. Прежде же таких неявных предположений было ещё больше, и только с устранением проблемы №6690 библиотека jQuery перестала полагаться на существование глобальных объектов navigator и location, начав вместо того получать их как свойства объекта window. (Понятно, что такое предположение никак не подходило для Node.js, где глобальные объекты служат свойствами объекта global, а вовсе не window; а равно не подходило и ко многим прочим реализациям CommonJS.)

Потому для запуска jQuery в Node.js применяются готовые реализации браузерной DOM — такие, как пакет jsdom, на основе которого невозбранно работает, например, вот какой код, предлагаемый в качестве примера:

Веб-разработкаDocHub.io — удобный справочник HTML, CSS, Javascript

Интернет наполнен огромным количеством документации для веб-разработчиков. Но, к сожалению, использование большей части документации довольно неудобное. Для примера, возьмем Mozilla Developer Network (MDN). Сайт Mozilla Developer Network предлагает большой объем документации по CSS, JavaScript, HTML, SVG и т.д., но навигация по нему утомительна — нет никакого глобального меню и поиск не столь удобный.

Это привело разработчика Рафаэль Гарсия создать instaCSS — быстрый способ просматривать документацию CSS от MDN. Благодаря хорошей функции поиска и чистому, простому дизайну с хорошим глобальным меню instaCSS стал хитом по мнению читателей Hacker News. В связи с большим спросом, Гарсия перевел проект на более широкий домен DocHub.io и расширил поиск по CSS, HTML, JavaScript и DOM.

jQueryCodecademy добавил интерактивные уроки по jQuery

Школа программирования Codecademy, как и обещала, увеличивает количество доступных предметов. К трём курсам по JavaScript теперь добавился jQuery. Выбор логичен: jQuery — это одна из самых популярных JavaScript- библиотек, которая широко используется для создания современных интерактивных сайтов.

Вводный курс The Document Object Model & jQuery состоит из двух уроков и 13 упражнений. Как и раньше, занятия проходят в интерактивном стиле, для первых уроков регистрация не нужна.



Кроме новых уроков, улучшен также интерфейс Codecademy: разработчики прикрутили «блокнот» (Scratch Pad), где можно во время урока экспериментировать с произвольным кодом.

Сделанный за две недели проект Codecademy в августе запустился, в октябре привлёк $2,5 млн венчурного финансирования, количество пользователей недавно превысило 800 тыс.

Веб-разработкаВизуализация DOM-дерева в 3D (расширение Firefox)



Расширение Tilt для Firefox строит трёхмерную модель текущей веб-страницы, используя WebGL для быстрого рендеринга. Таким образом, можно мгновенно анализировать структуру страницы и взаимосвязи между разными частями.

Веб-разработка«Сделайте мне красиво!» Выпуск №30

Вашему вниманию очередной выпуск подкаста о веб-разработке «Сделайте мне красиво!»

Show notes:


Наши ссылки: RSS и лента на rpod.ru
прослушан 210 раз

JavaScriptПродвинутые анимации с requestAnimationFrame

Если вы никогда не писали код для выполнения анимаций, то вы можете дальше не читать :)

Что такое requestAnimationFrame?


Во всех ваших функциях анимаций вы используете повторяющийся таймер для применения изменений каждый несколько миллисекунд. Хорошие новости: производители браузеров решили «почему бы нам не дать вам API для этого потому, что мы, возможно, сможем оптимизировать некоторые моменты для вас». Итак, это основное API для создания анимаций на основе изменения DOM стилей, перерисовки canvas или WebGL

Зачем я должен это использовать?


Браузеры могут оптимизировать анимации идущие одновременно, уменьшив число reflow и repaint до одного, что в свою очередь приведет к повышению точности анимации. Например анимации на JavaScript синхронизированные с CSS transitions или SVG SMIL. Плюс ко всему если выполняется анимация в табе, который невидим, браузеры не будут продолжать перерисовку, что приведет к меньшему использованию CPU, GPU, памяти и как следствие снизит расход батареи в мобильных устройствах.

JavaScriptПрограммная генерация событий DOM 2 Events из песочницы

image

Вступление


Здравствуйте, Хабрачеловеки.

В этой статье я хочу рассказать сообществу о такой полезной штуке, как DOM Events. Все, кто хоть как то связан с Javascript, знают, что в этом языке события и их обработка являются одним из важнейших и часто используемых свойств, но не многие знают, как эти события генерировать программно. Собственно, этому и посвящена статья: в ней рассказано, что это, зачем нужно, и как это использовать. О listener'ах речи идти не будет, хоть эта тема весьма тесто связана с рассматриваемой.

PHPИспользование библиотеки Simple HTML DOM на практике из песочницы

Описание библиотеки


«Simple HTML DOM» — это библиотека, которая даёт возможность манипулировать DOM-представлением HTML-документа средствами PHP. Данная библиотека позволяет с лёгкостью создавать различные грабберы контента. Обладает хорошей документацией и на её изучение уйдёт немного времени, а тем, кто знаком с jQuery библиотека и вовсе покажется знакомой.
Скачать её можно здесь.

FirefoxFirefox заблокировал официальный Skype Toolbar

Панель инструментов Skype Toolbar для браузера Firefox распознаёт номера телефонов на веб-странице и пририсовывает к ним кликабельные кнопки для звонков из десктоп-приложения.

Skype Toolbar устанавливается по умолчанию при инсталляции Skype, а также, в некоторых случаях, при обновлении Skype. К сожалению, в этом тулбаре обнаружен с десяток багов (до сих пор не закрыты минимум четыре). Спустя несколько месяцев обсуждения терпение разработчиков Mozilla кончилось и теперь Skype Toolbar внесён в список блокировки, который содержит различные вредоносные расширения для браузера Firefox.