Skip to main content
Diego Iastrubni
Author of SVision3
View all authors

Declartive UI

· 2 min read
Diego Iastrubni
Author of SVision3

SVision3 is very conservative. Its a retained, imperiveite C++ toolkit. It means that you build your UI, using objects. You do not "define how it will be built" like declarative APIs (see QML or Slint).

I did a test - what id we would have a declaraive API? (not a reactive one, meaning - data would not modify the UI). I started experimenting.

Declarative.

Another toolkit?

· 7 min read
Diego Iastrubni
Author of SVision3

If you are trying to build a desktop GUI application you have several options. Each one has its own strenghs.

However - you will get a non native solution, or a limited GUI, or a very large installer. In some cases, things like utilities to modify a small hardware you provide (the Logiteck mouse utilities, Rapoo has a similar utility or maybe a program to flush the firmware of your new USB adget) - using available solutions just do not scale, or are non optimal.

Other solutions are great (specially Qt, DearImgui and Slint, which are my recommendations). But I think SVision3 can provide a valid alternative to existing toolkit libraries,in a very small codebase withtout compromising on features. This list does not aim to "trash" competitions - but to praise them. They all have a their place.

Welcome to the SVision3 site

· 2 min read
Diego Iastrubni
Author of SVision3

I am not new to GUI toolkits. My first one (svision) - was written in TP7, emulating the API of TurboVision, but in a graphical system. I wrote the 2nd one a few years later - called svision2.

This is the 3rd iteration. It is much more mature try to build a production ready cross platform GUI in pure C++.

This is a very exciting time to be writing C++ code, with C++26 comming to life and bringing exciting featuress like compile time reflection. We have the best tools for helping develop (thinkgs like clang-format or clang-tidy). Sites like https://github.com or https:://gitlab.com that help spread code. New build sysetems like vcpkg or connan.