diff options
author | Aylur <[email protected]> | 2024-09-03 20:32:41 +0200 |
---|---|---|
committer | Aylur <[email protected]> | 2024-09-03 20:32:41 +0200 |
commit | 6f39857dc7bf59d84c89b311690e858ce0a4724e (patch) | |
tree | 4ce9a79816a82de4778e068eadcdfb32b991df17 /docs/getting-started/supported-languages.md | |
parent | b8acc3897f5c48a5fc4ba73921c77cae2e91598c (diff) |
docs: migrate to vitepress
vitepress feels a bit more polished and clean
Diffstat (limited to 'docs/getting-started/supported-languages.md')
-rw-r--r-- | docs/getting-started/supported-languages.md | 59 |
1 files changed, 59 insertions, 0 deletions
diff --git a/docs/getting-started/supported-languages.md b/docs/getting-started/supported-languages.md new file mode 100644 index 0000000..5b273b1 --- /dev/null +++ b/docs/getting-started/supported-languages.md @@ -0,0 +1,59 @@ +# Supported Languages + +## JavaScript + +The main intended usage of Astal is in TypeScript with [AGS](/astal/ags/first-widgets). +It supports JSX and has a state management solution similar to web frameworks. +Only a minimal knowledge of JavaScript's syntax is needed to get started. + +:::info +The runtime is [GJS](https://gitlab.gnome.org/GNOME/gjs) and **not** nodejs +::: + +Examples: + +- TODO + +## Lua + +Similar to how there is a [TypeScript]() lib for GJS, there is also an accompanying library for [Lua](). +Unfortunately, I have encountered very heavy [performance issues]() with [lgi](https://github.com/lgi-devs/lgi), +and so currently I don't recommend using Lua for full desktop shells, but only for static +components that don't render child nodes dynamically, bars and panels for example. + +Examples: + +- TODO + +## Python + +There is a WIP [library for python](), to make it behave similar to the above two +but I don't plan on finishing it, because I'm not a fan of python. +If you are interested in picking it up, feel free to open a PR. +Nonetheless you can still use python the OOP way [pygobject](https://pygobject.gnome.org/tutorials/gobject/subclassing.html) intended it. + +Examples: + +- TODO + +## Vala + +Vala is a language that simply put uses C# syntax and compiles to C. +It is the language most of Astal is written in. + +Examples: + +- TODO + +## C + +I don't recommend using C as it requires quite a lot of boilerplate. + +Examples: + +- TODO + +## Other languages + +There a few more that supports gobject-introspection, most notably Haskell, Rust and C++. +If you are interested and feel like contributing, PRs are welcome for bindings, and examples. |