LINUX.ORG.RU

Javascript


144

12

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

Новый высокопроизводительный движок 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

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

>>> Подробности

 , ,

Xroft
()

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

Группа Mozilla

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

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

>>> Подробности

 , , ,

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.

>>> Источник

 , ,

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.

>>> Подробности

 , ,

vi0
()

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

Группа Open Source

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

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

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

>>> Подробности

 , haste,

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 размещён редирект на неё.

>>> Источник

 ,

MiniRoboDancer
()

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

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

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

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

>>> Подробности

 ,

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 — способность в определенных случаях угадывать мысли программиста и генерировать недостающий код. Демонстрация и разоблачение.

>>> Подробности

 , , ,

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 известных проблем.

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

>>> Подробности

 , ,

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
()

jQuery 2.0

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

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

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

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

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

>>> Подробности

 ,

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.

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

>>> Подробности

 ,

record
()

Airtime 2.3

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

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

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

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

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

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

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

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

>>> Подробности

 , , , ,

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, однако в ней будут только исправляться обнаруженные ошибки.

>>> Подробности

 ,

maxcom
()

CasperJS 1.0

Группа Open Source

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

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

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

Changelog

>>> Подробности

 , , ,

maxcom
()

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

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

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

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

>>> Подробности

 , ,

maxcom
()

Выпуск jQuery 1.8

Группа Open Source

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

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

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

>>> Подробности в блоге

 ,

Apple-ch
()

OpenLayers 2.12

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

29 июня вышел релиз клиентской JavaScript библиотеки для отображения картографических данных в web-приложениях. Основные улучшения и дополнения:

  • Элемент управления изменением масштаба теперь может быть стилизован с помощью CSS
  • Введение значений по умолчанию в части проекций
  • Кэширование тайлов для оффлайнового использования
  • Основанная на CSS анимация тайлов
  • Полностью переписан код, отвечающий за поддержку работы с тайлами
  • Реализовано непрерывное масштабирование карты

>>> Перевод официального анонса

 , , ,

DR
()

Opa 1.0 — JavaScript-фреймворк со строгой статической типизацией

Группа Open Source

Представлен первый релиз фреймворка Opa 1.0. Авторы Opa считают его одним из наиболее сложных и мощных JavaScript-фреймворков из всех существующих: он включает в себя полную реализацию всего стека возможностей JavaScript, расширенных поддержкой статической типизации и обеспечивающий полную поддержку Node.js и MongoDB. Код фреймворка доступен под лицензией Affero GPL.

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

Основные особенности Opa:

  • AJAX и COMET-вызовы с прозрачной JSON-сериализацией;
  • генерация HTML;
  • определение модели использования данных;
  • генерирование запросов к базе данных (пока только для MongoDB);
  • поддержка событийно-ориентированного подхода с неблокирующей архитектурой;
  • встроенные парсеры и генераторы;
  • фреймворк использует строгую статическую типизацию;
  • уделено большое внимание вопросам безопасности;
  • быстрый компилятор реализован на OCaml.

    В конце этого лета планируется выход следующей версии — Opa 1.1, в которой планируется улучшить стандартную библиотеку и API, расширить сообщения об ошибках в выводе компилятора и улучшить производительность Node.js-бэкенда. Разработчики также заявляют, что хотят сделать Opa фреймворком де-факто для всех корпоративных JavaScript-приложений.

>>> Подробности (OpenNet)

 ,

Urchin
()

Экспериментальные нововведения в реализации JavaScript в Chrome

Группа Open Source

В сборку браузера Google Chrome для разработчиков (dev channel) была добавлена реализация некоторых экспериментальных возможностей интерпретатора JavaScript, взятых из грядущей спецификации Harmony. Самое интересное:

  • Добавлена возможность использовать лексическую область видимости (lexical scoping). Для этого нужно использовать объявление переменной «let» или «const» вместо «var».
  • Коллекции - более адекватная реализация отображений (maps) и множеств. Правда, итерация по коллекциям пока не поддерживается.
  • Слабые отображения (weak maps) - отображения, в которых сборщик мусора удаляет элементы, ключ которых более недоступен. Это позволит разработчикам меньше волноваться об утечках памяти при использовании больших долгоживущих таблиц.
  • Прокси - виртуальные объекты, которые эмулируют работу реальных объектов и функций, и которые могут использоваться для построения интересных интерфейсов и абстракций.

Разработчики обещают двигаться дальше.

Для того, чтобы включить экспериментальные возможности, необходимо скачать последнюю сборку из dev channel и включить опцию «Experimental JavaScript features» в chrome://flags.

>>> Подробности

 , ,

provaton
()