LINUX.ORG.RU

Javascript


146

13

Всего сообщений: 100

Вышел CoffeeScript 1.9.0

 , ,

Группа Open Source

Спустя полгода после последнего релиза, вышла мажорная версия CoffeeScript 1.9.0.

CoffeeScript — это язык программирования, транслируемый в JavaScript. CoffeeScript добавляет синтаксический сахар в стиле Ruby, Python, Haskell и Erlang для того, чтобы улучшить читаемость кода и уменьшить его размер. CoffeeScript позволяет писать более компактный код по сравнению с JavaScript.

Список изменений:

  • Поддержка ES6 генераторов
  • Более надежный и устойчивый к ошибкам парсинг
  • Улучшены сообщения об ошибках для строк и регулярных выражений, особенно, что касается интерполяции
  • Изменена стратегия генерации имен переменных во время компиляции
  • Исправлена совместимость REPL с последними версиями Node и io.js
  • Различные мелкие исправления

>>> Подробности (coffeescript.org)

redhat
()

markdown-it — парсер markdown с расширяемым синтаксисом

 , ,

Группа Open Source

Ключевая особенность нового парсера — простота расширения синтаксиса. При использовании маркдауна пользователь рано или поздно упирается в то, что чего-то не хватает и нужно делать HTML-вставки. В markdown-it можно добавлять новые элементы синтаксиса через плагины. В результате сохраняется безопасность сгенерированной HTML-разметки и нет необходимости использовать сложные валидаторы вроде owasp для защиты от XSS.

Парсер написан на javascript, и работает как в браузере, так и на node.js. Несмотря на язык программирования и заложенную гибкость, markdown-it имеет очень высокую скорость, уступая только скомпилированным вариантам на С.

Другой приятной особенностью парсера является следование спецификации CommonMark.

>>> Подробности (github.com)

Vit
()

Google представил Lovefield — SQL- подобный движок запросов к БД на основе Javascript

 , , ,

Группа Google

Сегодня Google представил релиз библиотеки с SQL-подобным синтаксисом, написанную на языке Javascript.

Поскольку начиная с 2010 года сообществу так и не удалось выработать стандарта WebSQL, в этой области не существовало реляционной БД, которая могла обеспечить полноценную кросс-браузерность.

Имеющиеся решения — IndexedDB и LocalStorage были по сути объектно-ориентированными хранилищами и не имели свойств,которыми обладают реляционные БД.

Lovefield создан, чтобы заполнить этот пробел в подобном ПО.

Он предоставляет мощный и гибкий движок запросов. В качестве бэкэнда в нем используется IndexedDB.

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

На данные момент движок Lovefield реализует такую функциональность:

  • Поддержка запросов select, insert, update и delete;
  • Простая семантика транзакций для обеспечения атомарности операций;
  • Возможность задания ограничений для проверки сохранения целостности (primary key, unique, nullable/not-nullable).
  • Поддержка агрегатных функций(count, min, max, sum, avg, stddev, distinct);
  • Поддержка группировки в SELECT-запросах через выражение «group by»;
  • Возможность формирования запросов, охватывающих несколько таблиц (INNER JOIN, OUTER JOIN);
  • Более простой, чем в IndexedDB, механизм изменения схемы данных;
  • Кроссбраузерность — поддерживаются браузеры Chrome, Firefox, IE10.

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

Lovefield обеспечивает приемлемую производительность для БД размером до 50 тысяч строк.

В ближайшем будущем разработчики планируют добавить поддержку таких возможностей как внешние ключи, самосоединения таблиц, каскадное добавление/удаление записей и другое.

>>> Подробности (blogspot.ru)

Twissel
()

Новый высокопроизводительный движок JavaScript Higgs

 , ,

Группа Open Source

Вышла новая версия высопроизводительного движка JavaScript Higgs, написанного на D. Тестирование новой версии показало, что практически во всех тестах движок значительно обходит в производительности TraceMonkey и v8.

