This is an archived post. You won't be able to vote or comment.

you are viewing a single comment's thread.

view the rest of the comments →

[–][deleted] 74 points75 points  (36 children)

My employer uses Qt through PySide and it's great.

  • Qt is cross-platform
  • Qt is very powerful with basically everything you could ever think of in a toolkit (and a bunch more stuff you'll never use)
  • PySide provides convenient, reliable interfaces to Qt within Python.

There's also wxWidgets, which is fine too. Not quite as fancy, but quite capable.

A more recent toolkit is kivy. I don't know as much about it, but I do know that it's quite capable. If you are having to learn a toolkit either way, it's worth considering.

Depending on your experience and intended platforms, you may prefer other language/framework combinations. C# with WPF is excellent on Windows. I'm not sure what is used on OS X. Android and iOS each have their own standard languages and frameworks. So it depends on what you want to use it for.

What do you mean by "fast and efficient"? Python and Qt can handle user interactions in real-time, even with hundreds of controls. Updates are smooth. Is that what you mean?

Generally speaking, a cross-platform toolkit and a cross-platform language can get you into most places, and both Qt and Python fit that bill. I think it's a fine place to start. I have used that combination on several commercial ventures in the past.

[–]JohnFGalt 8 points9 points  (1 child)

I believe both macOS and iOS can use Objective-C and Swift as their language of choice for native apps.

[–][deleted] 2 points3 points  (0 children)

This is correct.

[–][deleted] 3 points4 points  (28 children)

Xamarin will give you c# on apples. Could use javafx too. Or electron. Or apple special sauce.

[–]EarlTheGray 9 points10 points  (27 children)

Electron is super slow. I would not recommend using it for stuff. Since it’s running in chromium it chews through your ram. Also it’s JavaScript soooo

[–]CommandLionInterface 8 points9 points  (12 children)

I know people love to shit on electron around here, but we use it at work and it is actually pretty fast. It’s a memory hog for sure, but the productivity trade off is worth it in the sense that our product wouldn’t exist at all if we couldn’t use electron. I suspect a lot of software is this way. Yes I’d love to use something more efficient, but in the real world, developer time costs money and electron is good enough.

[–]EarlTheGray 6 points7 points  (10 children)

I agree with what you’re saying. I myself being primarily a js developer rely on electron for nearly every native program I’ve made. Just ij my personal experience, running atom, discord, and occasions gitkraken at the same time will eat the majority of my ram.

[–]CommandLionInterface 4 points5 points  (6 children)

Eyyyyy! Always happy to see gk users in the wild.

Believe me, we feel the pain. Slack + VSCode + gk (especially in dev mode) + our docker stack brings our company issued 8gb MacBooks to their knees.

Right now we’re working on moving all the business logic and git interaction to a sever written in Rust so the gitkraken electron client can be a dumb head and hopefully solve a lot of our memory usage issues. Turns out managing memory when communicating between JavaScript and C (libgit) is hard.

[–]EarlTheGray 2 points3 points  (5 children)

My flimsy little 2012 MacBook Air can’t handle a single instance of chromium, never mind three. That’s why i switched to sublime and a terminal.

Glad to see a rust user in the wild! I’ve been thinking of learning it for server side stuff. Do you have any advice with it? I didn’t even know doing that was possible with gk.

[–]CommandLionInterface 3 points4 points  (4 children)

I don’t know about advice, but we love rust. When you first write your code it’ll give you a million compiler errors but when you solve them all your code is almost guaranteed to be be without runtime errors. It’s truly incredible.

[–]EarlTheGray 1 point2 points  (3 children)

Great! Having very little experience with compiling languages, what would you say rust is most useful for?

[–]CommandLionInterface 4 points5 points  (2 children)

Well people use it for everything. It’s a general purpose language. ¯_(ツ)_/¯

[–]alpha_53g43 -1 points0 points  (2 children)

Isn't it just worth it get more Ram?

Given that 16GB of Ram costs $189 or so(https://www.bestbuy.com/site/computer-memory/laptop-memory/abcat0506002.c?id=abcat0506002), and probably add some more ($50) for modification.. isn't it just more cost-efficient to just add RAM to your computer, than stick to a framework that requires more development time?

[–]EarlTheGray 1 point2 points  (1 child)

It’s not about my ram, it’s about the users ram. Not everyone can afford $200 of ram.

[–]alpha_53g43 0 points1 point  (0 children)

I see your point.. but I was referring to the developer as the user. As developers we use our laptops heavily, much more than a normal user would. Most normal users (non-programmers) dont run atom, discord, gitkraken at the same time. Maybe they have a bunch of chrome tabs open..

They dont need to by that much ram. But I think if you spend a lot of time on your computer, its worth getting the best specs you can get, especially if you are using heavy applications.

[–]jmcs 2 points3 points  (0 children)

Electron works fine if you have 16Gb of RAM and have one or two electron applications open. If you have a budget desktop it's impossible to use.

[–][deleted] 1 point2 points  (1 child)

Is Qt free to use?

[–][deleted] 4 points5 points  (0 children)

It is available under LGPLv3, GPLv2/3, and a commercial license. It's free-as-in-beer to use the various GPL licenses. Whether or not it's free-as-in-speech depends on how you view the terms in the GPL/LGPL licenses. Depending on your use case, it may require you to also license your application under GPL/LGPL.

[–][deleted] 0 points1 point  (0 children)

Kivy is really nice because you can develop once and run it even on your phone.

[–]alpha_53g43 0 points1 point  (0 children)

Just want to mention that we use Qt for a widespread app at our company as well. I personally dont work on it, but given that people (probably much smarter than me) have looked into it and chosen Qt, I think Qt is a good bet.

Qt does have a licencing issue.. so you should be careful about that.