summaryrefslogtreecommitdiff
path: root/docs/guide/getting-started/supported-languages.md
diff options
context:
space:
mode:
Diffstat (limited to 'docs/guide/getting-started/supported-languages.md')
-rw-r--r--docs/guide/getting-started/supported-languages.md25
1 files changed, 13 insertions, 12 deletions
diff --git a/docs/guide/getting-started/supported-languages.md b/docs/guide/getting-started/supported-languages.md
index 4cb7f3a..47d5dbd 100644
--- a/docs/guide/getting-started/supported-languages.md
+++ b/docs/guide/getting-started/supported-languages.md
@@ -1,9 +1,15 @@
# Supported Languages
+There are currently two languages that have an additional
+Astal package: Lua and Gjs. Their purpose is to abstract away
+Gtk by implementing a state management and UI declaring solution.
+
## JavaScript
-The main intended usage of Astal is in TypeScript with [AGS](/guide/ags/first-widgets).
-It supports JSX and has a state management solution similar to web frameworks.
+The main intended usage of Astal is in TypeScript+JSX.
+It is recommended to use [AGS](/guide/ags/first-widgets) to scaffold and run projects in TypeScript.
+However, if you are familiar with JavaScript's tooling
+ecosystem you can also setup an environment yourself.
Only a minimal knowledge of JavaScript's syntax is needed to get started.
:::info
@@ -17,11 +23,7 @@ Examples:
## Lua
-Similar to how there is a [TypeScript](https://github.com/Aylur/astal/tree/main/core/gjs) lib for GJS, there is also an accompanying library for [Lua](https://github.com/Aylur/astal/tree/main/core/lua).
-<!--TODO: open issue and link performance issue-->
-Unfortunately, I have encountered very heavy [performance issues](https://github.com/aylur/astal) 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.
+Lua is well-supported, but I would still recommend TypeScript, as Lua lacks a type system, which in turn limits editor support.
Examples:
@@ -30,10 +32,9 @@ Examples:
## Python
-There was a WIP [library for python](https://github.com/aylur/astal/tree/feat/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.
+There is a WIP [package for python](https://github.com/aylur/astal/tree/feat/python),
+to bring declaritivity to Python similar to the above two languages.
+However, you can still use python the OOP way [pygobject](https://pygobject.gnome.org/tutorials/gobject/subclassing.html) intended it in the meantime.
Examples:
@@ -44,7 +45,7 @@ Examples:
Vala is a language that simply put uses C# syntax and compiles to C.
It is the language most of Astal is written in. I would still recommend
-using TypeScript or Lua over Vala as they don't need a build step.
+using TypeScript or Lua over Vala as they are simpler to work with.
Examples: