[HN Gopher] Running TypeScript on ESP8266/ESP32 Devices
___________________________________________________________________
Running TypeScript on ESP8266/ESP32 Devices
Author : skittleson
Score : 14 points
Date : 2022-03-03 20:32 UTC (2 hours ago)
(HTM) web link (github.com)
(TXT) w3m dump (github.com)
| ge96 wrote:
| Coming from web I do find it brutal transitioning to C++ so it
| sounds interesting
| connicpu wrote:
| I'm curious and couldn't find the info from a quick search of the
| repo, how much flash space does the JS virtual machine take up?
| And how much space is left to include libraries you may need?
|
| Between the Arduino runtime, wifi library, mqtt library,
| libraries for talking to peripherals, and my C++ application code
| I'm already getting pretty close to the 512KiB limit for an
| ESP8266-based thermostat I've been working on. Hard to imagine JS
| being small enough to fit on that, but perhaps it's designed for
| embedded chips with a bit more flash space available
| thamer wrote:
| I can't speak for a JS virtual machine, but for a point of
| comparison CircuitPython[1] runs on many ESP32 boards and
| builds are often under 1.5 MB. It does come with a whole set of
| modules, from the ones you'd expect to have in Python like "re"
| or "time" (although they only have a few functions in there),
| but also CircuitPython-specific modules like "board" or
| "digitalio" to access peripherals, and "wifi" for networking.
|
| The boards listed on the CircuitPython downloads page usually
| have between 2 and 8 MB of flash, so you often have enough for
| the VM and your own code plus a few files.
|
| [1] https://circuitpython.org/
| __ryan__ wrote:
| This makes use of a JS interpreter made for embedded devices:
| Espruino
|
| More details in the Espruino repo:
| https://github.com/espruino/Espruino
| CharlesW wrote:
| > _Transpile TypeScript to Espruino flavor of JavaScript_
|
| What are the benefits of doing this vs. using a runtime (like
| Moddable's XS) that supports ECMAScript 2018?
| skittleson wrote:
| The primary goal is to add TypeScript for types and
| abstractions. I dont think the JS runtime the TypeScript
| transpiler targets matters as long as it can be transpiled to
| the current version. I wasnt aware of that project but now I
| will look into it.
___________________________________________________________________
(page generated 2022-03-03 23:00 UTC)