this post was submitted on 30 Aug 2023
193 points (98.0% liked)

Programming

16752 readers
212 users here now

Welcome to the main community in programming.dev! Feel free to post anything relating to programming here!

Cross posting is strongly encouraged in the instance. If you feel your post or another person's post makes sense in another community cross post into it.

Hope you enjoy the instance!

Rules

Rules

  • Follow the programming.dev instance rules
  • Keep content related to programming in some way
  • If you're posting long videos try to add in some form of tldr for those who don't want to watch videos

Wormhole

Follow the wormhole through a path of communities [email protected]



founded 1 year ago
MODERATORS
top 50 comments
sorted by: hot top controversial new old
[–] [email protected] 116 points 11 months ago (10 children)

I always forget VS Code is a different thing to VS.

Don't scare me like that.

[–] [email protected] 63 points 11 months ago (2 children)

*different thing to VS for Mac, because Microsoft had to give three entirely different products the same name.

[–] [email protected] 24 points 11 months ago (1 children)

VS for Mac was really just a renamed Xamarin Studio too.

[–] [email protected] 4 points 11 months ago

Which is a continuation of MonoDevelop.

[–] [email protected] 5 points 11 months ago

Oh wow I had no idea haha

[–] [email protected] 3 points 11 months ago

Same jeez this headline scared me!

[–] [email protected] 1 points 11 months ago

Dammit, me too!

load more comments (7 replies)
[–] wth 30 points 11 months ago (3 children)

Well… this is pretty crappy.

I built a Xamarin app (mac/iOS) because I wanted portability to windows. Then I was forced to upgrade to .net 6/7 because of a library I needed, and that meant upgrading to .Net for Mac/.Net for iOS (which is part of MAUI, but not using MAUI UI controls). MAUI is definitely undercooked at the moment.

What an awful and painful process, but I’m finally there… and they drop the main IDE for development. Damn.

VSCode doesn’t have a visual UI designer (well… neither does VSMac, but it does prepare a copy of your project and opens XCode for editing the storyboard/images, and copies changes back). So does this mean they will add that to VSCode? Or will we all have to switch to raw edits of XML to create UIs like you have to do with MAUI? Ick.

Developing GUIs for windows using MS tools is a lesson in frustration, especially when you want to have cross platform capabilities… WPF -> WinForms -> Xamarin -> Xamarin.Forms -> MAUI/.Net for {Mac,iOS}… Not to mention UWP… Each transition is a rewrite. Damn.

[–] [email protected] 34 points 11 months ago (3 children)

@wth @Spyros We need one universal graphical tool kit that works everywhere!

GTK: Hi, I heard you're looking fo—
Me: NOT YOU

[–] [email protected] 11 points 11 months ago (1 children)
[–] [email protected] 1 points 11 months ago (1 children)
[–] [email protected] 1 points 11 months ago

Every desktop app that's available on multiple platforms is basically written in it.

[–] [email protected] 2 points 11 months ago (2 children)
[–] [email protected] 3 points 11 months ago

GTFO Electron, I hate you :P

[–] [email protected] 3 points 11 months ago (1 children)

@JackbyDev oh damn wish I'd thought of that

[–] [email protected] 1 points 11 months ago

