Languages, programming environments, and frameworks are all good for different things. When we started Cwtch we evaluated Go as a good candidate for b

Discreet Log #9: Flutter with Native Go Libraries

submited by
Style Pass
2021-06-11 23:00:05

Languages, programming environments, and frameworks are all good for different things. When we started Cwtch we evaluated Go as a good candidate for building a system library. In our ongoing research we’ve also identified Rust as having excelent properties for making very safe critical apps. However neither of these langauges come equiped with frameworks for rapidly, easily and seamlessly building crossplatform UIs. If you find yourself in a similar situation starting out, or in a situation where there is a mature solution to a problem in a language that is also not well suited to UI building than you might find this overview of our work combinging a robust Go networking library, Cwtch, with Flutter to build a single UI and codebase for Windows, Android, and Linux.

As for why Flutter specifically? One of the most important priorities for Cwtch is maintaining privacy and anonymity for the user. For this reason, we started our evaluation of UI frameworks from a place of ruling out any and all HTML frameworks (Electron, React Native, etc) because the risk of one unescaped bit of HTML in a highly user content filled application getting rendered could pierce and destroy a user’s anonymity. This didn’t leave us with many options, but one that was new from the last time we looked, was Flutter, which was now boasting experimental and soon to be stable desktop support and big name support behind it.

Leave a Comment