Is it okay to use godot for making GUI desktop apps?
Nothing Ever Happens Shirt $21.68 |
DMT Has Friends For Me Shirt $21.68 |
Nothing Ever Happens Shirt $21.68 |
Is it okay to use godot for making GUI desktop apps?
Nothing Ever Happens Shirt $21.68 |
DMT Has Friends For Me Shirt $21.68 |
Nothing Ever Happens Shirt $21.68 |
yes, the godot editor was made with godot.
I'm sure it's better than electron.
fpbp, honestly.
>yes, the godot editor was made with godot.
if you can't tell why that's a big deal then programming might not be for you
>the godot editor was made with godot
Where did they got first godot from?
Which came first, the chicken or the egg
c is written in c
use a real GUI framework (qt, windows forms, etc)
>use a real GUI framework (qt, windows forms, etc)
>wxWidgets | DearImGui ->suffer from memory leaks and C/C++ shitty languages
> SWT | SWING| FX ->runs on java
At this point even the unreal engine would be preferable
>C/C++ shitty languages
skill issue, C++ and Qt are great
enjoy memory leakage
the only thing that's leaking here is your clitty when you're introduced to men more masculine than yourself
>memory leakage
your skill issue is showing
>enjoy memory leakage
Why do rust troons always seethe at people for choosing the industry default C++?
cpp is trash and always will be
Qt is decent though, shame to be ruined by cpp
homie do you think godot is memory safe?
>suffer from memory leaks and C/C++ shitty languages
I hear this 'muh memory leaks' argument from a ton of people who I know deep down probably shouldn't be writing computer programs. Maybe you're in that same category, Anon. Programming isn't meant for everyone, despite a lot of people wasting their time making tools and languages to try to make it so.
>runs on java
What's wrong with that? Btw you can compile JavaFX to native.
Java my balls
Just say what's wrong with it
>Trashes cache
>Memory usage
>Over - insistence on classes
>Garbage collector
>Mediocre libs
cache
False
usage
Also false. Let me guess, you don't understand how the JVM allocated memory. Use ZGC if you want to return memory to the OS straight away.
>>Over - insistence on classes
Skill issue. Also nice English.
collector
Nothing wrong with garbage collectors.
libs
Lmao. The JVM has better libraries and frameworks than any other ecosystem. Keep coping.
>False
Factual
>False blah blah blah
Excuses, what i know is that it uses 2-3x that of an equivalent C program when i tried it
>Calsses
Subjective ig but it's just silly in Java (also trusted the autocorrect mb)
>No issues with garbage collectors
Yes there are
>Libs
kek
>managed language uses more memory than a non-garbage collected language
Big surprise. What a moron.
>Yes there are
No there aren't. ZGC and Shenandoah guarantee sub 10ms pauses, even when dealing with TBs of heap. Meanwhile you have never written a large scale project in your life. Your shitty C application shits itself because you're trying to be super smart.
Well yes i personally never have written a large project by myself because i don't like doing that personally and it's silly to do at a company
language uses more memory than a non-garbage collected language
Well yeah it's what i am criticizing about Java
>Well yeah it's what i am criticizing about Java
in return you get:
>memory safety
>green threads
I did.
>I did.
False
You didn't refute a single goddamned thing.
>What's wrong with Java ?
Pajeet spotted
just make your own gui toolkit
i write all of my programs with my own toolkit
>own toolikt
So I would have to write libraries and adapters from scratch to work with both the win32 API and the linux api... Sounds like hell
you can use sdl if you don't want to write it yourself
you write a proxy layer once
Sounds interesting, got any screenshots?
pic shows the booru and youtube client i made with my gui toolkit
Very nice.
does your toolkit support dark modes and is there a repo available? kind of interested in trying it.
yes, and it also supports custom theme
no repo for the toolkit for now but i have the underlying window creation library it uses available
https://gitlab.com/chino-chan/ikafb
very nice, my C is a bit rusty but I'll give it a go once I'm done with my current project.
Holy shit dude, teach me the way, suggest me a good C tutorial, i do have the original C manual from university if it's okay
GO AWAY homosexual Black person
its pronounced fricking "go-dot" like go go go dot go get the dot lol
go go go dot to the polls
Go go go go
Dot dot dot dot
Blood rush to my
Head lit hot lock
Poppin' off the
Frickin' block knot
Clockin' wrist slit
Watch bent thought bot
go(as in ego) doul(as in don't
actually it's supposed to be pronounced "God, OH!" according to the creators. But they don't even pronounce it that way. they say Go-Dot but say everyone else should say "god, oh" but they don't because they aren't native english speakers.
i say guh dough cause it sounds cooler though
very cool thanks for posting this. was thinking about using godot to make a daw myself
also,
>$2,884/month on patreon
>10k followers on twitter, 4.7k on youtube
wtf? how did this guy rack up so many patreon bucks so quickly?
it's definitely an option OP. probably qt like other anon said is a good standard goto, or electron.
i think godot would be a little unconventional. but as someone who's been using it for a while, it's pretty nice. feels like im getting better and better at operating a spaceship. has tons of features for pretty much everything you could need and is very moddable.
depending on the app you're creating I think it could be a pretty good use case. really easy compilation/portable to all platforms including web is nice. maybe if it's more graphically heavy/unconventional UI, something that would need a lot more custom elements like a DAW I think it could be good.
if you're just doing a very standard GUI app. maybe electron or Qt.
yes https://github.com/VoylinsGamedevJourney/GoZen
This is exactly what Tesla did (technically not desktop but you get the point)
https://news.ycombinator.com/item?id=30627087
Probably beats using Unreal or Unity if we are being honest here. Though apparently it's used for their basic games, rather than their whole UI.
If you want more than just a basic GUI, like with 3D rendering and stuff, a game engine is not a bad choice. Though I'm not too sure a team would make Godot their #1 choice, as there's some teething issues (like a good VCS system) that aren't present on COTS engines like Unity or Unreal.
I don’t understand, can someone explain to a brainlet what this means? Do people actually make apps/software with this instead of VScode? What’s the purpose/benefit of using a thing like this
VSCode it's a code editor. Godot it's a cross platform game engine.
In Godot you can create UI using a editor instead of writing css by hand, and you can run it almost natively instead running inside Electron.
godot is small and portable it shits out a single binary therefore its attractive for people who want a simple gui. It won't support native widgets like other frameworks do or do well in accessibility etc. Blender wanted to do something similar but they never posted a follow up. I would have liked it if they followed through with it...
https://code.blender.org/2022/11/blender-apps/
unfathomably based, but no thanks, I will stick to cli
>Is it okay to use godot for making GUI desktop apps?
Yes. That is surprisingly its best use case just like how Zig is meant for and only for building C projects.
>using LLVM for building C code
go back redditor
It's surprisingly good at it, but I'd rather stick to winforms when possible.
>adds surprise UB to your well-defined C code
Exciting, but no thanks.
Use Tauri. Anything else is stupid.
Frick off moron.
>Use Tauri. Anything else is stupid.
>120MB of ram w/ 800x600 empty windows
kys troony
Neutralino will kill Tauri. No one actually wants Rust.
stop trying to make it a thing it will never be a thing
clang is doing great. touch grass
>stop trying to make it a thing it will never be a thing
It's been a thing since 1995.
>stop trying to make it a thing it will never be a thing
>the poor creature don't know wpf and winforms are most used desktop ui frameworks for the past 30 years
qt if you need to target phones.
gtk for just desktop.
qt anal licenses and I don't want to touch them
why the frick would you? you're effectively using OpenGL 3.3/vulkan bakend with immediate mode GUI, sure the gui is okay, but at that point just use sdl/raylib/sokol with nuklear/raygui or any gui library of your choice?
you would've made a better case if you wanted cross platform with mobile support, but just desktop app? lol no
The OpenGL ES backend in Godot is more appropriate for UI stuff, will run natively on a lot more devices. I’d use Godot if I was building an application that either needed to run embedded (Godot will run on basically anything with GL ES support, and new hardware support can be hacked into the engine if needed), made heavy use of 3D or complex 2D rendering, or needed support for novel input devices. It’s not the only option obviously, but it’s a pretty quick and easy way to do so.
All of Godots file types are just plain text, it’s quite VCS friendly, unless there’s some issue I’m unaware of with it.
the best tool to use to release a GUI desktop app is the tool you use to actually make the app with
nobody in the world cares what it was made with
It might not be technically ideal to use a game engine for a non-game program for various reasons (efficiency, accessibility, non-native look and feel) but the most important thing is .
If you're comfortable with godot and not comfortable with other GUI solutions, just use it and ship your app.
>If you're comfortable with godot and not comfortable with other GUI solutions, just use it and ship your app.
An empty windows in godot takes 180MB of ram and 10% GPU usage... ON AN EMPTY WINDOW
Strip the fricking engine, just remove 3d and 2d stuff, and physics and remain only ui
At this point I use tkinter with python, the problem would be how to release the application without giving away a .py file
What's wrong with a .py file?
use pyinstaller if you are developing for wintards.
>What's wrong with a .py file?
Se devo vendere l'app, fornire un file .py permetterebbe a chiunque di modificare il codice...
ti è venuto un ictus?
Mi so scordato di tradurre lmaooooo
>why, mario? what do you want to hide?
I need money
>mario wants to keep his src proprietary
why, mario? what do you want to hide?
>What's wrong with a .py file?
If I need to sell the app, providing a .py file would allow anyone to modify the code..
Black person
>Saar do not redeem the basedrcerino!!!
Proprietards get the rope
Why the frick source got replaced with soi?
you swapped u and y when typing source you moron
g does not like asian beans
there is a recent project to turn python into compiled c code, I forgot the project name thought
You peaked my interest. Would you mind looking into your browser history for it?
I know what he is talking, and it is still mid as frick. You can't make python fast.
You can compile with cpython which is what most people do. There is nukita and codon as well. The one I would use if I needed to make python faster would be numba.
But then again. You can't save python. I would rather justwrite C code and include it on python.
Just use autopyexe or whatever it's called to make a standalone executable.
yeh, make it skinnable like winamp
tkinter is a piece of shit. The canvas has an undocumented maximum number of elements. I spent a lot of time working on a program just to discover this and have to rewrite it with wxPython. Frick tkinter.
I too love a hello world application taking up an entire core because stupid immediate mode GUIs
>but I will make it retained mode
your rendering code will be inferior to qt or gtk's rendering code
midwit take
No because linking libs is a mess.
why the frick are you asking me
Use swt Black person
No, it's illegal
cease and desist immediately or face the consequences
Why not RayLib or Nuklear?
i'm not gay
Then use ImGUI
i use gdi+ because im not homosexual
I'm using C exclusively, this engine is mostly a learning exercise; both in C and real-time 3D graphics.
raygui is very extensible, if something's missing for your use case you can just add it
Sources? I'm looking at quake 2 source and trying to follow the data but think I should start off with RayLib for basic stuff.
By sources I meant what learning resources have you found most useful, not your actual source code.
https://www.raylib.com/#raylibtech-tools
His apps are a very good reference because they cover several fields (audio, image, gui utils, etc).
The source code is available in his github page.
That and the function cheat-sheet is all you need to get started. Also, the examples are very useful for quick reference checks.
bueno
Have fun, fren. It's very comfy to develop in
What about ram?
Wear a condom.
???
Stfu Black person
Skill issue.
How horryfying.
"snap on" more like strap on (in your ass)
Yeah, raygui has a distinct retro look that doesn't appeal to modern UI enjoyers
Why is everything so tiny and in an annoying font? Does it even have touch gestures?
>state of GUI libraries is so bad people use game engines for GUIs
grim
>Godot
>not made in Go
it can theoretically be geared towards desktop GUI use but it's in a crude, unpolished state for that. still, i think it'd be great.
i recall there were people that pledged to focus on and fix the problems after 4.0 but i never kept track of their progress.
off the top of my head, no global theming standards, relatively expensive rendering features if only used for GUI, and the complexity/hassle maintaining a project skyrockets once you need more system and library interop.
however, for desktop apps that need advanced 3d and 2d rendering features, it could be a godsend.
This guy is making a more intuitive DAW using Godot and C++
Looks great. I don't do much audio editing, but that looks fun to just tinker with.
yeah its ok. it gets tedious if you want to use gdscript and interact with stuff outside godot tho. if you're going to use c++, you may as well use qt, gtk, etc.
>not just using gdi+
yes, I used godot for a 3d product placement and menu for a website for a client. works great.
>I used godot for a 3d product placement and menu for a website for a client.
How? And why wouldn’t you use threejs? Pls explain
You can export projects from Godot 3.x to a web format but I have no idea why anon would do that instead of threejs
No, learn to code.
For the homosexuals who recommended WPF...
When I call an OpenFileDialog and select the file, memory is allocated every time, even if I cancel the operation and the allocated memory increases every time I start it... Nice shit huh?
Proof or gtfo
Skill issue
skill issue
>using task manager to trace memory allocation
The absolute state of IQfy
Post code, also it might just be the GC being slow.
using the_stuff;
namespace GUI
{
public partial class mainForm : Form
{
List<Records> records;
string text;
public mainForm()
{
InitializeComponent();
}
private void openFileToolStripMenuItem_Click(object sender, EventArgs e)
{
if (openFileDialog.ShowDialog() == DialogResult.OK)
{
openFileToolStripMenuItem.Enabled = false;
closeFileToolStripMenuItem.Enabled = true;
btn_editFile.Enabled = true;
status_label_filename.Text = openFileDialog.FileName;
text = File.ReadAllText(@openFileDialog.FileName);
var opt = new JsonSerializerOptions { IncludeFields = true };
records = JsonSerializer.Deserialize<List<Records>>(text, opt);
lstbx_records.Items.Clear();
foreach (var record in records)
{
Console.WriteLine($"Creation Date: {record.CreationDate}"); // Use nullable conditional operator for safety
Console.WriteLine($"Last Update: {record.LastUpdateDate}"); // Use nullable conditional operator for safety
Console.WriteLine("Name is {0} and type is {1}", record.Name, record.Url);
lstbx_records.Items.Add(record.Name);
}
}
openFileDialog.Reset();
openFileDialog.Dispose();
}
}
}
'GUI.exe' (CLR v4.0.30319: DefaultDomain): caricamento di 'C:WindowsMicrosoft.NetassemblyGAC_32mscorlibv4.0_4.0.0.0__b77a5c561934e089mscorlib.dll' completato.
'GUI.exe' (CLR v4.0.30319: DefaultDomain): caricamento di 'C:UsersAnonsourcereposGUIGUIbinDebugGUI.exe' completato. Simboli caricati.
'GUI.exe' (CLR v4.0.30319: GUI.exe): caricamento di 'C:WindowsMicrosoft.NetassemblyGAC_MSILSystem.Windows.Formsv4.0_4.0.0.0__b77a5c561934e089System.Windows.Forms.dll' completato.
'GUI.exe' (CLR v4.0.30319: GUI.exe): caricamento di 'C:WindowsMicrosoft.NetassemblyGAC_MSILSystemv4.0_4.0.0.0__b77a5c561934e089System.dll' completato.
'GUI.exe' (CLR v4.0.30319: GUI.exe): caricamento di 'C:WindowsMicrosoft.NetassemblyGAC_MSILSystem.Drawingv4.0_4.0.0.0__b03f5f7f11d50a3aSystem.Drawing.dll' completato.
'GUI.exe' (CLR v4.0.30319: GUI.exe): caricamento di 'C:WindowsMicrosoft.NetassemblyGAC_MSILSystem.Configurationv4.0_4.0.0.0__b03f5f7f11d50a3aSystem.Configuration.dll' completato.
'GUI.exe' (CLR v4.0.30319: GUI.exe): caricamento di 'C:WindowsMicrosoft.NetassemblyGAC_MSILSystem.Corev4.0_4.0.0.0__b77a5c561934e089System.Core.dll' completato.
'GUI.exe' (CLR v4.0.30319: GUI.exe): caricamento di 'C:WindowsMicrosoft.NetassemblyGAC_MSILSystem.Xmlv4.0_4.0.0.0__b77a5c561934e089System.Xml.dll' completato.
'GUI.exe' (CLR v4.0.30319: GUI.exe): caricamento di 'C:WindowsMicrosoft.NetassemblyGAC_MSILAccessibilityv4.0_4.0.0.0__b03f5f7f11d50a3aAccessibility.dll' completato.
> 'GUI.exe' (CLR v4.0.30319: GUI.exe): caricamento di 'C:UsersAnonsourcereposGUIGUIbinDebugSystem.Text.Json.dll' completato.
could it be that the allocation of more ram could be due to dlls being placed in ram? RAM is allocated to the last line preceded by '>'
private void openFileToolStripMenuItem_Click(object sender, EventArgs e)
{
if (openFileDialog.ShowDialog() == DialogResult.OK)
{
text = File.ReadAllText(@openFileDialog.FileName);
}
if (!string.IsNullOrWhiteSpace(text)){
openFileToolStripMenuItem.Enabled = false;
closeFileToolStripMenuItem.Enabled = true;
btn_editFile.Enabled = true;
status_label_filename.Text = openFileDialog.FileName;
records = JsonSerializer.Deserialize<List<Records>>(text, opt);
lstbx_records.Items.Clear();
foreach (var record in records)
{
Console.WriteLine($"Creation Date: {record.CreationDate}"); // Use nullable conditional operator for safety
Console.WriteLine($"Last Update: {record.LastUpdateDate}"); // Use nullable conditional operator for safety
Console.WriteLine("Amount is {0} and type is {1}", record.Name, record.Url);
lstbx_records.Items.Add(record.Name);
}
}
openFileDialog.Dispose();
System.GC.Collect();
//Console.WriteLine("GC CHIAMATA!");
}
I fixed the code like this... This time the dll is loaded only if I select a file. But when I open it allocates the memory, but when I close by canceling the operation it doesn't free it as it was at the beginning... No other module is called upon opening...
LOL LMAO even, this troony is forcing the shitty GC
>the "problem" was that the program was lazy loading a .dll and anon thought it was a memory leak
Porcodio mi sembra di stare sul lavoro
Eh anon, lo dicevo io che .NET era una merda che non ti fa capire un cazzo di nulla...
>First of all, use a paste next time, or even better just push the whole project to a repo and post that.
>With that said, I see you're doing manual Dispose() of your openFileDialog but you're also not instantiating it anywhere in your code, so I'm not quite sure WTF you're doing in the UI designer but that's probably the cause of your issue.
>The dotnet API docs have a neat example that handles the openFileDialog with a using statement, try that maybe?
I removed the widget from the designer and wrote the following line at the beginning of the function
OpenFileDialog openFileDialog = new OpenFileDialog();
same shit
Non é troppo complicato: il tuo programma non carica in memoria certi pezzi finché non gli servono, ma una volta che li carica restano in memoria a mó di cache.
In sostanza, nessun problema.
Mah, io vorrei capire questa cosa per operazioni di scrittura che bene o male possono avvenire spesso, ma in apertura proprio non ha senso. Il file lo apro una sola volta, è inutile che mi mantiene in memoria il box d'apertura file... Comunque visto che sei ita, faccio un po l'anon figlio di troia e ti chiedo se puoi darmi una mano nel filo dedicato alle GUIs su Vecchiochan (board italica) nello specifico su /t/, lo troverazi sicuramente...
Non tiene in memoria il box di apertura (che comunque male non farebbe), tiene la .dll che gli serve per leggere i json.
Non conoscevo Vecchiochan, grazie del suggerimento: gli daró un'occhio quando posso, oggi i miei cari colleghi hanno sputtanato prod.
DAGA KOTOWARU
>, tiene la .dll che gli serve per leggere i json.
Ti sbagli, la dll non la carica se annullo il dialog box
Ah, allora mi ero confuso leggendo
A godot UI can look like anything you want it to, it's all up to the dev.
To give you an idea of how little the engine limits the UI, both Political Animals and Cruelty Squad were made with Godot.
Stop speaking spaghetti
no.
which means no in italian
Come puoi vedere Anon, dalle risposte precedenti è chiaro che WPF è una merda.
homosexual Framework, why even bother with all that shit.
Vorrei capire come rimuoverlo dalla memoria, chiamando la GC non vambia nulla
I would like to understand how to remove it from memory, calling the GC does not change anything
First of all, use a paste next time, or even better just push the whole project to a repo and post that.
With that said, I see you're doing manual Dispose() of your openFileDialog but you're also not instantiating it anywhere in your code, so I'm not quite sure WTF you're doing in the UI designer but that's probably the cause of your issue.
The dotnet API docs have a neat example that handles the openFileDialog with a using statement, try that maybe?
https://learn.microsoft.com/en-us/dotnet/api/system.windows.forms.openfiledialog?view=windowsdesktop-8.0
.dlls are external libraries used by your program, no shit they take up memory but I don't think that's the problem here.
Anyone tell me how I can prepare apps written in Python for distribution? Obviously without people accessing the sources...
No Black person
It doesn't have screen reader support so anyone that uses your application will get sued to death by blind people. Other than that it's fine.
Sure why not, better than electron
Electron works and has no memory leak you Black person
Stop talking pizza Black folk
https://ohmygit.org/
is this what UIs look like in godot or did the devs just implement it poorly?
the text and chat box look like shit
>godot can't even render a textbox properly
Unity killer indeed LOL
Was python written in python?
With engine optimizations, it's pretty efficient, but Godot is buggy piece of shit
How
It struggles to run anything with vectors, believe it or not. Such a basic concept.
if you want a simple lib for GUI, try raylib
license and language?
google and kys
just use PySide
Gay
for me? it's drawing a picture of a gui and scanning it onto the computer
Call me when you can make a custom list box in C#
Pretty sure Godot does have C# support
I use godot for websites, shouldn't be an issue for desktop stuff.
I wrote a filepicker with tkinter and it feature-wise it's great, but performance is shit and it's ugly. Even if I optimized the thumbnail view, importing dependencies causes startup lag. Rewriting in rust with iced to fix it.
How does that work, just use opengl to work with pixels directly or something?
it's software rendering for now but yes i draw all pixels in the window myself
why waste time to search and learn shit when you can just use delphi or c++builder (or lazarus)
Just use wxWidgets or whatever (wxLua, wxPython, wx.NET, wxPerl, wxRuby)
just use pyqt
homie i made a music player in Love2D. it was shitty but it could be used as typical software. go for it, anon!
use sokol anon
literally just works
same c code compiles to ios, android, web through wasm, x11, macos native
what can I use to make a videogame easily? I have 0 experience and have ambitious ideas
Godot.
FreeBASIC