Cross platform desktop app
-
@cartman82 said in Cross platform desktop app:
It seems this tkinter thing, as old and crappy as it looks, comes built in with python and will make a tiny binary.
The days of tiny hard drives are long past, dude. If you're concerned about the download size, on behalf of users with slow or capped connections, that's one thing, but "tiny executable" in and of itself isn't the first thing you should be worrying about.
-
@cartman82 said in Cross platform desktop app:
Also, it refuses to work with virtualenv on Windows. And in general, everything about this leaves the whiff of stale piss in an old folks retirement home.
But the bundle is about 30 MB, which is the best so far.Really? Really? Go back and read what you wrote, man. You're considering tying yourself to a shitty dev environment just because it produces a smaller redistributable. That's pants-on-head crazy.
-
@cartman82 said in Cross platform desktop app:
I think tomorrow I'll finally pick something and actually start coding.
Did you look at wxWidgets?
ETA:
-
That's just well enough, because in reality there is only room in this world for one Mojo Xojo. One shall be the number of Mojo Xojos in the world, and the number of Mojo Xojos in the world shall be one! Two Mojo Xojos is too many, and three is right out!
-
@fbmac said in Cross platform desktop app:
That's just well enough, because in reality there is only room in this world for one Mojo Xojo. One shall be the number of Mojo Xojos in the world, and the number of Mojo Xojos in the world shall be one! Two Mojo Xojos is too many, and three is right out!
Preserved for posterity, because it was funny.
-
I still don't see why there isn't a good library that lets you create simple GUIs and "compile" them to Qt, Gtk+, or WinAPI.
-
@cartman82 All of Tkinter is a big . It works, but I'd strongly recommend anything else.
-
@anonymous234 Mono with GTK should work well. What Windows machine doesn't already have the framework installed these days?
-
@fbmac The GTK+ framework? Generally only those Windows machines with GIMP.
-
@Onyx said in Cross platform desktop app:
@cartman82 And that is different from PyQt for example... how? The only bit of C++ code you need in a Quick application is a single file that contains the main function, and that's generated for you when you create a new Quick project in QtCreator, or you can just paste it from somewhere if you want to use your own IDE. Or is Qt completely out of the question in any capacity now? I'm confused.
Well, let's say I was making a tool to dump a bunch of MongoDB data, massage it a bit and commit in a git repository (which I'm not). So, I would need a mongo db driver and some kind of git integration library. Also, a non trivial amount of business logic code, to glue these together.
With PyQt or GoQt, I can do all that backend stuff with the languages I can use (or which are at least similar to other languages I can use). Will QtQuick/QML come with its own mongo and git libraries? Or will I have to find C++ libraries?
And if I do get C++ libraries, then I need to figure out how to include them in my project. Which means setting up a build system. Also, while I can use QObject for my GUI code, that obviously won't fly with whatever libraries I find. So I will need to figure out RAII or native C++ object or maybe even C interop. Which ends with me getting into C++, which I don't want to do.
Maybe I am mistaken, and using this QT javascript thing would solve all this for me. But somehow I doubt it.
-
@FrostCat said in Cross platform desktop app:
Really? Really? Go back and read what you wrote, man. You're considering tying yourself to a shitty dev environment just because it produces a smaller redistributable. That's pants-on-head crazy.
Yeah that would be like optimizing a programming language for build times. Or making one that can't use threads, but somehow selling that as an advantage (you see because doing callbacks for I/O is faster-- in some weird fantasy dimension) instead of a huge drawback.
Crazytalk.
-
@fbmac said in Cross platform desktop app:
What Windows machine doesn't already have the framework installed these days?
Any Windows user who's tried a GTK+ app has already uninstalled it for being a buggy piece of broken crap.
-
@RaceProUK the .NET framework
-
@cartman82 said in Cross platform desktop app:
YOU PICK THAT UP AND PUT IT IN THE TRASH RIGHT THIS MINUTE, YOUNG MAN!
I did downvote that for you :)
-
@fbmac Oh, if you're asking about .NET, then every single one of them
-
@FrostCat said in Cross platform desktop app:
The days of tiny hard drives are long past, dude. If you're concerned about the download size, on behalf of users with slow or capped connections, that's one thing, but "tiny executable" in and of itself isn't the first thing you should be worrying about.
I'm literally making a "small utility". What else should I be worried about? My own comfort?
@Eldelshell said in Cross platform desktop app:
I agree... hey! You've got Rust, I believe you can easily bind Qt with it.
Rust code makes my head hurt.
@FrostCat said in Cross platform desktop app:
Really? Really? Go back and read what you wrote, man. You're considering tying yourself to a shitty dev environment just because it produces a smaller redistributable. That's pants-on-head crazy.
I'm sure the end users will be very inconvenienced by my dev environment.
@anonymous234 said in Cross platform desktop app:
@cartman82 All of Tkinter is a big . It works, but I'd strongly recommend anything else.
Yeah.
@fbmac said in Cross platform desktop app:
@anonymous234 Mono with GTK should work well. What Windows machine doesn't already have the framework installed these days?
Mono is a no-go.
-
@cartman82 said in Cross platform desktop app:
Mono is a no-go.
Because...? I thought installing whatever things require was every linux user's hobby.
-
@Magus said in Cross platform desktop app:
Because...? I thought installing whatever things require was every linux user's hobby.
Too trivial. That shit just happens automatically for me.
-
@boomzilla Unless you need to use libpng23 and all that's in your repo is libpng22.1, but the new version requires compiling another component from source, which is incompatible with half the other things that use it because of a recent format change.
(Based on a true story)
-
@Magus Well, you said every, so....
-
@cartman82 said in Cross platform desktop app:
I'm sure the end users will be very inconvenienced by my dev environment.
Sure, because the one you're advocating will probably cause you brain damage.
Use C++. Just use smart pointers.
-
@boomzilla said in Cross platform desktop app:
Well, you said every, so....
That pendantry wasn't very dickweedy. I'm just sayin'.
-
@cartman82 said in Cross platform desktop app:
@FrostCat said in Cross platform desktop app:
The days of tiny hard drives are long past, dude. If you're concerned about the download size, on behalf of users with slow or capped connections, that's one thing, but "tiny executable" in and of itself isn't the first thing you should be worrying about.
I'm literally making a "small utility". What else should I be worried about? My own comfort?
Does it need to have a GUI? Because apparently the only really universal interfaces are bash and HTML/CSS/JavaScript.
-
Reading this thread is really bumming me out
-
@CreatedToDislikeThis said in Cross platform desktop app:
Reading this thread is really bumming me out
Wait till you hear how last night I gave up on desktop GUI, and just settled on a console UI (a la ncurses), but then learned even that is a PITA in terms of platform compatibility.
-
How about PHP-GTK?
-
Or node-WebKit or whatever it's called these days!
-
@cartman82 not ncurses, read input from stdin and write output to stdout.
-
@cartman82 said in Cross platform desktop app:
AND the skills I learn are transferable to future jobs.
@cartman82 said in Cross platform desktop app:
And final platform for the day - Lazarus, an open source Delphi reimagining.
Yeeeeeah...
-
@cartman82 said in Cross platform desktop app:
Wait till you hear how last night I gave up on desktop GUI, and just settled on a console UI (a la ncurses),
Fuuuuuck. Again.
I guess you're no different than any other modern software developer. There's a product RIGHT THERE that solves your need perfectly, but no, you refuse to even try it. Because you'd have to fill out a form on the Internets.
Meanwhile, you'd spent approximately 100 times the time it would take to fill out the form dicking around with broken open source shit that'll never work, because if there are two things open source devs are particularly incompetent at, they're: cross-platform and GUIs.
-
@Eldelshell said in Cross platform desktop app:
I agree... hey! You've got Rust, I believe you can easily bind Qt with it.
qmlrs doesn't support signals. At all.
-
@cartman82 said in Cross platform desktop app:
Wait till you hear how last night I gave up on desktop GUI, and just settled on a console UI (a la ncurses), but then learned even that is a PITA in terms of platform compatibility.
Writing a good console UI is exactly as much effort as writing a simple UI in QML, in my experience. Only that one of them is 500% more usable.
-
@blakeyrat said in Cross platform desktop app:
Fuuuuuck. Again.
I guess you're no different than any other modern software developer. There's a product RIGHT THERE that solves your need perfectly, but no, you refuse to even try it. Because you'd have to fill out a form on the Internets.We already spoke about this. The jojo thing doesn't have the modules I need. I did a google search. It's not there. I don't know how many different ways can I explain that.
Meanwhile, you'd spent approximately 100 times the time it would take to fill out the form dicking around with broken open source shit that'll never work, because if there are two things open source devs are particularly incompetent at, they're: cross-platform and GUIs.
Ok, pay attention here. This is the crucial difference.
-- Playing around with different technologies and bullshitting about them on TDWTF?
Fun-- Actually picking something and doing software development?
Work-- Reading the JOJO license agreement, filling in the paperwork, unsubscribing from their inevitable spam list, installing the IDE for a language I neither know nor like, and realizing that, yes, there really isn't the module that I need?
Pointless work
-
@cartman82 said in Cross platform desktop app:
The jojo thing doesn't have the modules I need.
But again, you never told us what "modules" you needed, so it's hardly my fault I recommended something that doesn't work for you. It's called "not being fucking telepathic".
@cartman82 said in Cross platform desktop app:
-- Playing around with different technologies and bullshitting about them on TDWTF?
FunNo it's not. It's godawful. You have brain problems if you think that's fun.
-
From all the discussed solutions, probably Python + PyQt/PySide + cx_Freeze is the simplest, has nice UI + all the libraries in the world.
And of course C++ Qt, but it is understandable you do not have time to learn C++ just for one project.
-
@blakeyrat I appreciate when you recommend something. If someone as demanding of quality as you recommend something I am taking note of it.
On the other hand, it's hard to make the powers that be in the company to buy anything that wasn't their idea anyway.
-
I'd go for Haskell + Wx +
lens
(for object orientation) or Python + Wx. I'd probably prefer Haskell since the compiler can statically link stuff, so there's no run-time needed on the host.Edit: maybe Haskell + Wx with some reactive bananas
-
@blakeyrat said in Cross platform desktop app:
But again, you never told us what "modules" you needed, so it's hardly my fault I recommended something that doesn't work for you. It's called "not being fucking telepathic".
Yeah, but you keep whining about it after he told you about this.
-
@Captain how can you think when you have to write this?
Prelude> putStrLn "Hello World"
Was using "print" or "echo" so hard? Hell, even "System.out.println" seems reasonable now.
-
@blakeyrat said in Cross platform desktop app:
@cartman82 said in Cross platform desktop app:
The jojo thing doesn't have the modules I need.
But again, you never told us what "modules" you needed, so it's hardly my fault I recommended something that doesn't work for you. It's called "not being fucking telepathic".
And that's why people tend to use mainstream languages, because you don't know ahead of time where your project might go or what modules you might need. Better to pick something that already has lots of modules, even if it has a few warts, so when those new requirements come up, you can pick up something and use it, instead of either re-inventing the wheel or whining that you have to start over in a new language because nobody told you that you'd have to do that.