Our great sponsors
- Onboard AI - Learn any GitHub repo in 59 seconds
- InfluxDB - Collect and Analyze Billions of Data Points in Real Time
- SaaSHub - Software Alternatives and Reviews
-
makepad
Makepad is a creative software development platform for Rust that compiles to wasm/webGL, osx/metal, windows/dx11 linux/opengl
Sorry if this has been said elsewhere, but - Makepad! You should check out Makepad!
https://github.com/makepad/makepad
It's a Rust library for developing cross-platform apps. It's not 1.0 yet; there's still things to finish, but it's being actively developed (https://fosstodon.org/@rikarends#), and it's already pretty fun to play with. And the fact that it compiles and runs with the same widgets on Web as it does for Windows and Mac (Linux and Android are imminent, according to the dev's updates) makes it very appealing for my "write once, deploy anywhere" sensibilities.
Fast, easy, and free. Just waiting on it to be "live", for now! Don't forget to check out the demos.
https://makepad.nl/makepad/examples/fractal_zoom/src/index.h...
https://makepad.nl/makepad/examples/ironfish/src/index.html
-
ScreenPlay
See https://gitlab.com/kelteseth/screenplay - Modern, Cross Plattform, Live Wallpaper & Widgets ! Free on Steam : https://store.steampowered.com/app/672870/ScreenPlay/
Qt/QML? I have been doing cross-platform development with Qt for a few years now [1]. It does have a learning curve, but I do like the split of C++ logic and Qml for the UI. I can recommend the qml book [2].
-
Onboard AI
Learn any GitHub repo in 59 seconds. Onboard AI learns any GitHub repo in minutes and lets you chat with it to locate functionality, understand different parts, and generate new code. Use it for free at www.getonboard.dev.
-
How about Unity? https://unity.com/products/unity-platform
Or Racket? https://racket-lang.org/
---
I only have a little experience with the suggestions above; I personally like SvelteKit, but it doesn't fit your requirements.
-
I just discovered and it seems enticing: https://github.com/raysan5/raylib
> no fancy interface, no visual helpers, no gui tools or editors... just coding in pure spartan-programmers way. Are you ready to enjoy coding?
-
-
Static FP lang targeting the web as a runtime environment. Wonderful people. The nicest compiler in the game. Tight dev loop. Good tooling.
No JavaScript knowledge required. Join us.
-
-
InfluxDB
Collect and Analyze Billions of Data Points in Real Time. Manage all types of time series data in a single, purpose-built database. Run at any scale in any environment in the cloud, on-premises, or at the edge.
-
pharo
Pharo is a dynamic reflective pure object-oriented language supporting live programming inspired by Smalltalk.
At work I program mostly in Python. But if it's for fun, I strongly recommend Pharo. It's a language in the Smalltalk family, forked from Squeak: https://pharo.org/
The whole environment makes the programming experience much better, and it's self-contained, so you don't need to spend a lot of time wrangling dependencies just to get started. Also there's a MOOC for it:
-
wordsandbuttons
A growing collection of interactive tutorials, demos, and quizzes about maths, algorithms, and programming.
Pure JavaScript is fun and simple. If you want a hobby project, ditch all the frameworks, and go vanilla.
I started https://wordsandbuttons.online/ looking for something fun and meaningful to do. I wanted to practice interactive writing and wanted to involve the bare minimum of technology to go forward. So I use rudimentary HTML for layout, JavaScript for interactive illustrations and UI elements, and Python for massive code changes. I have a bit of CSS, but I don't use "cascading" feature of it so whenever I want to change a style overall, I write a Python script for that. On the plus side, every page is entirely self-contained, and my CSS is outrageously simple.
There are no dependencies not external no internal, so the workflow is entirely stress free. Well, rather stress isolated. If I break anything, I know that the breaking change is exactly in the thing I am currently working on and not anywhere else.
If you don't care about productivity and want to enjoy programming with as little tools and dependencies as possible, vanilla JavaScript is the way to go.
-
-
-
-
-
I'm very happy with Dioxus, a Rust UI framework. It might tick most of your boxes, except that it is still quite unfinished. On the positive side, the source code is easy enough so you can create PR's for missing features or bugs that you run into. Here's what's interesting
- You write everything in Rust. Dioxus runs by patching the output from your Rust code onto a VirtualDom in a Webview. So your code runs native, the WebView is just one big canvas that you use to display your UI. It's using WebKit/Tauri not Chromium, so apps are much smaller.
- It is super cross platform (macOS, Windows, Linux, Terminal, Wasm & (very unfinished) iOS/Android)
- You still need to understand some CSS but you could also use an existing framework like tailwind.
- BUT: The way Dioxus is structured, you don't have to Render to a WebView. You can plug in a custom renderer which gets told which elements should be placed in the UI with which parameters. That makes it easy to write a native AppKit or GTK renderer which just places widgets and uses a Flexbox system to figure out the sizing.
Most importantly, working with it is kinda fun. It also supports hot code reloading and so on.
-
If you want UI, there currently is no good solution. In my opinion, AppKit/UIKit is the only well-designed UI with any currency at the moment, but as you point out, it is not cross platform. If you're okay with using Dart, Flutter might be an option. Qt is well-designed, but last I worked with it they were embracing JavaScript, and why would you want JavaScript if you're using a C++ library? C++ is too philosophically opposed to JS. But Qt just feels slightly foreign on a Mac, anyway. GTK is in C, which is not really how I want to use an object-oriented design, plus its cross-platform feels buggy. And HTML is just simply not designed for user interface; writing a UI in HTML + JavaScript is basically equivalent to writing an app in MS Word macros. Plus, it's hard to take the NPM ecosystem seriously when you're old-skool enough to think that left-pad is the equivalent of fizz-buzz and putting it in a package should not even cross one's mind, let alone actually using said package.
I'm writing a cross-platform UI library (C++, but I hope to add Swift, Python, and maybe Rust bindings), because I'm in the same boat: https://github.com/eightbrains/uitk. It is usable, but still under development, and while the .h files are fairly heavily documented, there are no examples yet.
-
-
micronaut-libgdx-teavm
Demo of a pure-Java webapp tech stack. Java GUI widgets rendered in WebGL/Canvas. JDK 8-17 bytecode conversion to JS. Integrates LibGDX, TeaVM, and Micronaut.
I was looking for a tech stack like you describe and came up with this: https://github.com/hollingsworthd/micronaut-libgdx-teavm
It uses Java 17 and LibGdx for graphics, compiled to JS (Canvas) by TeaVM, and served by Micronaut.
-
-
Some recommendations for fun (web) programming:
- Forget about the JavaScript ecosystem, don't even touch it, it's a monster
- Use htmx on the front-end (https://htmx.org/)
- Use plain-old CSS with minimum dependencies (sanitize.css)
- Use lightweight CSS framework if you need one (bulma or purecss)
- Use Go on the backend (all other modern languages are bloated)
- Use AWS Lambda
-
Home Assistant
:house_with_garden: Open source home automation that puts local control and privacy first.
Big +1 on this. If you're OK with a broader definition of "programming" and have a bit of money to throw around, I've found tinkering with https://www.home-assistant.io/ to be very satisfying. I got more sense of accomplishment from scripting "text me when I leave the house if I forgot to set the alarm, and turn on the front porch lights when I arrive back if it's after sunset" than I did from months of corporate work, even though the actual _difficulty_ was much lower. I can _see_ the results of my work, and benefit from them most days!
-
-
Javascript isn't complex. It was implemented in 2 weeks. React is also simple (in concept, not implementation).
I suggest programming with chat-GPT. I got it to help me to get started, research and break down very ambitious project that alone I just couldn't muster.
You didn't specify exactly what you problem is but if you are looking for easy UI that's canvas based then I guess https://flutter.dev/ might be just for you.
-
Come help us build a quantum physics game engine: https://github.com/quantumlib/unitary
-
I just did Caddy container as reverse proxy for my HA server - Caddy has support for Letsencrypt built in. Needs very little configuration. This approach lets you put SSL on any webservice you are running, the configuration is not specific to HA at all.
If you use LetsEncrypt's DNS-01 challenge to setup the SSL automatically, you can even deploy valid working SSL for IPs in the private range (192.168.x.x, 10.x.x.x etc etc), allowing auto-deployment of SSL for private services on your LAN, not just public cloud instances.
> https://letsencrypt.org/docs/challenge-types/#dns-01-challen...
Caddy is really easy to deploy as a Docker instance too. There are many, many ways to accomplish LetsEncyrypt with HA though!
-
Seems like Haxe (https://haxe.org/) might be fun for you.
Per others, though, perhaps it's the motivation that's required. Do you want to write games?
-
-
SaaSHub
SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives