Представлен первый релиз фреймворка 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-приложений.
В сборку браузера Google Chrome для разработчиков (dev channel) была добавлена реализация некоторых экспериментальных возможностей интерпретатора JavaScript, взятых из грядущей спецификации Harmony. Самое интересное:
Добавлена возможность использовать лексическую область видимости (lexical scoping). Для этого нужно использовать объявление переменной «let» или «const» вместо «var».
Коллекции - более адекватная реализация отображений (maps) и множеств. Правда, итерация по коллекциям пока не поддерживается.
Слабые отображения (weak maps) - отображения, в которых сборщик мусора удаляет элементы, ключ которых более недоступен. Это позволит разработчикам меньше волноваться об утечках памяти при использовании больших долгоживущих таблиц.
Прокси - виртуальные объекты, которые эмулируют работу реальных объектов и функций, и которые могут использоваться для построения интересных интерфейсов и абстракций.
Для того, чтобы включить экспериментальные возможности, необходимо скачать последнюю сборку из dev channel и включить опцию «Experimental JavaScript features» в chrome://flags.
Корпорация IBM объявила о выпуске под открытой лицензией набора инструментов для разработки на языке EGL. EGL (англ. Enterprise Generation Language) — разработанный IBM современный высокоуровневый язык программирования для создания бизнес-приложений. Программы на EGL могут быть скомпилированы в COBOL, Java или JavaScript. Цель технологии EGL --- предоставить уровень абстракции над различным языками, фреймворками и средами выполнения.
Недавно программисты Mozilla анонсировали начало разработки PDF.js: проекта, позволяющего просматривать PDF-документы прямо в интернет-браузере. С его появлением пропала необходимость в использовании для этой цели внешних плагинов. После примерно месяца развития уже реализована базовая функциональность (поддержка шрифтов Type1, градиенты и т. д.).
PDF.js распространяется по трёхпунктовой лицензии BSD. Разработчики надеются, что им удастся привлечь сообщество к развитию проекта. Несмотря на то, что проект — инициатива команды Mozilla, он никак не привязан к Firefox, и, будучи выполнен в соответствии стандартам, должен работать с любыми браузерами, совместимыми с ними.
WebCL предоставляет доступ к OpenCL из JavaScript, что позволит использовать GPU и многоядерные процессоры при создании Веб-приложений.
Основными сферами использования озвучиваются обработка фото и видео, визуализация и симуляция.
3 марта 2011. Khronos group начало формирования рабочей группы по WebCL. 4 мая 2011. Nokia Research выпустила прототип WebCL в виде плагина для Firefox. 18 мая 2011. Опубликован текущий билд «WebCL 1.0.1-r12». Он намного более стабильный чем первая версия.
Характеристики:
Лицензия: LGPL
Билды пока только под x86_32
Лично проверялось лишь на стабильном Firefox 4. На Nightly может не работать.
Решил опубликовать новость почитав новые споры относительно bitcoin.
На примере «добытчика BTC» можно увидеть, что технология имеет хорошую производительность, у меня это честные 16-17 Mhash/s.
C моей точки зрения это важнейшая технология для появления качественных игр в браузере.
Сейчас обсчитывать физику с javascript можно только на CPU, и даже скромное 2d работает не очень хорошо.
WebCL в свою очередь позволяет использовать настоящий, сложный физический движок.
Текущая реализация занимает 86КБ и поддерживает только базовые возможности:
32-битный x86-совместимый процессор.
Программируемый контроллер 8259.
Программируемый таймер 8254.
UART 16450.
Эмулятор терминала, работающего с UART.
Но этих возможностей достаточно, чтобы запустить полноценное ядро Linux с корнем на ext2, включающим BusyBox, С-компилятор TCC и QEmacs.
Любой желающий может в своем браузере увидеть загрузку ядра Linux, поработать в открывшейся консоли, скомпилировать hello.c и выполнить rm -rf /. После загрузки ядра все операции выполняются в браузере без участия сервера.
Работоспособность подтверждена для браузеров Firefox 4, Seamonkey 2.1, Safari 5 и Chrome 11. По слухам проект не работает в Opera (нет поддержки Typed Arrays, а тестовые сборки, где она есть, выдают ошибку) и Chrome 12 («it does not work with Chrome 12 beta. As far as I know, it is a bug in the browser» — Fabrice Bellard).
20 сентября разработчик Mozilla Пол Руже (Paul Rouget) рассказал о последних наработках в готовящемся выпуске Firefox 4. Помимо усовершенствований, затронувших работу с видео, HTML5 и функции API, разработчик сообщил о новом движке JavaScript, позволяющем значительно ускорить работу сценариев.
JägerMonkey — так называется оптимизирующий компилятор JIT, работающий поверх TraceMonkey. Он компилирует целые методы, задействуя, там где нужно, уже имеющийся движок. Тесты SunSpider 0.9.1 и V8-v5 показали увеличение скорости работы сценариев в 2 и 4 раза по сравнению с Firefox 3.6. Сообщается, что эффект от проделанных изменений можно почувствовать в шестой по счету бета-версии браузера.
Ричард Столлман, глава FSF, ищет кого-нибудь, кто бы доработал свободное дополнение для браузеров на основе Firefox — NoScript — так, чтобы оно могло обнаруживать и блокировать несвободные нетривиальные программы на языке JavaScript.
По определению из статьи “Западня JavaScript”, программа на JavaScript нетривиальна, “если она делает запросы AJAX, а также если она определяет методы и либо загружает внешние программы, либо сама загружается как внешняя программа”.
В статье также предлагаются методы, которыми свободные программы могут оповещать о своих лицензиях.
Заинтересованным сторонам рекомендуется записать свои реквизиты на странице “Свободной планеты”, посвящённой этой задаче и связаться с Ричардом Столлманом.
Командой разработчиков Smokescreen был подготовлен код на javascript, позволяющий проигрывать flash ролики, закодированные в SWF формат. Благодаря ему можно просматривать flash-ролики без дополнительного плагина, используя только встроенный в браузер интерпретатор javascript.
Скрипт получился объемным: 175 Кб (8 тыс. строк кода). Он поддерживает большую часть возможностей Flash 8 и базовые ActionScript.
Код корректно работает в браузерах Firefox 3.6, Chrome 5, Safari 4, MobileSafari. Вскоре будут устранены проблемы обработки в Opera 10.5.
Вышла вторая бета версия Akshell, платформы для разработки и хостинга веб приложений на JavaScript.
Основные изменения в версии 0.2:
Система модулей заменена на совместимую со стандартом CommonJS Modules 1.1.1. Это позволяет использовать готовые CommonJS модули и мигрировать с Akshell на другие платформы.
Веб-фреймворк отделен от платформы через интерфейс CommonJS JSGI 0.3. Благодаря этому возможно использовать другие фреймворки, писать свои и добавлять middleware между Akshell'ом и фреймворком.
13 апреля, тихо и незаметно, появилась публичная бета версия Akshell, сайта для разработки и хостинга веб приложений на JavaScript. Каждое приложение получает:
Доступ к реляционной БД в виде языка запросов, разработанного специально для встраивания в JavaScript
Доступ к хранилищу файлов
Возможность использовать другие приложения как библиотеки, подключая их код, и как утилиты, отсылая им запросы
Возможность самому быть библиотекой или утилитой
Базовая библиотека предоставляет приложениям легковесный метаобъектный протокол, MVC фреймворк, фреймворк для юнит тестирования, средства аспектно-ориентированного программирования и различные мелкие полезности.
В сайт встроена простая IDE, поэтому приложения можно писать не покидая браузера. Для тех, кто предпочитает классическую IDE или редактор, есть утилита для доступа к Akshell.
Бета версия поддерживает только открытые некоммерческие приложения, для них сервис бесплатен. Все библиотеки распространяются под лицензией BSD.
Российские разработчики из «Студии 42» выпустили новую версию свободного файлового менеджера для web - elFinder.
Хотя номер версии изменился всего лишь на единичку, на самом деле это совершенно новый продукт, сохранивший от предшественника только основные идеи.
В теперешней инкарнации elFinder мало в чём отличается от своих десктопных собратьев:
Копирование/перемещение файлов с drag&drop
Выделение файлов мышью и с клавиатуры
Поддержка большинства сочетаний клавиш для управления файлами
Контекстное меню
Создание файлов/директорий привычным способом
Быстрый просмотр большинства типов файлов (QuickLook)
Работа с архивами
Редактирование текстовых файлов
Папка «Избранное»
«Запоминание» последней открытой директории и её вида
Информативный statusbar
Поскольку elFinder - web приложение, особое значение имеют безопасность и производительность.
Этим аспектам разработчики уделили максимум внимания.
Безопасность:
Пути к файлам не передаются в «чистом» виде
Ограничение загружаемых файлов по типам. (Разрешенные/запрещенные и порядок применения правил - по аналогии с Access Control в веб-сервере Apache)
Доступ к файлам и директориям указывать с помощью регулярных выражений (regex => access)
Возможность скрыть имя корневой директории
Отключение почти любых команд
Возможность разрешить/запретить показ URL'ов файлов
Logger действии пользователя
Работа с symlinks
Производительность:
Возможность отключить подсчёт места занимаемого директориями и создания миниатюрок
Генерация миниатюрок в фоновом режиме
Передача данных в формате JSON
Клиентская часть оптимизирована, чтобы обеспечить комфортную работу даже если в открытой директории 2-3 тысячи файлов (в случае Safari или Chrome - 4-6 тыс)
elFinder - инструмент для разработчиков и администраторов. Его API построен на базе JSON, хорошо документирован на 3-х языках, имеются примеры интеграции с WYSIWYG редакторами CKEitor/TinyMCE и конечно же elRTE, кроме php-коннектора в дистрибутив включен коннектор на python (в работе коннектор на Java).
Вместе с новой версией файлового менеджера вышел очередной релиз-кандидат редактора elRTE 1.0rc3, а также обновился сайт.
В середине февраля вышла стабильная версия замечательного свободного проекта Wiki on a Stick, позволяющего в удобном виде хранить разнообразную информацию в одном файле в формате wiki. Кроме того, WoaS позволяет вставлять в текст wiki собственные скрипты на языке javascript, а также изображения и файлы. С таким документом можно работать практически в любой операционной системе, в которой можно запустить браузер, понимающий язык javascript.
Версия 0.10.4 рассматривается как стабильная, исправляющая ряд недостатков предыдущих версий.
Тем не менее, работа над проектом продолжается, и список текущих изменений можно посмотреть тут:
В начале года Mozillla был начат проект JägerMonkey, целью которого было улучшение JS-движка FireFox с помощью интеграции в него SpiderMonkey, контекстно-ориентированного многопоточного JIT-компилятора.
Для формирования на лету машинного кода в JägerMonkey решено задействовать открытый ассемблер Nitro JavaScript JIT , созданный компанией Apple для WebKit.
Nitro распространяется под совместимой с Firefox лицензией и написан на языке C++, что упрощает процесс его интеграции.
Код Nitro уже адаптирован для запуска с использованием системы сборки и набором библиотек Mozilla.
Проект KDE объявил конкурс по разработке плазмоидов на языке JavaScript для рабочего стола Plasma.
Работы отправлять на email javascriptjam@kde.org до 31 марта 2010 года.
2 апреля работы будут размещены на сайте http://kde-look.org/.
9 апреля будут объявлены победители.
Условия конкурса:
1: Код всех представленных работ должен распространяться под свободной лицензией.
2: Работы должны быть совместимы с кодовой базой KDE.
3: Нельзя клонировать код из других плазмоидов.
Победитель получит коммуникатор Nokia N900, оплату посещения любой конференции разработчиков KDE и комплект атрибутики.
Тот, кто займёт второе место, получит комплект атрибутики и
оплату посещения любой конференции разработчиков KDE.
За третье место дают комплект атрибутики.