Electron never forgot you :(

[–] wth 1 points 11 months ago* (last edited 11 months ago) (2 children)

ROFL.

True on desktop OSs. I did quite a bit of commercial dev on GTK many years ago, but I always found the look and feel on Mac (esp) and windows quite klunky. I hear that quite a bit of work has been done on native theming, so perhaps my impressions are out of date. Having said that - GTK wasn’t bad to work with. I also did a project in WxWidgets, but again desktop only. It was not too bad for simple apps.

For the current app - first release target was iOS, then Mac, Android, Windows then Linux. So GTK was out since its not mobile friendly (I have heard you can do something on Android, but iOS is out).

[–] [email protected] 2 points 11 months ago (1 children)

@wth I have worked with GTK3 myself, and once I got used to its quirks, actually found it quite nice to work with. I was writing my code in Python too, which added some extra challenge, but the GObject introspection took a lot of the pain out of interoperating with what's basically a C library.

However, I'm aware that GTK has a bit of a reputation. The look and feel is great on Linux desktops that use it natively, but I do remember it looking pretty ugly cross-platform.

load more comments (1 replies)
[–] [email protected] 1 points 11 months ago (1 children)

GTK has improved a lot, but native theming isn’t the area. It has very powerful theming but I don’t think a macOS theme exists.

load more comments (1 replies)
[–] [email protected] 4 points 11 months ago* (last edited 11 months ago) (1 children)

What an awful and painful process

Yeah... that's why almost nobody uses Xamarin. The fast approaching train if you're invested in Xamarin (for others, the light at the end of the tunnel) is SwiftUI which is the first good SDK designed to create cross platform user interfaces.

SwiftUI isn't on Windows yet - but it's coming.

[–] wth 8 points 11 months ago

Its hard to make a commercial decision for something that’s coming someday. But I hope it does arrive - I like Swift as a language (OMG - it was such a pleasure after the ugliness that is Objective C).

[–] [email protected] 3 points 11 months ago (1 children)

This may not be a popular opinion, but if the app is large enough, just use Electron.

[–] wth 2 points 11 months ago (1 children)

I really like the idea of having a web UI for its portability and richness (esp thanks to CSS being so close to consistent across all platforms). But I have a metric tonne of business logic and ZKE code in C#/.Net running on Mac/iOS. From your prompt, I did just find Electron.Net, so perhaps there is hope.

And, AFAICT, electron can’t be used for iOS apps on the App Store (am I still wrong about that??)

Plus (personal bent) I did a ton of JavaScript years ago when truthiness and indeterminate behaviour was rampant back in ES5 days. I’m a purist and found it a little ugly, but incredibly fast. Then I found dart which compiled to JS, and I decided that JS made a better assembly language than a usable language. Sadly dart has remained a minor player. JS has moved on and I see lots of the old ugliness (like iterating through properties, exceptions and a sync) has gone away. ES13 looks pretty good, although I haven’t played with it yet.

[–] VeryNiiiice 3 points 11 months ago (1 children)

Have you looked into Flutter? It uses Dart and can compile to native apps for android, ios, windows, Mac, Linux, and web.

load more comments (1 replies)
[–] [email protected] 27 points 11 months ago (5 children)

Is this supposed to give me confidence in .Net MAU?

[–] [email protected] 20 points 11 months ago

Well at this point, don't trust any framework Microsoft pushes. They told everyone UWP was the future for Windows after WPF, then stopped for WinUI and the app SDK...

[–] BaskinRobbins 11 points 11 months ago

I feel dumb for falling for the Xamarin.Forms train. I have zero confidence in any MS UI framework including Blazor.

[–] [email protected] 4 points 11 months ago

I have started using Avalonia, and even though I am still learning, I am very satisfied with it. There are growing pains obviously, but as you said, I have no confidence in Microsoft UI frameworks.

[–] wth 1 points 11 months ago

MAUI’s pretty undercooked at the moment. Editing UIs in raw XML, incomplete control set, bugs.

One day could be useful, and there are some 3rd parties providing controls… but of course this is microsoft so they will work on it for 2-3 years, and then write something new, throwing MAUI into the dustbin.

[–] [email protected] 25 points 11 months ago (5 children)

In my previous company I used VS for Mac, it wasn’t a great experience… but it was better than nothing. Then along came a Rider license…

The tooling for VS Code might have improved, but Rider is the IDE of choice… even on windows.

load more comments (5 replies)
[–] [email protected] 9 points 11 months ago (1 children)

Not surprised after the the main VS Mac developer left MS a few months ago.

[–] [email protected] 5 points 11 months ago

I'm not surprised lol.

At my workplace I occasionally do work on an AutoCAD lisp add-in, half the time I don't know what I'm doing when something isn't quite working right 😭

My manager is tempted to drop support because none of us really know what we're doing with it... the original dev is long gone and none of us know LISP

[–] [email protected] 9 points 11 months ago (1 children)

Darn. I was really hoping it would improve.

I guess I can just use VS Code for now. And maybe use Rider in the future.

[–] wth 3 points 11 months ago* (last edited 11 months ago) (2 children)

Rider doesn’t support MAUI. Nor does it support .net for iOS and .net for Mac which are part of MAUI and the natural upgrade from Xamarin. I downloaded Rider a few months ago and enjoyed being able to switch between VSMac and Rider, and especially enjoyed using CoPilot in Rider.

However Rider has a couple of nasty bugs that have been there for years - one of which was to ignore breakpoints. That came and went on me for a while.

[–] BaskinRobbins 1 points 11 months ago (1 children)

I've never experienced the breakpoint issue with Rider but I do find myself needing to invalidate cache and reload every now and then if I'm using it heavily. To be fair though I've had to do the same with VS for windows. It was always nice to use VS for Mac as a last resort sanity check though just to roll out that Rider is having issues and not my code.

load more comments (1 replies)
[–] wth 1 points 11 months ago

I take back this comment partially. As 2023.1 (which I have), rider failed to support MAUI. As at 2023.2, they say they have preview support available. I’ve downloaded, and am giving it a try.

[–] [email protected] 2 points 11 months ago

How long did it survive?

[–] [email protected] 1 points 11 months ago (1 children)

They should just port the standard VS or finally work on bootcamp for ARM.

[–] [email protected] 1 points 11 months ago

You can run an insider preview version of Windows on Apple Silicon Macs (can't boot yet, but you can run it in a VM).

load more comments
view more: next ›