Code Monkey home page Code Monkey logo

jse's Introduction

JSE - JavaScript Engines (Ru)

ЭТО ЧЕРНОВИК! Данные будут обновляться для создания в будущем полноценной нормальной базы по движкам. Любые предложения и запросы приветствуются

JSE - сборная солянка для упрощения изучения работы и внутреннего устройства различных движков и рантаймов (в процессе) JS.

Общее

Способ пощупать многие из перечисленных движков:

Еще один хороший способ поизучать кишки движков: это почитать обсуждения под тегами на StackOverflow

Основные движки

Spider Monkey

официальная информация:

байткод

cli/флаги

исходники

прочее инфо:

JavaScriptCore

официальная информация:

байткод

cli/флаги

исходники

прочее инфо:

v8

официальная информация:

байткод

cli/флаги

исходники

прочее инфо:

Достойные внимания

Hermes

JS движок лежащий в основе React Native

официальная информация:

внутрянка

cli/флаги

исходники

прочее инфо:

XS

Часть Moddable SDK, цель которого дать возможность гонять JS на IoT устройствах

официальная информация:

байткод

  • явно есть, но пока не сильно погрузился в поиски

cli/флаги

исходники

прочее инфо:

ChakraCore

Ранее движок для Edge. Но после ухода Edge на Chromium проект сосредоточен как способ использования JS как встраемого языка

официальная информация:

байткод

cli/флаги

исходники

прочее инфо:

QuickJS

Интересная простая реализация JS движка с компилятором Имеется актуальный форк Quick.js New Generation https://github.com/quickjs-ng/quickjs Однако с 2024 форк и основа взяли курс на объединение

официальная информация:

байткод

cli/флаги

исходники

прочее инфо:

Java/JVM-based

Иногда движки пишутся и на Java или для JVM конкретно

Graal.JS (GraalVM JS Support)

Движок для JS, который собирается под GraalVM На данный момент наиболее предпочтительный способ использовать связку Java+JS

официальная информация:

байткод (отсутствует, по факту работает все равно на GraalVM) cli/флаги

исходники

прочее инфо: https://habr.com/ru/companies/haulmont/articles/433432/ https://www.youtube.com/watch?v=OUo3BFMwQFo&ab_channel=Devoxx https://www.youtube.com/watch?v=a-XEZobXspo&ab_channel=Devoxx https://www.youtube.com/watch?v=3SRjPHnWHa0&ab_channel=WixEngineeringTechTalks https://www.avisi.nl/blog/an-introduction-to-graalvm-with-examples

Rhino

Раньше был частью JDK пока его не сменил Nashorn с Java 8

Судя по активности на Github все еще не заброшен, но крайне медленный по отзывам. По факту собирает JS -> JVM bytecode

официальная информация:

байткод (отсутствует, по факту работает все равно на JVM) cli/флаги

исходники

прочее инфо:

Nashorn (OpenJDK/Oracle Java)

стал deprecated с Java 11 https://openjdk.org/jeps/335 Причина: ECMAScript слишком быстро развивается, команде стало слишком сложно поддерживать актуальные версии ES

Был частью JDK начиная с Java 8. инфо

исходники

прочее инфо

Что нужно дальше?

  • Нужно еще больше различных движков
  • Нужна еще лучшая структуризация информации
  • Нужно еще больше информации о движках
  • Нужен перевод на английский (в процессе)
  • Нужно еще больше источников с хорошей глубиной
  • Перечислить возможные места для обсуждения движков JS
  • Дополнить базу знаний рантаймами, бенчмарками и проч

jse's People

Contributors

sdju avatar

Stargazers

Dmitry Nischeta avatar Sergey Koksharov avatar Victor Yenokh avatar SlikeDollar avatar  avatar  avatar Зуев Дмитрий avatar  avatar Rodion avatar Daniil Iarema avatar Ivan Viktorov avatar Vitalij Ryndin avatar khmilevoi  avatar Chynara Aitkulova avatar  avatar Zdorovtsev Viktor avatar Ilia Andrienko avatar

Watchers

Ilia Andrienko avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.