News for hackers. Stuff that matters.
Re:Neutralinojs – Cross-platform desktop application develop... by lpcvoid on Monday February 07, 2022 @04:54AM (#30242541)
Counterpoint: This does nothing that Lazarus/Freepascal [1] can't do more efficiently. Or wxwidgets/Qt to a lesser extent, ease-of-use wise.

[1] https://www.lazarus-ide.org/

Re:Neutralinojs – Cross-platform desktop application develop... by mixedCase on Monday February 07, 2022 @08:02AM (#30244245)
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.

Re:Neutralinojs – Cross-platform desktop application develop... by lpcvoid on Monday February 07, 2022 @08:10AM (#30244319)
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.

Re:Neutralinojs – Cross-platform desktop application develop... by webmobdev on Monday February 07, 2022 @07:33PM (#30253542)
> But Pascal is not only old, it is antiquated.

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.

Re:Neutralinojs – Cross-platform desktop application develop... by qsort on Monday February 07, 2022 @08:36AM (#30244601)
I agree with you about Lazarus/Pascal, but Qt is C++, hardly an obsolete choice as far as languages go.
Re:Neutralinojs – Cross-platform desktop application develop... by qalmakka on Monday February 07, 2022 @09:38AM (#30245416)
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.

Re:Neutralinojs – Cross-platform desktop application develop... by brnt on Monday February 07, 2022 @02:08PM (#30249483)
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.

Re:Neutralinojs – Cross-platform desktop application develop... by mixedCase on Monday February 07, 2022 @11:04AM (#30246636)
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.

Re:Neutralinojs – Cross-platform desktop application develop... by sime2009 on Monday February 07, 2022 @11:27AM (#30246996)
How long ago did you look into Qt's Multimedia module on NodeGui? Also what part of it did you need?
Re:Neutralinojs – Cross-platform desktop application develop... by mixedCase on Monday February 07, 2022 @01:37PM (#30249049)
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.

Re:Neutralinojs – Cross-platform desktop application develop... by drran on Monday February 07, 2022 @09:38AM (#30245423)
> Rust and Relm4

Why not just design UI in Glade, then load it and bind handlers to UI elements?

Re:Neutralinojs – Cross-platform desktop application develop... by mixedCase on Monday February 07, 2022 @10:50AM (#30246435)
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.
Re:Neutralinojs – Cross-platform desktop application develop... by ale42 on Monday February 07, 2022 @05:28AM (#30242816)
fully agree... and those (Lazarus/wxWidgets/Qt) generate native code and don't require you to ship a browser with your application...
Re:Neutralinojs – Cross-platform desktop application develop... by pimterry on Monday February 07, 2022 @05:38AM (#30242902)
> 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).

Re:Neutralinojs – Cross-platform desktop application develop... by alexvoda on Monday February 07, 2022 @05:46AM (#30242978)
> but it uses your system's existing browser

According to (1) that is incorrect. It uses WebKitGTK+.

(1) https://github.com/Elanis/web-to-desktop-framework-compariso...

Re:Neutralinojs – Cross-platform desktop application develop... by sdflhasjd on Monday February 07, 2022 @05:50AM (#30243005)
Looks like that is a simplification, error, or outdated.

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.

Re:Neutralinojs – Cross-platform desktop application develop... by brabel on Monday February 07, 2022 @07:14AM (#30243733)
It's the same approach as Tauri then? Except of course, Tauri has Rust in the "backend".
Re:Neutralinojs – Cross-platform desktop application develop... by soapdog on Monday February 07, 2022 @05:53AM (#30243022)
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.

Re:Neutralinojs – Cross-platform desktop application develop... by VZ on Monday February 07, 2022 @08:32AM (#30244541)
> 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.

Re:Neutralinojs – Cross-platform desktop application develop... by alexvoda on Monday February 07, 2022 @05:36AM (#30242876)
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.

Re:Neutralinojs – Cross-platform desktop application develop... by ale42 on Monday February 07, 2022 @05:40AM (#30242921)
There are actually a few (though I never tried any), see e.g. https://wiki.freepascal.org/fpCEF3
Re:Neutralinojs – Cross-platform desktop application develop... by gmueckl on Monday February 07, 2022 @05:38AM (#30242910)
QtWebEngine is a completely separate module within Qt that you need to link to explicitly to use. You don't pay for it unless you actually use it.
Re:Neutralinojs – Cross-platform desktop application develop... by alexvoda on Monday February 07, 2022 @05:42AM (#30242939)
You are correct. I meant something else, see the edit.
Re:Neutralinojs – Cross-platform desktop application develop... by soapdog on Monday February 07, 2022 @05:55AM (#30243040)
Also QtWebEngine is a trimmed version of Chromium. Not the most lightweight solution out there. It works very well though.
Re:Neutralinojs – Cross-platform desktop application develop... by rcarmo on Monday February 07, 2022 @06:21AM (#30243261)
…nor have a local web server ready to be exploited.
Re:Neutralinojs – Cross-platform desktop application develop... by brabel on Monday February 07, 2022 @07:30AM (#30243885)
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.