Результаты теста for-in loops:

  • Higgs 2.91s
  • V8 3.29.66 (baseline) 4.98s
  • V8 3.29.66 (Crankshaft) 4.95s
  • TraceMonkey 4.12s

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

>>> Подробности (wordpress.com)

Xroft
()

SpiderMonkey вышел в лидеры в тестах JS

 , , ,

Группа Mozilla

Об этом свидетельствует сайт http://arewefastyet.com
Так, на kraken (тест от самих мозилловцев) SpiderMonkey вырвался вперед еще прошлым летом. А уже в августе нынешнего года обошел всех в sunspider (тест от Safari). И вот, несколько дней назад ему покорился octane (тест от Google).

Таким образом, в гонке интерпретаторов js новый лидер.

>>> Подробности (arewefastyet.com)

special-k
()

Вышел GNU ease.js 0.2.4

 , ,

Группа GNU's Not Unix

ease.js — классический объектно-ориентированый фреймворк для JavaScript, предназначенный для избавления от шаблонного кода и упрощения перевода на JavaScript с других объектно-ориентированных языков.

Это служебный релиз, исправляющий ряд ошибок, большинство из которых появились в версии 0.2.3 и в первую очередь представлены несовместимостью с ECMAScript 3. Пользователи, которым нужна поддержка сред ES3 (в частности, IE≤8), рассматривают версию 0.2.3 как сломанную. Версия 0.2.3 вышла на прошлой неделе 28 июля.

Изменения:

  • [багфикс] ссылки method.super в ease.js и тестовых примерах теперь ES3-совместимы
  • [багфикс] прототип Global, представленный в версии 0.2.3, использовал реализацию, которую не поддерживал IE≤8; теперь используется альтернатива
  • [багфикс] Interface.isInstanceOf теперь отрабатывает корректно, как задокументировано в разделе совместимости руководства
    • Когда передан объект, чей конструктор не является классом ease.js, он теперь откатывается в Interface.isCompatible (как и должно быть)
  • [багфикс] исправлен тест, сломанный Node.js 0.10.27
    • Для подробностей, что же изменилось в Node.js, см. коммит cef45cd0
  • Поддержка trait сейчас в разработке и будет раздокументирована к версии 0.3.0; в настоящее время она включена для ознакомления, функционирует и всесторонне оттестирована, но не завершена.
  • [превью] [багфикс] неаргументные trait'ы теперь применяют для «__mixin» пустой массив вместо «undefined», неподдерживаемого ES3.

>>> Источник (gnu.org)

MiniRoboDancer
()

ki - смешиваем Clojure и JavaScript

 , ,

Группа Open Source
var nums = ki (take 6 (map (fn [x] (js x * 2)) (range 1000)));

Идёт разработка ещё одного языка программирования, транслируемого в JavaScript: ki. ki дополняет JavaScript приёмами функционального программирования и неизменяемыми структурами данных. На ki можно писать целые приложения, отдельные компоненты или просто функциональные «однострочники».

Синтаксис, семантика и структуры данных языка вдохновлены Clojure и ClojureScript.

>>> Подробности (ki-lang.org)

vi0
()

Haste - компилятор Haskell в JavaScript

 , haste,

Группа Open Source

Идёт разработка Haste (HASkell To Ecmascript) - компилятора из Haskell в JavaScript.

Перед проектом стоит цель создать практичный компилятор из Haskell в Javascript.

( читать дальше... )

>>> Подробности (haste-lang.org)

vi0
()

Анонсирован GNU ease.js 0.2.0

 ,

Группа GNU's Not Unix

Релиз содержит захватывающие новые возможности, парочку багфиксов и обширную зачистку тестовых примеров. Кроме этого, проект перелицензирован под GNU GPLv3+ с целью помощи в борьбе против несвободного JavaScript.

