statik
TinyGo
Our great sponsors
statik | TinyGo | |
---|---|---|
6 | 95 | |
3,717 | 14,479 | |
- | 1.8% | |
0.0 | 9.3 | |
6 months ago | 1 day ago | |
Go | Go | |
Apache License 2.0 | GNU General Public License v3.0 or later |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
statik
-
Creating JavaScript GUI and GO backend for multiplatform desktop app
Yep and to avoid having the front-end files in the distributable I use https://github.com/rakyll/statik to bundle them into the main binary.
- Belajar dan Berkenalan dengan Go Embed
-
REST Servers in Go: Part 1 – standard library
> I've had this a few times, most recently with "how do I add this data file to my binary". At least that one made it to master now, and will be in 1.16!
And before 1.16, there is statik: https://github.com/rakyll/statik.
-
Going Places: How I used Golang for literally every part of an IoT system
Aren't our web assets part of the system as well? So to make it completely Go, we've gotta some how make them part of the Go code. The most obvious choice for that is to turn them into binaries and embed right inside our backend code. This task is relatively simple with a wide range of tools to choose from. For this project, I went with statik, and simply generate the embeddings with this command.
-
OpenPokémonRed - An Go re-implementation of Pokémon Red
It seems it's using https://github.com/rakyll/statik -- probably some assets?
-
What is the preferred way to package static files (html/css/js) along with your standalone binary in 2020?
statik - https://github.com/rakyll/statik
TinyGo
- Gokrazy – Go Appliances
-
A "Tiny" APISIX Plugin
Reading through the documentation, you will understand why this plugin is called "tiny," i.e., the SDK uses the TinyGo compiler instead of the official Go compiler. You can read more about why this is the case on the SDK\'s overview page, but the TLDR version is that the Go compiler can only produce Wasm binaries that run in the browser.
-
What's Zig got that C, Rust and Go don't have? [video]
Not only you can fit Go into a kernel, there is at least two products that do so.
TamaGo, used to write the firmware used in USB armory.
https://www.withsecure.com/en/solutions/innovative-security-...
TinyGo, which even has official Arduino and ARM support, and is sponsored by Google
https://tinygo.org/
Ah but that isn't proper Go! Well neither is the C code that is allowed to be used in typical kernel code, almost nothing from ISO C standard library is available, and usually plenty of compiler specific language extensions are used instead.
-
Show HN: A new stdlib for Golang focusing on platform native support
Reminds me of https://tinygo.org/ - a project that brings Golang to embedded devices, browser (wasm) contexts. Do you converge or diverge from that project?
- TinyGo release 0.29 is out
-
Pico with C
You should also consider TinyGo. It can compile Go for the Pico, and is starting to get good device support.
-
Rust 1.71.0
Thankfully some folks completly ignored whatever the rest of the world thinks system programming is all about and created:
- TinyGo (https://tinygo.org/), which is acknowledged by people in the industry[0][1]
- TamaGo unikernel on USB Armory secure key (https://www.withsecure.com/de/solutions/innovative-security-...)
And then there is the question if writing compilers, assemblers, linkers is systems programming or not.
[0]-https://www.cnx-software.com/2019/08/28/tinygo-go-compiler-f...
[1]-https://twitter.com/ArmSoftwareDev/status/131680481331796787...
-
When would you (not) recommend Go over Rust?
Have you seen TinyGo? In the case of embedded system I would probably still chose C over Rust if the system didn't support dynamic memory allocation, and most embedded systems do not.
-
“C is quirky, flawed, and an enormous success” – Dennis Ritchie
>I really hate how for microcontrollers the only two choices are either C++ or Micropython
There's TinyGo as well. https://tinygo.org/
-
WebAssembly System Interface (WASI) with sockets for Go
Gist link fixed, thanks. Compared to TinyGo, Go with GOOS=wasip1 will probably generate larger artifacts (at least, for now). This is because it bundles the entire Go runtime. The benefit is that it fully supports goroutine scheduling and non-blocking I/O. TinyGo (I believe) still uses a custom asyncify pass and does not support non-blocking I/O nor basic WASI networking (e.g. https://github.com/tinygo-org/tinygo/pull/2748 never landed, but GOOS=wasip1 supports it).
What are some alternatives?
go-bindata - A small utility which generates Go code from any file. Useful for embedding binary data in a Go program.
MicroPython - MicroPython - a lean and efficient Python implementation for microcontrollers and constrained systems
packr - The simple and easy way to embed static files into Go binaries.
go - The Go programming language
go-embed - Generates go code to embed resource files into your library or executable
zig - General-purpose programming language and toolchain for maintaining robust, optimal, and reusable software.
go.rice - go.rice is a Go package that makes working with resources such as html,js,css,images,templates, etc very easy.
micropython-ulab - a numpy-like fast vector module for micropython, circuitpython, and their derivatives
vfsgen - Takes an input http.FileSystem (likely at go generate time) and generates Go code that statically implements it.
awesome-micropython - A curated list of awesome MicroPython libraries, frameworks, software and resources.
esc - A simple file embedder for Go
PlatformIO - Your Gateway to Embedded Software Development Excellence :alien: