Hacker News new | past | comments | ask | show | jobs | submit login
U++ – Cross-Platform App Development Framework (ultimatepp.org)
62 points by squarefoot 7 months ago | hide | past | favorite | 26 comments



I attempted to use this in the past but ran into problems (it could be time to revisit it though).

1. It's pretty tightly integrated with their custom IDE. There was no CMake or Meson or anything else to use another IDE.

2. I ran into a strange issue where menu bars didn't render on a obscure X11 window manager (cwm, the OpenBSD one). Qt, GTK, FLTK Apps had no problem here.


does their ide not have a dark mode as an option (or does it natively use os default)? screenshots are all as bright as the day star


Anybody using this in production? I just transitioned one of my teams from Qt to wxWidgets for cross platform GUI development. I would be interested to hear what people think of U++ for desktop native GUIs.


What's wxWidgets like these days? I used it a lot 10ish years ago and found that while it worked great for simple things, once you tried to create anything even slightly complex it was both buggy and undocumented.


sounds like a step backward to be honest



Out of curiosity, why did you make the switch? Licensing?


> Licensing

Pretty much. Some of the paid Qt module look interesting, but the clarity of wxWidgets license made is easier for us to deal with our legal department when releasing new products.


If you like using Qt but you also want a more modernize C++ version of it, you can try https://github.com/copperspice/copperspice/ and I'm pretty sure its license have you covered.


The folks behind that framework also have an amazing Youtube channel [0] where they talk about complicated C++ topics in great clarity (well, as great as one can expect for such a complicated language). They don't post often, but when they do, it's almost always a gem.

[0] https://www.youtube.com/@CopperSpice


Has it had an impact on your productivity? Are developers shipping faster, same pace as before or slower? Would be super interesting to know if legal has increased productivity through bureaucracy, or how much a decrease in say 20% is costing the company - which is something that probably could be a fast track back to Qt.

Sorry if I'm coming off as a salesman here!


What about the LGPL isn't clear enough to abandon the entire framework?


CodeTyphoon and U++ are 2 valid alternatives to LiteCode+wxWidgets.

You can cross-compile with all 3 of them, but most importantly, you will only see the advantages of using them in the long run (rather than Visual Studio)

It's hard to explain until you try yourself doing a big C# project, in the short term it seems so convenient and such a good idea (same as with Unity, or Embarcadero)


What are the reasons you'd want to make a cross platform app using c++ these days?


The biggest is that you or your team are fluent in C++ and are targetting multiple platforms. In practice, fluency often pays much higher dividends than whatever differentiates one language from another.

Besides that, many critical third-party resources (operating systems, niche professional libraries, etc) are still designed for C or C++ integration and often written in those languages themselves. When you use C++ to integrate them into your own project, you don't introduce an extra layer of bugs, limitations, or performance issues associated with bridging and marshalling and can more easily trace and debug issues that arise during or after development. Further documentation and support often presume you're using C or C++ and so you get the best insight into how they're meant to be integrated and the most help when you run into trouble.

If you're not already comfortable with C++ or not working in one of those scenarios, it's less warranted, but the two factors above account for plenty of real-world projects.


> When you use C++ to integrate them into your own project, you don't introduce an extra layer of bugs

I’m mixed about this statement. Yeah, I had to write some pimpls to make cross platform API for multiple OSes.

And I’d also say modern C++ got nice compile time checks and makes safer code. Still, it doesn’t reduce potential of bugs or security issues due to race conditions, or direct memory interactions in comparison to writing in Swift or Rust as an example and binding what you need.


If you want it to be fully native and not have to carry a runtime, C++ is pretty much your best choice. I think technically Python could be pretty slim if you just bring the runtime and build the GUI out of raw Win32 calls in Cython. That is something I've been thinking of trying for a while but mostly as a toy project to see how small you could get a Python GUI tool and not something for production.


Having used the windows crate for rust, I can say the raw win32 API is quite painful


Small footprint and fast are 2 big ones.


It doesn't seem like that odd of a choice. What else would you use?


Rust, Go, TypeScript, C#


I like this website an awful lot


Agreed:

15 requests 53.80 kB / 33.89 kB transferred

That's pretty good for a functional, densely packed website full of information.


It's wonderful. Maybe just the nostalgia and familiarity of yesteryear kicking in, but I really enjoyed it.


> ultimatepp

Please for the love of god do not use this name. People will never stop making fun of it.

Personally I would never push this in a corporate setting with a name like that.


The corporate setting where there's no sense of humor in the engineering department is likely going into decline (culturally at least).




Consider applying for YC's Spring batch! Applications are open till Feb 11.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: