Hi,
we copied all major functionality of our PB app into a DLL/SO/DYLIB and wrote our new main application in golang and Sciter. I can report a few findings that may be interesting for you all (including Fred).
Using Sciter in general:
The usage of Sciter is straight forward. Integration with golang was easy to do and complete. We found a memory issue in golang language binding, which was fixed quickly by Andrew and the go-sciter people. Besides this, the golang binding works great. TIScript is greatly enhanced and powerful. In the beginning I was very reserved about the missing JavaScript compatibility but it turned out to be not needed. I did not miss anything that I would have searched and replaced with some existing JS solution except some Tree-View and some List-View. But it turned out to be very easy to replace this with some existing tables/divs and some TIScript. Especially the behaviors are very powerful. Thus, for the GUI development with Sciter we are very happy.
Sadly, there are a lot of bugs in Sciter and the forum is really needed. In one year, my colleague created 19 threads and I created 56 threads. I would say that about 50% of the threads ended with some "fixed in build nnnn" from Andrew. So we found about 40 bugs in about one year. This was very time consuming and sometimes some hair went gray until we found it is a bug. Also, while one new release fixed some errors, there are always coming up new issues. So sometimes we only had the choice between accepting the one or the other bug. The availability of workarounds did the decision then. Andrew does not maintain a stable or LTS branch. So you are always working with the development builds. At least it feels like this.
TIScript:
It is powerful and the documentation is mostly complete. JavaScript on amphetamines, implementing many things you know from jQuery and other extensions. Sadly, the Debugger (Inspector) is not very powerful. You can examine the GUI elements and also the scripts, but it is far away from debugging like in Firefox console. Luckily, the error messages (eg console or inspector) are good and we found most issues with no problems.
Sciter offers a lot of examples and TIScript libraries which are a great start for doing things. But please be aware that the
+plus library (Model-View-Controller for automatic generation of tables and dialogs from data arrays/lists similar to AngularJS) does not work with tabs and also has some strange restrictions you only discover while using. This took us a while to work around. The
+lang library (for multi-language GUI) works great and we support German, French, English and Simplified Chinese.
HTML + CSS support:
Lets say it is complete, there are only some very few limitations. I like the built-in variables in CSS, which makes it easy to handle colors and sizes without the need of some CSS pre-processor. I also like the option to calculate with colors (like dimm, grayscale, hue etc) directly in CSS.
But this is not a WebGadget! It is for GUI, not displaying websites. I believe you can display and use HTML sites and sources with no problems, but do not expect it to run Cookies or JS.
Support:
Andrew is quick, kind and responsive and helps as much as he can. Sadly, we needed support in many ways, so please consider some paid help.
Conclusion:
GUI with Sciter is nice, adaptable, flexible, productive and working. The product itself is not very stable and we really are not sure to do another product with Sciter (which was the initial plan). Finding and solving bugs, making repros for the forum reports etc took many man days and we considered buying support. But we found that this will not reduce the amount of work for bug finding and reporting because it will not change the product base. Also, there is no LTS releases. So we are not sure if we continue with Sciter at the moment.
Here is a screenshot from the product on Linux (still under development and not released yet, looking identical on Windows and Mac):
