Hacker News new | past | comments | ask | show | jobs | submit | more tronical's comments login

Short of building distribution packages and offering those as binaries for the download, this seems like a simple way to offer a download.

It's not perfect though, and I think we're going to try to create binaries for download alternatively.


That's exactly what distribution package managers are meant for.


One of the lesson that I believe is being learned is that general purpose programming languages for UIs make it difficult to do tooling, especially with dynamic typing.

This particular approach (.60) is not a general purpose programming language and it's strongly typed.

It's designed for the user interface, not for writing the rest of the program in it.

I feel this is rather different from the tcl/tk applications we used to see?


As Lisp, Smalltalk, Dylan and Postscript have proven during the early days, it is possible.

The problem is that current generations cannot see beyond their vi/emacs CLI setups and are too invested into HTML/CS/JS stacks to see otherwise.

Some quickly picked examples,

https://en.wikipedia.org/wiki/NeWS

"Smalltalk usage for UI prototyping in Thales industrial context"

https://youtu.be/Oq1RSDn2P5Y?t=1030

"Interface Builder's Alternative Lisp Timeline"

https://news.ycombinator.com/item?id=21828622

Which by the way, makes the binding Objective-C / Smalltalk /Lisp in UI design.


Lost the Smalltalk content on youtube, so

https://hal.inria.fr/hal-02966704/document


Maybe it could be brought over the top by compiling Qt to wasm and mixing that in. A bit tricky with the emscripten runtime vs wasm32-unknown-unknown target mixing of Rust though ;-).

Jokes aside, we added this embedding because of a specific user need.


I was joking and didn't intend hostility. Sorry if it sounded like it did.


No worries :)


Python should be fairly straightforward to do.

Golang with the interpreter we well, but the RealThing(tm) would be a full code generator and binding to the runtime library. That would be awesome, but a little bit more work.

I quite like Go, it’s simplicity and GC is really convenient.


Sad to hear that it’s not fluent for you :(

We went for dual licensing (GPL / commercial) in hope of creating a sustainable project.

We do have basic focus handling but the demos don’t really try to show that off - that’s more tailored towards touch based input at the moment. But we’d love to have a17y, full desktop like tab focused etc.

Regarding the compilation: the ability to live preview individual components or the entire design and seeing changes being applied on the fly (we have an interpreter for that) speeds the ui dev cycle a lot. Give it a try :)


25-54FPS here. Firefox Nightly 84.0a1 (2020-10-23) (64-bit) on Linux Wayland with AMD GPU.

EDIT: Profiler says CPU-wise the page is 95% idle.


Lsp can be used with any IDE, better markup language (static typing, proper module concept), rust and JS APIs, markup compiled to proper C++/Rust AOT, compiler can do asset optimizations (todo) - for example:).

In short: we try to do one thing (UI) and do it well :)


We try hard to avoid that. No magic context properties, good modularity across files (js module concept). Easy to write components. But there is more work to be done.


The software is not built on Qt. The compiler and runtime is written in Rust (Qt is C++), the renderer is a lightweight GLES 2.0 renderer and winit is used for window creation and events.

The runtime’s API is available as plain C++ API (only depends on C++ standard library), JS api in node (via neon) and Rust natively (simply a crate). It’s generally rather lightweight in terms of its surface. Instead the focus is on our compiler generating API for the input design files, to make it easy to manipulate properties or feed data models into the UI.

We’re internally using QStyle calls to produce images of controls when selecting that kind of styling at compile time, but that’s entirely encapsulated. The style you see in the wasm demos for example is entirely done using GLES accelerated primitives (such as SDF based anti-aliases rectangles).


Hi ddeck!

We need to make our description a bit more precise - and we're working on comparisons. In terms of pure RAM usage (as opposed to ROM) in our experience the display resolution contributes a lot to what's left (unless there are dedicated frame buffers). So if you mention <= 64kb RAM, what kind of displays are you typically dealing with?

Generally I think we're aiming a little above LVGL/uGFX in terms of configuration, but also with with a much richer UI / features.


>So if you mention <= 64kb RAM, what kind of displays are you typically dealing with?

Typically displays with integrated SRAM. To give an example, a recent project used a 480x320x16-bit display and an MCU with 64kb SRAM. The display/drawing buffer took 38kb of that (i.e. 1/8 of the display).


Cool! I’d say that’s the very low end for us, but we think that it should be possible to create decent UIs also for such configurations. It would require additional work for us to target that right now but we’d be happy to take that offline. Drop us an email at info@sixtyfps.io please if you’re interested:)


Thank you :). We agree with your observations. Especially two-way bindings have been very useful already in this early phase.

Vulkan support would be nice to have.


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: