The OpenNET Project / Index page

[ новости/++ | форум | wiki | теги ]

26.09.2017 10:52  Выпуск встраиваемого JavaScript-движка Duktape 2.2.0

Доступен выпуск JavaScript-движка Duktape 2.2.0, ориентированного на встраивание в кодовую базу проектов на языке C/C++. Движок отличается компактным размером, высокой переносимостью и низким потреблением ресурсов. Исходные тексты движка написаны на языке Си и распространяются под лицензией MIT.

Код Duktape занимает около 160 kB и потребляет всего 48kB ОЗУ, а в режиме низкого потребления памяти 26kB ОЗУ. Для интеграции Duktape в код на C/C++ достаточно добавить в проект файлы duktape.c и duktape.h, и использовать Duktape API для вызова функций на JavaScript из кода на C/C++ или наоборот. Для освобождения неиспользуемых объектов из памяти применяется сборщик мусора с финализатором, построенный на основе комбинации алгоритма подсчёта ссылок с алгоритмом пометок (Mark and Sweep).

Обеспечивается полная совместимость со спецификациями Ecmascript 5.1 и частичная поддержка Ecmascript 2015 и 2016 (E6 и E7), в том числе поддержка объекта Proxy для виртуализации свойств, типизированные массивы, ArrayBuffer, Node.js Buffer, Encoding API, объект Symbol и т.п. В состав входит встроенный отладчик, движок для выполнения регулярных выражений и подсистема для поддержки Unicode. Также предоставляются специфичные расширения, такие как поддержка сопрограмм, встроенный фреймворк для журналирования, механизм загрузки модулей на основе CommonJS, система кэширования байткода, позволяющая сохранять и загружать скомпилированные функции.

В новой версии появилась поддержка функций Math.clz32(), Math.imul() и Math.sign() из ES2015, существенно расширена поддержка элементов Object.prototype из стандарта ES2017, добавлены обработчики 'apply' и 'construct' для объекта Proxy, расширен внутренний API, проведена оптимизация производительности RegExp.

  1. Главная ссылка к новости (https://github.com/svaarala/du...)
  2. OpenNews: Microsoft портировал JavaScript-движок ChakraCore для Linux и maсOS
  3. OpenNews: В JavaScript-движок V8 добавлена поддержка WebAssembly
  4. OpenNews: В рамках проекта Runtime.JS развивается ядро ОС на базе JavaScript-движка V8
  5. OpenNews: Компания Oracle намерена выпустить открытый JavaScript-движок на базе виртуальной машины Java
  6. OpenNews: CommonJS -движение за использование JavaScript вне браузера
Лицензия: CC-BY
Тип: Программы
Ключевые слова: duktape, javascript
При перепечатке указание ссылки на opennet.ru обязательно
Обсуждение Линейный вид | Ajax | Показать все | RSS
 
  • 1.1, th3m3, 11:09, 26/09/2017 [ответить] [смотреть все]
  • –2 +/
    Его можно использовать, как альтернативу Electron?
     
     
  • 2.2, _hide_, 11:14, 26/09/2017 [^] [ответить] [смотреть все] [показать ветку]
  • +1 +/
    А рисовать как?
     
     
  • 3.3, anonimous, 11:20, 26/09/2017 [^] [ответить] [смотреть все]
  • +3 +/
    А рисовать вот так https lexborisov github io myhtml и вот так https github... весь текст скрыт [показать]
     
     
  • 4.10, lastmac, 14:19, 26/09/2017 [^] [ответить] [смотреть все]  
  • +13 +/
    Приятно когда твои проекты вспоминают.
    Как автор myhtml и mycss могу сказать следующее:
    Для рисования этого не достаточно. Есть проект Modest (https://github.com/lexborisov/Modest) вот к нему можно было бы прикрутить этот JSE, но я смотрю в сторону Chakra от MS.
    Более того, даже Modest не достаточно для рисования, он ещё пилится, но, к слову, скоро намечается большой апдейт где всё станет намного краше и лучше. Плюс мы грант получили на разработку браузера Modest, скоро совсем весело пойдет разработка.
     
     
  • 5.17, Аноним, 16:09, 26/09/2017 [^] [ответить] [смотреть все]  
  • +4 +/
    Может не надо браузер Пока так всё хорошо получается Но если уж будете д... весь текст скрыт [показать]
     
     
  • 6.18, lastmac, 16:43, 26/09/2017 [^] [ответить] [смотреть все]  
  • +6 +/
    Почему не надо?

    Браузер и Браузерный движок разные вещи. Итог разработки будет браузер.
    Modest же является браузерным движком для расчетов, отрисовки и прочего. Он всё так же будет независимый и легко собираемый/встраиваемый. Браузер, скорее всего, так же будет именоваться Modest. Modest Browser and Modest Engine.

    Отключить там можно будет что угодно (если это не влияет на общую работу движка). Но разве существует интернет без JS? Вопрос скорее риторический. Я не уверен, и возможно вы меня поправите, но подавляющему большинству пользователей браузер нужен полноценный, включающий в себя все современный плюшки (js, webgl, websocket and etc.)

    TL;DR
    P.S.:
    Modest Engine разрабатывается модульно. Модули можно удалять, добавлять свои. Можно создавать свои библиотеки на основе отдельных модулей Modest.

    К примеру, myhtml это mycore, myencoding, myport, myhtml взятые из Modest.
    Скачайте исходники Modest и выполните команду "make modules" и вы увидите существующие модули и зависимости между ими.

    К примеру, вы можете удалить из исходников myurl (source/myurl) и проект соберется без этого модуля. А можете удалить все модули кроме mycore,  myport, myurl и он тоже соберется.

    Я не делаю монолитную систему, мне хочется чтобы отдельные браузерные компоненты могли жить своей жизнью. К примеру, тот же myurl крайне полезен и полностью соответствует спецификации. В интернетах днём с огнём не сыщешь обработчика урлов соответствующий спецификации. А тут и готовый код и примеры (https://github.com/lexborisov/Modest/tree/master/examples/myurl).

    Как добавить свой модуль: https://github.com/lexborisov/Modest/wiki/Add-new-module
    Как создать свой порт (для своей ОС): https://github.com/lexborisov/Modest/wiki/Add-new-port


     
     
  • 7.23, trdm, 18:16, 26/09/2017 [^] [ответить] [смотреть все]  
  • +/
    самое главное adblock ... весь текст скрыт [показать]
     
  • 7.26, Аноним, 18:32, 26/09/2017 [^] [ответить] [смотреть все]  
  • +5 +/
    > разве существует интернет без JS?

    Интернет существует даже без веба. ;)

     
  • 7.28, Мать драконов, 18:53, 26/09/2017 [^] [ответить] [смотреть все]  
  • –3 +/
    Мне одно интересно Нафига кому-то может прийти в голову делать браузер Вам дел... весь текст скрыт [показать]
     
     
  • 8.29, lastmac, 20:59, 26/09/2017 [^] [ответить] [смотреть все]  
  • +6 +/
    > Мне одно интересно. Нафига кому-то может прийти в голову делать браузер?

    Это пришло в голову мне.

    > Вам делать нечего или деньги некуда девать?

    Денег то у нас как раз и нет.

    > Или вы студенты и у вас много свободного времени?
    > Нет более полезных задач для решения?

    Времени у нас свободного тоже нет, всё уходит на написание движка/браузера.
    Браузер пилить крайне увлекательное занятие. Там свод всех технологий. Надо знать очень много, вот прям крайне много. Тут студент вряд ли потянет.

    Сейчас полноценных браузерных движков не много, по пальцам можно пересчитать. Все они имеют свои лицензии, у кого-то это целая солянка из лицензий (привет вебкит, блинк).
    Все лицензии накладывают ограничения в той или иной области.

    Сейчас всеми открытыми движками, которые идут в ногу со спецификациями, обладают несколько компаний: Google, Apple, Mozilla. Можно смело сказать, что только гиганты.
    Собственно, они захватили рынок и продвигают "своё". Кто-то жаждет собирать информацию о пользователях, кто-то хочет встроить свои рекламо-резки (чужих реклам) и так далее.

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

    Или вот попробуйте встроить вебкит в своё приложение. Или собрать его не на x86/64. Или запустить браузер на телевизоре/интернет вещах. Примеров много.

    Мы же делаем быстрый, энергоэффективный, встраиваемый браузер, собственный движок.

     
  • 7.30, Аноним, 23:18, 26/09/2017 [^] [ответить] [смотреть все]  
  • +/
    Волнительно Да будет так И не постигнет судьба оперы Да Опциональная кнопк... весь текст скрыт [показать]
     
  • 5.24, Аноним, 18:26, 26/09/2017 [^] [ответить] [смотреть все]  
  • +/
    NetSurf http www netsurf-browser org 8212 тоже легкий браузер на C, даже... весь текст скрыт [показать]
     
     
  • 6.40, Клыкастый, 16:48, 27/09/2017 [^] [ответить] [смотреть все]  
  • +/
    eix netsurf www-client netsurf Доступные версии 3 6 bmp debug ... весь текст скрыт [показать]
     
     
  • 7.41, Andrey Mitrofanov, 16:45, 28/09/2017 [^] [ответить] [смотреть все]  
  • +/
    U Лицензия GPLv2 U Ещё лет пять подожди Пока что не совсем пермисиивно ... весь текст скрыт [показать]
     
     
  • 8.42, Клыкастый, 17:36, 28/09/2017 [^] [ответить] [смотреть все]  
  • –1 +/
    Зато уже опенсорсно Ну и да, ты уже выпилил с десктопов и серверов софт с перми... весь текст скрыт [показать]
     
     
  • 9.43, Andrey Mitrofanov, 21:42, 28/09/2017 [^] [ответить] [смотреть все]  
  • +1 +/
    http www opennet ru openforum vsluhforumID3 108152 html 77 Всё http www open... весь текст скрыт [показать]
     
     
  • 10.45, Клыкастый, 12:36, 03/10/2017 [^] [ответить] [смотреть все]  
  • +/
    ну т.е. не выпилил. а как дышал, как дышал.
     
     
  • 11.46, Andrey Mitrofanov, 13:08, 03/10/2017 [^] [ответить] [смотреть все]  
  • +/
    Нет Зачем это тебе https ru wikipedia org wiki D0 94 D0 B5 D0 BC D0 B0 D0 B... весь текст скрыт [показать]
     
     
  • 12.47, Клыкастый, 14:57, 03/10/2017 [^] [ответить] [смотреть все]  
  • +/
    Какой странный вопрос BSD лицензию ругаешь ты, а нужно это мне Мне - не нужн... весь текст скрыт [показать]
     
     
  • 13.48, Andrey Mitrofanov, 15:05, 03/10/2017 [^] [ответить] [смотреть все]  
  • +/
    Мне Зачем тебе, чтобы я каким-то там был И , кроме того, ты всё опять перепута... весь текст скрыт [показать]
     
     
  • 14.49, Клыкастый, 14:28, 06/10/2017 [^] [ответить] [смотреть все]    [к модератору]  
  • +/
    > Мне? Зачем тебе, чтобы я каким-то там был?

    Ну ожидается что собеседник а) вменяем б) логичен в) последователен. Но я не настаиваю, нет. Не умеешь в последовательность - ну не умеешь, бывает.

    > Я не лицензию ругаю, а страюсь понять её выбирающих и, сюрприз, ругающих gpl.

    Это могут быть разные люди. И это точно не ко мне. Я указываю на различния, на плюсы и минусы. Они есть и там и там. И в разных точках отсчёта - разные.

    > да. А ты партизанишь и косоглазишь, не поддаёшься пониманию.

    Есть подозрение, что у тебя проблема с пониманием. И причина тому - нежелание понимать.

    > Я просто перепутал, кто у тебя начальнки. По взаимодействию с вендорями -- не твой, да?
    > Ты просто показался похожим. Виноват, попробую исправиться.  Жду.

    Сложно понять, что ты имеешь в виду.

     
  • 5.33, anonimous, 06:10, 27/09/2017 [^] [ответить] [смотреть все]  
  • +/
    Оу, как-то пропустил это, когда просматривал ваши репозитории Видел вашу статью... весь текст скрыт [показать]
     
  • 2.5, Аноним, 11:57, 26/09/2017 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    В процессе допиливания твой проект разрастется до еще одной ноды/электрона?
     
     
  • 3.7, th3m3, 12:06, 26/09/2017 [^] [ответить] [смотреть все]  
  • +5 +/
    Electron - это работа через chromium Каждое новое запущенное приложение, это ещ... весь текст скрыт [показать]
     
     
  • 4.8, Atterratio, 12:28, 26/09/2017 [^] [ответить] [смотреть все]  
  • +4 +/
    Вам не кажется что это принципе не очень хорошая идея, и не важно на что тут мен... весь текст скрыт [показать]
     
     
  • 5.11, th3m3, 14:56, 26/09/2017 [^] [ответить] [смотреть все]  
  • +1 +/
    Мне кажется, что очень не хватает чего-то вроде Android Webview в десктоп систем... весь текст скрыт [показать]
     
     
  • 6.19, Аноним, 17:18, 26/09/2017 [^] [ответить] [смотреть все]  
  • +3 +/
    Было уже такое Называлось mshtml dll и iexplore exe Чем закончилось вы помните... весь текст скрыт [показать]
     
     
  • 7.38, Sen, 09:45, 27/09/2017 [^] [ответить] [смотреть все]  
  • –2 +/
    эээ, закончилось троллингом оной технологии и саботажа из разряда смотрите мы м... весь текст скрыт [показать]
     
  • 6.20, Аноним, 17:21, 26/09/2017 [^] [ответить] [смотреть все]  
  • +/
    Но так-то ничего не мешает взять GObject Introspection и WebKitGTK.
     
  • 4.13, skoro, 15:10, 26/09/2017 [^] [ответить] [смотреть все]  
  • +2 +/
    GNOME gjs На нём написаны Documents, Polari правда документации практически... весь текст скрыт [показать]
     
     
  • 5.14, th3m3, 15:29, 26/09/2017 [^] [ответить] [смотреть все]  
  • +1 +/
    Он же только для Гнома Тогда не очень подойдёт Нужно кросс-платформенное решен... весь текст скрыт [показать]
     
     
  • 6.16, skoro, 16:05, 26/09/2017 [^] [ответить] [смотреть все]  
  • +/
    Не только для Гнома, для GTK3, у него еще есть привязки к WebKitGTK, примеры смо... весь текст скрыт [показать]
     
  • 4.27, Аноним, 18:35, 26/09/2017 [^] [ответить] [смотреть все]  
  • +/
    А как насчет Qt QML или JavaScript-привязок к GTK И неужели писать веб-интерфе... весь текст скрыт [показать]
     
  • 2.32, Аноним, 00:00, 27/09/2017 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    можно, только тормозить будет как ie6 - jit-компиляции нет, это интерпретатор.
     
  • 2.35, Антон, 08:20, 27/09/2017 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    Напиши обёртку для своего любимого тулкита да используй ... весь текст скрыт [показать] [показать ветку]
     
  • 1.4, Пиони, 11:55, 26/09/2017 [ответить] [смотреть все]  
  • +/
    Примеры задач, где эта штука может пригодиться?
     
     
  • 2.6, A.Stahl, 11:59, 26/09/2017 [^] [ответить] [смотреть все] [показать ветку]  
  • +3 +/
    Наверное там, где сейчас используется Lua Возможно для кого-то ЯваСкрипт роднее... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.9, Аноним, 13:04, 26/09/2017 [^] [ответить] [смотреть все]  
  • –1 +/
    > там, где сейчас используется Lua

    В ядре NetBSD?

     
  • 2.15, Sirob, 15:39, 26/09/2017 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    > Примеры задач, где эта штука может пригодиться?

    "Эта штука" используется в браузере Netsurf.
    Было ещё обсуждение прикрутить её к Polkit вместо мозиловского JavaScript-движка.

     
  • 2.21, Аноним, 17:36, 26/09/2017 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    Gerbera ещё использует видимо, для веб-интерфейса Больше пока что не попадало... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.31, h31, 23:28, 26/09/2017 [^] [ответить] [смотреть все]  
  • +/
    Скорее для плагинов.
     
  • 2.34, Антон, 08:19, 27/09/2017 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    Хоть куда, где надо добавить к либе скриптуху.
     
  • 1.12, Аноним, 15:06, 26/09/2017 [ответить] [смотреть все]  
  • –3 +/
    Bytecode is generated directly without an intermediate representation tree , at... весь текст скрыт [показать]
     
  • 1.22, Аноним, 17:51, 26/09/2017 [ответить] [смотреть все]  
  • +/
    mruby более впечатляющий если lua не устраивает.
     
     
  • 2.36, funny.falcon, 09:39, 27/09/2017 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    Я согласен. Но толпа хомячков, умеющих только js, не согласна.
     
  • 1.25, nc, 18:29, 26/09/2017 [ответить] [смотреть все]  
  • –1 +/
    Интересная вещь. Есть идея встроить этот движок в компилятор (например языка D) для выполнения скриптов, модифицирующих и генерирующих синтаксическое дерево во время компиляции.
     
     
  • 2.37, funny.falcon, 09:41, 27/09/2017 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    Почему не какую нибудь минималистичную scheme?
     
     
  • 3.39, Andrey Mitrofanov, 14:14, 27/09/2017 [^] [ответить] [смотреть все]  
  • +/
    > Почему не какую нибудь минималистичную scheme?

    Заветов Гринспена шугаются.  https://duckduckgo.com/?q=%D0%B3%D1%80%D0%B8

     

     Добавить комментарий
    Имя:
    E-Mail:
    Заголовок:
    Текст:


      Закладки на сайте
      Проследить за страницей
    Created 1996-2017 by Maxim Chirkov  
    ДобавитьРекламаВебмастеруГИД  
    Hosting by Ihor