Изменения по сравнению с версией 0.1.1:

  • [лицензия] смена лицензии с LGPLv3+ на GPLv3+;
  • [багфикс] this.__super теперь отображает стек вместо того, чтобы быть полностью уничтоженным после вызова методов ease.js;
  • [багфикс] защищённые члены переопределяют супер-супертипы и теперь корректно обрабатываются;
  • [планы] поддержка trait'ов и mixin'ов:
    • начата разработка поддержки trait'ов/mixin'ов (в значительной степени вдохновлено Scala), на текущий момент ещё не задокументирована в руководстве;
    • полная документация будет доступна, как только будут распределены все TODO по trait'ам; пока можно ознакомиться с test/Trait/*Test.js, содержащими подробные примеры и обоснования. Тесты производительности для сравнения с без-trait'овым использованием доступны в директории test/perf.
    • реализация является стабильной, но неполной; для более подробной информации см. README.traits;
  • методы работы с прокси и связанное с ними ключевое слово proxy теперь задокументированы (работа с прокси была представлена в версии 0.1.1);
  • все старые тестовые примеры JS, не связанные с производительностью, теперь являются частью нового набора:
    • обширная зачистка тестов и приведение форматирования к единому виду;
    • все тесты теперь содержат обоснования (как часть предваряющего блока комментариев);
  • теперь используются autotools; инструкции см. в README;
  • версия 0.1 (под LGPL) больше не поддерживается; пользователям желательно обновиться до 0.2.0 и обратить внимание на положения новой лицензии.

Новая домашняя страница проекта - https://www.gnu.org/software/easejs; на easejs.org размещён редирект на неё.

>>> Источник (gnu.org)

MiniRoboDancer
()

SICP, теперь и на JavaScript

 ,

Группа Документация

Избранные главы уникального учебника по начальному обучению программированию теперь доступны в виде интерактивного курса прямо в вашем браузере.

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

>>> Подробности (nus.edu.sg)

anonymous
()

MetaJS — первый Lisp, который угадывает мысли

 , , ,

Группа Open Source

На GitHub выложен исходный код нового языка программирования MetaJS. Синтаксис языка близок к Clojure, MetaJS также как ClojureScript компилируется в JavaScript, но без внешних зависимостей.

MetaJS разрабатывается в рамках проекта Coect.net, поставившего амбициозную задачу заменить электронную почту, XMPP (Jabber) и социальные сети открытым универсальным протоколом.

MetaJS полностью реализован на MetaJS и может перекомпилировать себя. MetaJS обладает рядом интересных возможностей, среди которых можно выделить специальный синтаксис для упрощения последовательных вызовов методов одного объекта (часто применяется, например, в jQuery). MetaJS поддерживет стандартный для Lisp-языков синтаксис определения макросов, короткие анонимные функции в стиле Clojure #(> %1 %2) и деструктуризацию параметров.

Но главная особенность MetaJS — способность в определенных случаях угадывать мысли программиста и генерировать недостающий код. Демонстрация и разоблачение.

>>> Подробности (coect.net)

dogada
()

Вышел Amber 0.11.0

 , ,

Группа Open Source

Amber — это современная реализация языка программирования Smalltalk, компилирующаяся в JavaScript и предназначенная для работы прямо в браузерах. Amber предоставляет разработчику классическое Smalltalk-окружение, которое включает в себя браузер классов, REPL, а также интерфейс для работы с юнит-тестами (SUnit).

Amber позволяет вести инкрементальную разработку в лучших традициях Smalltalk: все изменения в коде подхватываются системой «на лету». Код компилируется в эффективный JavaScript и сохраняется на сервере с помощью протокола WebDAV.

Amber прозрачно интегрируется с библиотеками на JS: разработчику доступно всё многообразие библиотек JavaScript.

