> It should be compiled to a DLL

Oh?

> 4\. Multi-threading ready with clear rules what can be done in a background 
> thread and what not and how to communicate between threads.

I think the lib should just have a boolean `inBackgroundThread: bool` parameter 
for those backgroundable proc. For UI most thing should be main thread for 
responsiveness.

> 6\. This can imply that it works well on embedded devices, but also and more 
> importantly that it can be used in security critical applications.

Are there even GUIs that are cleared for mission-critical applications?

> Nice to have:
> 
> 7\. If you only work with the very high level APIs and restrict yourself to 
> certain widgets, make it so that it supports a textmode UI as well.

If I were to write a UI library, given how hard and time-consuming it is to 
wrote UI libs, I would instead start with text first, especially because most 
people using Nim in productions are using it for CLI-based tools.

Once those are made **very** appealing, upgrade to GUI.

There is a lot to do with text-based UI already, status-bar, progress-bars, see 
<https://github.com/Textualize/rich> which IMO is the based console UI, and 
certainly the one with best docs, I've seen.

Reply via email to