Generated by GPT-5-mini| JerryScript | |
|---|---|
| Name | JerryScript |
| Developer | Samsung Electronics |
| Initial release | 2015 |
| Platform | Embedded systems |
| License | Apache License 2.0 |
JerryScript is a lightweight JavaScript engine originally developed for highly constrained embedded systems. It targets devices with limited RAM and storage, enabling execution of ECMAScript-compatible code on microcontrollers, sensors, and IoT platforms. The project intersects with embedded Linux ecosystems, real-time operating systems, and standards from the JavaScript community.
JerryScript originated as an internal project at Samsung Electronics to support JavaScript on devices similar to models in the Samsung Galaxy lineup and embedded products used by Samsung SDI and Samsung SDS. Early internal demonstrations referenced compatibility with runtimes familiar to developers of Node.js and V8 (JavaScript engine), while addressing constraints found in platforms like ARM Cortex-M, ESP8266, ESP32, and processors from STMicroelectronics. Public announcement and initial releases around 2015 brought attention at conferences including Embedded World, FOSDEM, and community events such as LinuxCon and AllThingsOpen. Subsequent milestones saw contributions and integrations with projects from organizations like Intel Corporation, Qualcomm, NXP Semiconductors, and research groups at universities such as Massachusetts Institute of Technology, University of Cambridge, and ETH Zurich. JerryScript’s roadmap reflected trends driven by standards from ECMAScript Internationalization API, interoperability discussions at TC39, and performance expectations set by engines like SpiderMonkey and ChakraCore.
The architecture emphasizes a compact bytecode interpreter and a minimalistic garbage collector suitable for devices comparable to development boards like Raspberry Pi Zero and single-board computers from BeagleBoard. Memory management strategies were influenced by research from groups at Carnegie Mellon University and Stanford University, while compilation and optimization techniques drew comparisons to projects at Google and Mozilla Foundation. The engine exposes a C API for embedding into firmware stacks alongside operating systems such as Zephyr Project, FreeRTOS, and Contiki-NG. Integration patterns mirror those used by runtimes on platforms developed by Texas Instruments, Microchip Technology, and Analog Devices. Design documents referenced considerations similar to those in specifications produced by W3C and testing suites used by Khronos Group.
JerryScript implements a subset of ECMAScript 5.1 and selected features from later editions discussed at TC39 meetings, focusing on core language constructs rather than browser-specific APIs like those from WHATWG or W3C. Features emphasize low memory footprint, predictable latency comparable to firmware timers used in ARM Ltd. products, and a small binary size relevant to devices from Nordic Semiconductor and Silicon Labs. Performance comparisons in tech blogs and whitepapers referenced engines such as V8 (JavaScript engine), Duktape, MuJS, QuickJS, and GraalVM to position JerryScript in the embedded space. Benchmarks often used hardware platforms by NVIDIA and Intel Corporation for development before porting to microcontrollers from Infineon Technologies and Renesas Electronics.
JerryScript has been embedded in firmware and SDKs provided by vendors like Samsung Semiconductor, and used in proof-of-concept products from startups incubated by Samsung NEXT and accelerators associated with Y Combinator companies exploring IoT. Integrations with cloud platforms and toolchains referenced interoperability with AWS IoT, Microsoft Azure, Google Cloud Platform, and device management suites by Mender and Balena. Community-driven ports targeted hardware from Arduino, Espressif Systems, and boards in the ecosystem of Adafruit Industries. Academic projects at institutions including University of California, Berkeley, ETH Zurich, and Technical University of Munich used JerryScript to teach embedded scripting alongside coursework referencing platforms like LEGO Mindstorms and BBC micro:bit.
The project attracted contributors affiliated with corporations such as Samsung Electronics, Intel Corporation, Qualcomm, and independent developers active in communities like GitHub and package ecosystems exemplified by npm discussions. Collaboration occurred at conferences including Embedded World, FOSDEM, Open Source Summit, and meetups coordinated through organizations like Linux Foundation and IEEE societies. Documentation and issue tracking followed patterns seen in projects hosted on GitHub, with continuous integration workflows analogous to those used in projects by Canonical and Red Hat.
The engine is distributed under the Apache License 2.0, a permissive license also chosen by projects such as Apache HTTP Server and TensorFlow. Binary distributions and source archives were made available via repositories and release workflows similar to those of GitHub and mirrored in package systems used by Yocto Project and OpenEmbedded. Redistributions in commercial products followed compliance practices enforced by legal teams at companies like Samsung Electronics and Intel Corporation.