New releases of ts-for-gir and the TypeScript type definitions for #GNOME Shell 48 are out!
You can now build native GNOME apps and shell extensions using modern, strongly-typed #TypeScript.
ts-for-gir: https://github.com/gjsify/ts-for-gir
GNOME Shell types: https://github.com/gjsify/gnome-shell
Share of programming languages used by #GTK3 / #GTK4 applications (2025-03-16):
28% #Python
21% #Vala
20% #Rust
17% #C
06% #C++ #Cplusplus
06% #gjs #Javascript
04% Other: #Csharp #Go #Lua #Haskell #Swift #Typescript #Crystal #Swift #D #Perl
63% use GTK4 (90% of them use #libadwaita), while still 37% use GTK3
Method: Source [1] lists 543 awesome #gtk (3/4) #opensource applications and their #programminglanguage
[1] https://github.com/valpackett/awesome-gtk
I love working on my #GNOME extension. I always fix one bug and create two more that don't make any sense.
Finally made some progress on a small #gtk utility using #gjs
Still in very early stage development
Written in #TypeScript
uses #adwaita widgets.
Share of programming languages used by #GTK3 / #GTK4 applications (2024-12-11):
28% #Python
22% #Vala
20% #Rust
17% #C
06% #gjs #Javascript
06% #C++ #Cplusplus
03% Other (incl. #Csharp, #Go, #Haskell, #Lua, #Crystal, #Swift, #D, #Perl )
63% use GTK4 (90% of them use #libadwaita), while still 37% use GTK3.
Method: Source [1] lists 486 awesome #gtk (3/4) #opensource applications and their #programminglanguage.
[1] https://github.com/valpackett/awesome-gtk
@aylamz Here you see the approximate share of recent Gnome applications by programming language: https://mastodon.social/@GerryT/113463210509263513
#Vala (and #C ?) seem to be not recommended for new projects, at least according to @ebassi . Here you see his points: https://www.phoronix.com/news/GNOME-Vala-Bassi (link to his blog at the bottom). Probably @vala_lang has a different opinion on that.
Me, not being a programmer, this would leave #Python, #Rust, and #gjs #Javascript that seem most suitable for new #Gnome #GTK4 #libadwaita projects
Share of programming languages used by #GTK3 / #GTK4 applications :
30% #Python
23% #Vala
21% #Rust
16% #C
06% #gjs #Javascript
06% #C++ #Cplusplus
02% Other (including #Csharp, #Go, #Haskell, #Lua, #Crystal, #Swift, #d )
62% use GTK4, while still 38% use GTK3.
Method: Source [1] lists 453 awesome #gtk (3/4) #opensource applications and their #programminglanguage. Date: 2024-11-11.
[1] https://github.com/valpackett/awesome-gtk
Share of programming languages used by #Gnome #GTK3 / #GTK4 applications :
29% #Python
23% #Vala
19% #Rust
15% #C
05% #gjs #Javascript
05% #C++ #Cplusplus
03% Other (including #Csharp, #Go, #Haskell, #Lua, #Crystal, #Swift, #d )
Method: Source [1] lists 439 awesome #gtk (3/4) #opensource applications and their #programminglanguage
[1] https://github.com/valpackett/awesome-gtk
#GNOME #Builder issues with #SDK installment... Was attempting to click the things and avoid the terminal or good ol searching... Getting started with #OFFICIAL #tooling isn't as easy as claimed.. ;-)
ok, casual user issue aside, about the hit the gym and get this bad boy working later tonight. All to test some #GJS stuff...
P.S. Fuck the gym. ^>^
Today at 10:15 MDT (16:15 UTC), Philip Chimento, Andy Holmes, and Evan Welsh and others will present the latest JavaScript technologies available in the GNOME stack for the crowd at GUADEC 2024
Guest art i made to celebrate the 10 years run of webcomic Ghost Junk Sickness, a big fave of mine!
https://www.ghostjunksickness.com/
It is still running and will end later this year with a kickstarter for the last book of the serie, give them a read!
Just got #GJS to work with #panrpc - that means I can now use a Go application (or heck, a node app!) as a "backend" for a GJS GTK/libadwaita app in #GNOME, and call the GJS functions from Go/NodeJS and Go/NodeJS functions from GJS. The plan here is to write a GJS frontend for #Multiplex, and connect it to the Go backend using either a UNIX socket or a WebSocket so that we can use Go's WebRTC and Torrent libraries for streaming, and GJS to get proper GStreamer and libadwaita support!
Is there a working Torrent client that I could get running with #GJS? I'm investigating a potential #panrpc port to GJS so that I can swap out Go & GTK4 with TypeScript & GTK4 (for easier GStreamer embedding), and while I might be able to get the panrpc transport layer working with GstWebRTC I don't know how I would get the torrent layer to work since WebTorrent isn't and most bindings depend Node
The objective is to make a working WASI implemention for GJS, so that complex extensions such as GSConnect can make use of languages like Rust to implement the underlying KDEConnect protocol.
This could also be used to run SQLite easily on a gjs/GTK application.
Well in reality this unlocks a thousand of possibilities and I can't list them all.