В новой версии, помимо традиционных улучшений производительности и исправлений ошибок, вниманию разработчиков так же представляется новый вариант IDE под названием «Helios» (демо доступно в архиве, файл «helios.html»). В рамках работы над новой IDE продолжается разработка пошагового отладчика смолток-кода (ветка «debugger» в репозитории).

Немного статистики по данной версии:

  • 433 коммита от 13 разработчиков (общее число разработчиков достигло 25);
  • 50 новых юнит-тестов в ядре системы (общее число юнит-тестов достигло 313);
  • исправлено 60 известных проблем.

Домашняя страница проекта

>>> Подробности (google.com)

yoghurt
()

DevConf 2013 пройдет 14 июня в Москве — 71 заявка, секции Python,Ruby,JS, PHP и новая Android секция.

 , , , ,

Группа Конференции и встречи

Напоминаем что продолжается прием заявок на доклады по python, ruby,js, php, mobi.

Интересные заявки на доклады:

Prehistoric Python: Patterns Past their Prime Lennart Regebro, автор книги «Porting to Python 3»

Tulip — новый стандарт на асинхронный код Андрей Светлов, Python Core Developer. Участвует в создании tulip.

UI нового поколения с Leap Motion и Python'ом Павел Коломиец. Любит Python3 (!), zeromq, redis и другие прогрессивные технологии.

( читать дальше... )

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

>>> Подробности (devconf.ru)

devconf
()

jQuery 2.0

 ,

Группа Интернет

Вышла новая версия популярной JavaScript библиотеки jQuery — 2.0.

Основные изменения:

  • Удаление поддержки браузеров Internet Explorer 6-8, благодаря чему библиотека стала меньше и быстрее. По сообщениям авторов, наиболее проблемными из поддерживаемых браузеров являются старые версии WebKit, используемые в Android 2.x.
  • Возможность собрать собственную версию библиотеки, выбрав только часть из ее 12 модулей.
  • Совместимость API с jQuery 1.9.

Поддержка версии 1.x будет также продолжена, выпуск 1.10 с исправлениями ошибок состоится в течение двух ближайших месяцев.

>>> Подробности (jquery.com)

maxcom
()

Обновление GNU LibreJS до 4.9.3

 ,

Группа GNU's Not Unix

Выпущена версия 4.9.3 GNU LibreJS.

GNU LibreJS является свободным расширением для браузеров, основанных на Mozilla, таких как GNU IceCat и т. п., нацеленным на решение проблем JavaScript, указанных в статье Ричарда Столлмана JavaScript Trap.

GNU LibreJS разрешает выполнение только тех скриптов JavaScript, которые являются, согласно определениям из указанной статьи, свободными и/или тривиальными. В новой версии исправлены несколько ошибок.

Просьба направлять жалобы сайтам, которые используют загрузку несвободных скриптов JavaScript.

Загрузить новую версию

>>> Подробности (gnu.org)

record
()

Airtime 2.3

 , , , ,

Группа Мультимедиа

Airtime (ранее LiveSupport, Campcaster) — веб-приложение, предназначенное для радиотрансляций, удалённого управления радиостанциями и распределения ресурсов между ними через браузер.
Разработка начата в 2003 году Micz Flor.

Особенности:

  • управление радиостанциями возможно с любого компьютера через Интернет;
  • планирование/редактирование сетки вещания радиостанций;
  • запуск предварительно созданного списка радиопрограмм в автоматическом режиме;
  • многопользовательский режим при составлении списка воспроизведения радиопрограмм;
  • распределение прав между ведущими/диджеями;
  • удалённое управление аудиоархивами, загрузками файлов, созданием радиопередач;
  • возможность публикации контента радиостанции на сайтах благодаря встроенным виджетам;
  • интеграция с SoundCloud;
  • запись и ретрансляция радиопередач;
  • использование ЯП аудио Liquidsoap для плавности переходов, усиливания и затухания звука, установки метки начала/конца для отдельных файлов с точностью до секунды;
  • поддержка Ogg/MP3;
  • простая установка с помощью пакета «Easy Install».

Изменения с прошлой версии:

  • сбор статистики по слушателям конкретной радиостанции с помощью Icecast/Shoutcast;
  • возможность сканирования только что добавленных треков для вставки плавных переходов между ними;
  • выравнивание громкости (ReplayGain) транслируемых треков;
  • улучшения в работе с памятью обновлённого ЯП аудио Liquidsoap, в связи с чем повышена потоковая производительность;
  • добавлена страница управления для пользователей без административных прав;
  • начиная с этой версии доступен интерфейс и на русском языке;
  • автоматический перевод языка интерфейса станций в соответствии с установленной локалью рабочего окружения.

>>> Полный список изменений

>>> Страница загрузки

>>> Подробности (sourcefabric.org)

amorpher
()

jQuery 1.9

 ,

Группа Интернет

Вышла новая версия популярной JavaScript библиотеки jQuery: 1.9.

Основные изменения в этой версии:

  • Очистка API от устаревших и недокументированных вызовов. Изменения довольно значительные, для проверки совместимости существующих сайтов с этой версии выпущен отдельный скрипт jquery-migrate.js, предназначенный для облегчения тестирования и портирования старого кода
  • Добавлены новые CSS3 селекторы: :nth-last-child, :nth-of-type, :nth-last-of-type, :first-of-type, :last-of-type, :only-of-type, :target, :root и :lang
  • Возможность получить и модифицировать несколько css свойств за один вызов функции .css().
  • Добавлен source map — файл соответствия минифицированного исходного текста библиотеки исходному, для облегчения отладки.
  • Исправлено большое количество ошибок

Данная версия является последней, поддерживающей старые версии Internet Explorer, IE6, IE7 и IE8. Код версии 2.0, выпущенной в виде бета-версии уже очищен от их поддержки. Поддержка версии 1.9 продолжится и после выхода 2.0, однако в ней будут только исправляться обнаруженные ошибки.

>>> Подробности (jquery.com)

maxcom
()

CasperJS 1.0

 , , ,

Группа Open Source

Вышла первая стабильная версия CasperJS — утилиты для автоматизации работы с веб-приложениями и их тестирования. Приложение построено на базе PhantomJS, безэкранной версии WebKit с поддержкой Javascript.

Основные функции:

  • Управление навигацией, нажатие и переход по ссылкам
  • Заполнение и отправка форм
  • Сохранение скриншотов страниц и их фрагментов
  • Поддержка разработки юнит-тестов и функционального тестирования
  • Сохранение данных (включая бинарные файлы), сохранение контента веб-сайтов

Changelog

>>> Подробности (casperjs.org)

maxcom
()

Microsoft представила TypeScript — новый язык программирования для Web

 , ,

Группа Интернет

Microsoft представила новый язык программирования для Web — TypeScript. Язык транслируется в JavaScript, транслятор языка доступен под лицензией Apache 2.0.

Основное преимущество языка — опциональная статическая типизация. В остальном язык близок к находящейся сейчас в разработке новой редакции JavaScript — проекте «Harmony». Кроме того, язык предлагает синтаксис для определения классов и интерфейсов, а также поддержку модулей.

>>> Подробности (techcrunch.com)

maxcom
()

Выпуск jQuery 1.8

 ,

Группа Open Source

Пару дней назад состоялся релиз популярной библиотеки. Данная версия совместима с последними версиями jQuery UI и jQuery Mobile. Основные изменения:

  • Переписан движок селекторов с использованием возможностей современных браузеров. Совместимость с IE при этом сохранена.
  • При изменении CSS-свойств префикс для данного браузера добавляется автоматически, где это необходимо.
  • Улучшения в плане модульности.
  • Исправлено более 160 ошибок.

Релиз доступен в официальном CDN проекта.

>>> Подробности в блоге (jquery.com)

Apple-ch
()