| Thanks for taking your time to look at the repo! yes I have built so many applications and worked at startups/scaleups where different languages / type systems are used for frontend/backend, and very often we need to bring in schema generation like OpenAPI, protobuf/connectrpc etc. to code generate types/apis that can be shared between teams. But that's ugly and hard to maintain & scale. I love Elm's ergonomics & Go's simplicity, and Sky is really my serious take to bring 1 language for full stack application (well, at least to cater for most common application types). back to your feedback, indeed, the multi-line string is one of the things that bug me as well.
They only surface when I start building incremental examples -- skyshop is a realworld like example which expose a bunch of issues & compiler limitations. That said, my goal is for devs not needing to write/embed JS in Sky code, but perhaps serve as static, and have Sky semantic to "load/init" the JS. Nonetheless the ugly multi-line string issue is now addressed with https://github.com/anzellai/sky/pull/13. HTML I took similar of Elm to have elements as function, and have an escape hatch using node for custom elements.
I use VNode rather than string for HTML rendering, as that's much more efficient in diffing and for Sky.Live SSE push for updates. Anyhow, please feel free to check on Sky repo regularly and hopefully I will make enough progress sooner that Sky is useable in realworld side projects. |