Qt has QtWebEngine afaik. Does Lazarus have a web browser component?
Edit: this was NOT meant to imply the browser component is loaded. This was a reply to the first comment with regards to what frameworks can and can not do.
> don't require you to ship a browser with your application
The key feature of Neutralino (as opposed to Electron) is that it does _not_ require you to ship a browser - it provides similar developer UX to Electron, but it uses your system's existing browser so binaries are dramatically smaller (2MB for hello world) and memory overhead is minimal (~3MB for hello world).
err.. the main point of NeutralinoJS is that you don't ship a browser with your application.
Also, wxWidgets looks very strange on macOS right now. I just built some demos last week from the examples in the repo for wxLua and they looked awful. I have no idea what was going on because as far as I remember wxWidgets would just be calling the native stuff. Still, they looked unusable.
This shouldn't be the case. If you use wx 3.0, it's too old to support the features that appeared in macOS after its release (dark mode etc), but 3.1.5 should look just as the native UIs do.
I try to look into it but every time I get really put off by the dated documentation and Pascal code, plus the need to use an IDE I am not familiar with.
Can I create a reactive, modern looking application using the IDEs I know and love with this?
If not, then no, it does not do everything things like Neutralinojs does, it's not even in the same category of tools, really.
Since these actually-we-are-not-bad-like-electron-we-are-using-system-webview frameworks seem to be popping up every other week, and this comment is always here, I'll be the one to say it:
Lazarus requires you to write your application in a Pascal derivative. People overall don't want to learn another language, much less one that's not "hip".
I for one don't care about having to learn another language or how old it is. But Pascal is not only old, it is antiquated. Standard ML is old, but it still beats the pants off what most people are using out there in expressiveness.
And FWIW: I started writing a Gtk4 application this weekend using Rust and Relm4. Relm4 macros don't get Rust Analyzer support and builder pattern is going back to the stone ages of procedural UI building. I miss something like what I had with VB6 which also represents the good ideas behind Lazarus, but neither compare to the sheer productivity of something like web Elm or React+TypeScript.
I feel you. I don't like Pascal much these days either - I used to use Delphi for a long time back in the dark ages. That was absolutely fantastic, and I argue that we never got anything as good as that ever again. Lazarus is close.
Arguably I'd rather write stone age Pascal vs [hype web language], specially on the desktop platform, even if it means sacrificing niceties such as good IDE support.
Well, I tend to disagree about this point. Qt is C++ as much as an ice cream truck is a truck - sure, it IS technically a truck, but that's where the similarities end. Qt basically reimplements every single C++ container and function with its own, has a slew of concepts that go directly against the current C++ trends (i.e. lots of pointers everywhere, CoW, ...), and on top of that it uses a preprocessor and also uses its own custom language to describe UIs (QML).
I am a professional C++ developer what happens to work often with Qt developers and I assure you, the skill-set you acquire while developing on Qt does not transfer at all to plain, standard C++, and vice-versa.
I wrote a Python+Qt peogram some years ago and since I actually like modern C++ a lot I've got started on a port, figuring it would be rather straightforward. It's been a bit disappointing because Qt basicallt requires you to write 'Qt-C++'. They made a lot of effort with their Python binding, boasting rightly so that it is quite pythonic.
What I would really like is a 'modern-C++-ic' binding for Qt.
C++ is not obsolete, but it is not a language I would ever want to write anything in for any period of time longer than a month. Not for a lack of trying both in and out of Qt and several combinations of the technology. QML with a little C++ was bearable for a while until it wasn't between the runtime not being Node, the lack of TypeScript integration, Qt designer crashing multiple times a day, the UI designer rendering nonsense, and still having to deal with C++ and its ecosystem.
The closest thing to something acceptable for non-trivial projects using Qt that I found was NodeGui. But as soon as I realized I had to make some very verbose C++ bindings to qtmultimedia all the energy for the project went away. If this one attempt with Gtk4 fails I might come back to that since it looks like it has matured since then.
1 year, 11 months ago if I go by the git commit logs. I had forgotten, but I see a few commits by a7ul himself. I remember now I had trouble getting the bare minimum for a plugin working and he helped me with that.
I needed QMediaPlayer support at least, since that's what I tried to start with. Probably that's all the program would still need.
Glade is Gtk3 only. I did download Cambalache, albeit merely for prototyping since I thought it was going to be easier than looking for GNOME Figma assets, but it is in too early of a state even for that.
You mean it is tried and tested and stable? Pascal has continued to evolve just as its counterpart C does today (it's actually a branding problem that makes people think Pascal hasn't evolved at all - there has been upgrades made to Pascal, which were released under different names that has resulted in this misunderstanding). It still remains one of the few languages that can match the performance of C (or even outperform it) while feeling simpler than C.
I don't know for sure, but I imagine that for something like Slack which already has to support multiple browsers on multiple platforms (because it has a browser version as well), not shipping a browser seems like it could be a reasonable choice.
What's the state of this? Last time I tried 2 years ago, I tried both Neutralino and Tauri, and neither worked well. I don't want to be using Electron, but so far, haven't found something that worked well enough.
I'm writing an app in js, and I started writing it in deno (using ts) because I generally like deno and typescript.
Unfortunately, I needed it to respond to incoming emails, and there's no imap library available for deno yet (as far as I could tell), so I went back to node.
The neutralino website has a header that says "native APIs", but it's not clickable, and "tutorial" took me to YouTube.
Is the neutralino API compatible with node's? Can I use all the npm stuff?
42 comments
[ 3.0 ms ] story [ 128 ms ] threadThe domain is `js.org`, neutralino being a subdomain ? Or is it a custom TLD `.js.org` ?
[1] https://www.lazarus-ide.org/
Edit: this was NOT meant to imply the browser component is loaded. This was a reply to the first comment with regards to what frameworks can and can not do.
The key feature of Neutralino (as opposed to Electron) is that it does _not_ require you to ship a browser - it provides similar developer UX to Electron, but it uses your system's existing browser so binaries are dramatically smaller (2MB for hello world) and memory overhead is minimal (~3MB for hello world).
According to (1) that is incorrect. It uses WebKitGTK+.
(1) https://github.com/Elanis/web-to-desktop-framework-compariso...
Neutralinojs says: "Neutralinojs doesn't bundle Chromium and uses the existing web browser library in the operating system (Eg: gtk-webkit2 on Linux)"
Skimming through the source code, it appears to use WebView2 on Windows - which is Edge.
Also, wxWidgets looks very strange on macOS right now. I just built some demos last week from the examples in the repo for wxLua and they looked awful. I have no idea what was going on because as far as I remember wxWidgets would just be calling the native stuff. Still, they looked unusable.
This shouldn't be the case. If you use wx 3.0, it's too old to support the features that appeared in macOS after its release (dark mode etc), but 3.1.5 should look just as the native UIs do.
Can I create a reactive, modern looking application using the IDEs I know and love with this?
If not, then no, it does not do everything things like Neutralinojs does, it's not even in the same category of tools, really.
Lazarus requires you to write your application in a Pascal derivative. People overall don't want to learn another language, much less one that's not "hip".
I for one don't care about having to learn another language or how old it is. But Pascal is not only old, it is antiquated. Standard ML is old, but it still beats the pants off what most people are using out there in expressiveness.
And FWIW: I started writing a Gtk4 application this weekend using Rust and Relm4. Relm4 macros don't get Rust Analyzer support and builder pattern is going back to the stone ages of procedural UI building. I miss something like what I had with VB6 which also represents the good ideas behind Lazarus, but neither compare to the sheer productivity of something like web Elm or React+TypeScript.
Arguably I'd rather write stone age Pascal vs [hype web language], specially on the desktop platform, even if it means sacrificing niceties such as good IDE support.
I am a professional C++ developer what happens to work often with Qt developers and I assure you, the skill-set you acquire while developing on Qt does not transfer at all to plain, standard C++, and vice-versa.
What I would really like is a 'modern-C++-ic' binding for Qt.
The closest thing to something acceptable for non-trivial projects using Qt that I found was NodeGui. But as soon as I realized I had to make some very verbose C++ bindings to qtmultimedia all the energy for the project went away. If this one attempt with Gtk4 fails I might come back to that since it looks like it has matured since then.
I needed QMediaPlayer support at least, since that's what I tried to start with. Probably that's all the program would still need.
Why not just design UI in Glade, then load it and bind handlers to UI elements?
You mean it is tried and tested and stable? Pascal has continued to evolve just as its counterpart C does today (it's actually a branding problem that makes people think Pascal hasn't evolved at all - there has been upgrades made to Pascal, which were released under different names that has resulted in this misunderstanding). It still remains one of the few languages that can match the performance of C (or even outperform it) while feeling simpler than C.
Is there a reason it’s popping up again now, seems like they’ve shipped a new version? Anyone using it have an opinion?
The neutralino website has a header that says "native APIs", but it's not clickable, and "tutorial" took me to YouTube. Is the neutralino API compatible with node's? Can I use all the npm stuff?