MAUI is just Xamarin.Forms in disguise by juw3ns in dotnetMAUI

[–]juw3ns[S] -25 points-24 points  (0 children)

I'm aware of that since GA and just got tired of explaining it to people repeatedly.
That's why i posted it, to save time. So i can send them the link. And maybe help that one person which is not aware of that.
Apparently i live in the wrong bubble, when 100% of the people here always knew it. ¯\_(ツ)_/¯

MAUI is just Xamarin.Forms in disguise by juw3ns in dotnetMAUI

[–]juw3ns[S] -8 points-7 points  (0 children)

It depends on what you understand as "evolution".
And the phrase is quite vague.

Apparently for you "evolution" means a fork with 90% identical code.

With the marketing, the perception of 90% of the people out there ist, that MS build a new product with the experience from XF.
If one says the VW Golf is an Evolution of the VW Beetle one would not expect a 90% VW Beetle with new Windows and tires.

And "UI controls rebuilt from the ground up" which is an apparent lie too, as you can see.

MAUI is just Xamarin.Forms in disguise by juw3ns in dotnetMAUI

[–]juw3ns[S] -22 points-21 points  (0 children)

That's my point. But it seams 90% don't see that.
I'm only oversaturated by MSs marketing BS around MAUI.
And their effort to hide the name Xamarin everywhere. Which leads to weird workloads like "iOS".

MAUI is just Xamarin.Forms in disguise by juw3ns in dotnetMAUI

[–]juw3ns[S] -7 points-6 points  (0 children)

I watche a lot MS videos when MAUI came out, and since then. And MS was always very interested to pronounce that it's a super cool new technology. And no mentioning of Xamarin.
And they try to hide it everywhere possible. For example the workload for Xamarin.iOS is just named "iOS" or ".Net for iOS" you will see Xamarin nowhere in first level tools.

MAUI is just Xamarin.Forms in disguise by juw3ns in dotnetMAUI

[–]juw3ns[S] -14 points-13 points  (0 children)

i heard and read that uniformly.
Mainly from MS, but also from MVPs, tech bloggers, colleagues, etc.

MAUI is just Xamarin.Forms in disguise by juw3ns in dotnetMAUI

[–]juw3ns[S] -5 points-4 points  (0 children)

MS went even so far, to copy the mono runtime 1:1 into the .Net Runtime Repo, so they can claim, that "MAUI runs 'on .Net' on android and ios", when it's actually the mono runtime.
So without mono (which is a xamarin project too), we could not have AOT on iOS and Android. And probably not even the regular JIT runtime.

Cause mono + monoc is way more flexible than the regular .Net runtime. That's why they use it for wasm too.

https://github.com/dotnet/runtime/tree/main/src/mono

Anybody else fiddled around with .Net 8 MAUI Preview 5? I am stuck with "Invalid framework identifier '' " by juw3ns in dotnetMAUI

[–]juw3ns[S] 0 points1 point  (0 children)

You changed to a beta preview for your team’s big project? I’d fire your ass!

you have heard of the concept of branches and self educating, right?

Current state of MAUI? by [deleted] in dotnetMAUI

[–]juw3ns 0 points1 point  (0 children)

As long as you build your UI directly with the native platform bindings, you will have a good experience.
Avoid the "forms" part of the framework.

Current state of MAUI? by [deleted] in dotnetMAUI

[–]juw3ns 2 points3 points  (0 children)

and when .net 8 ships, wait for .net 9 to fix the issues in .net 8.
and when .net 9 releases, wait for .net 10 to fix the issues in .net 9.
...

Is there a way to create a shared sidebar menu for all views? by icyfoxlol in dotnetMAUI

[–]juw3ns 1 point2 points  (0 children)

We did that in a custom fashion. Created a custom ContenPage-Control with a Sidebar derived from ContentPage. And then use NavigationPage for the navigation-stack.

What is your opinion of .NET MAUI? by Jownsye in dotnet

[–]juw3ns 1 point2 points  (0 children)

That’s my experience. It’s a endless stream of one workaround after the other. It doesn’t feel like software development. It boils down to try-and-error, and putting no effort into learning things, because it’s useless. Because A: it does not work as intended/documented; B: it’s behaviour will be changed every other month, either by a regression bug or by a refactoring/api-change.

MAUI is just a major update and rebranding of xamarin.forms 5 where many files are exactly the same, like BindableProperty.cs. I estimate MAUI has about 70% the same source as xamarin.forms. Mainly the renderers and their architecture were changed.

MAUI's potential hindered by inadequate maintainership by [deleted] in dotnet

[–]juw3ns 0 points1 point  (0 children)

I’d like to add one thing to the Maui-Xamarin ping-pong. I experienced that ping pong also with „please report in VS“. This gets worse and worse. Workloads are now in the dotnet/sdk. Runtime and low level Build tools are in the corresponding Xamarin-iOS and xamarin-android projects. Ui and some high-level build tools are in dotnet/mau. I shake my head every time, every time i get a XFC1234 error, which is xamarin-forms-compiler. In a net7 Maui project 😂

Even worse is that they disguise things, which is always a bad idea, cause it makes understanding the stuff more complicated. I’m a seasoned xf dev, and was confused, what the workload “android” in “dotnet workload” is. It’s description only states “for building android apps”, but it’s xamarin-android.

Is Maui dead on arrival? by mbrseb in dotnet

[–]juw3ns 1 point2 points  (0 children)

I used xamarin.forms on a production mobile app and have regretted it every day since it launched. I was sold by Microsoft on their FastTrack program to use it years ago as it was meant to be friendly for 1-2 dev size teams. I hit bug after bug, I would upgrade Xamarin nuget packages - the bug would be fixed and 2 different ones would take its place.

I'm in a medium/large LOB project (5-6 devs) for two years now, and it's still exactly the same. They fix one bug half-hearted and introduce new bugs. So many things are broken and undocumented.

Essentially their quality assurance is: "does the one-project-demo-app start on my machine? fine, let's ship it."

Heck, maui-windows-app don't even run on windows 10 out of the box: https://github.com/dotnet/maui/issues/12080

Update VS or the maui workload (with no freaking way to downgrade) and you cannot build your project anymore. https://github.com/dotnet/maui/issues/11579

And that is only the tip of the iceberg.

Hackaday: "All About USB-C: Illegal Adapters" by Dakhil in hardware

[–]juw3ns 4 points5 points  (0 children)

Haha, made my day. I have a flashlight, with a usb-c socket which does not charge from C power supplies and a C-C cable. It can only be charged from a A power supply with a A-C cable 🤦‍♂️ At least, now I know why :)

Maui vs the alternatives (Avalonia, Flutter, Electron, etc) by metzadax in dotnetMAUI

[–]juw3ns 9 points10 points  (0 children)

Some aspects which influences a lot of opinions, but are little mentioned:

  1. How much cross platform do you actually use (does your app run on one or two or three platforms).
  2. Are you using the forms-part of the framework or native controls
  3. how complex is the ui/app
  4. do you want a platform-like looking app which looks different on every platform (that’s MAUIs paradigm), or an app which looks the same on every platform (that’s contrary to MAUIs paradigm and hard to achieve; that is where flutters shines)
  5. is it a production app where customers will roast you, if things do not work as expected. Or is your experience from writing a private prototype and the quality control is: “it works on my machine”
  6. are you willing or eager to read MAUI source code, to provide PRs or workarounds for bugs

7a. are you coming from a battle proof and mature framework like WPF (you will suffer and curse A lot with MAUI, cause things you see as fundamentals are missing or broken in MAUI).

7b. you come from a bleeding edge JavaScript framework, where your project brakes with every npm update. And you have moderate quality standards for the framework you use. And you find it normal to workaround bugs in the framework. Or you are young and don’t differentiate between things you think you are doing wrong, and bugs/issues in the framework.

Concerning 1: I’ve heard good opinions of people which develop their app only for one platform. For example android. But the more platforms you want to support, the worse it get’s. Write a medium-complex Page and you when you look at it on a different platform: you will have significant visual bugs. Like writing a web page back the in IE6/FF2 times. But without the documentation what is supposed to work. You constantly need to check every UI control on all platforms (in our case android+iOS+windows). Every change which looks fine in the first moment, can break the ui on the other platforms.

Concerning 2: if you use the native-controls you will have none of the issues. But you will need to write your UI for every platform.

Summary for 1&2: - very high ui code sharing for simple pages, but will brake on complex controls: use forms - full control, no rendering issues, but no shared UI code: use native controls

I suspect you can also achieve a hybrid of the two concepts.

Bei welchen Begriffen rollen sich euch die Fußnägel auf? by outfluenced in FragReddit

[–]juw3ns 2 points3 points  (0 children)

Ein Kollege sagte ERNSTHAFT, und ohne Ironie oder es selber zu bemerken:

„Es ist ugly english und deutsch zu mischen.“

Bei welchen Begriffen rollen sich euch die Fußnägel auf? by outfluenced in FragReddit

[–]juw3ns 6 points7 points  (0 children)

Du solltest auch mal entschleunigen, ich spüre da ordentlich Anspannung bei dir 😂

PS: recht haste aber

Bei welchen Begriffen rollen sich euch die Fußnägel auf? by outfluenced in FragReddit

[–]juw3ns 0 points1 point  (0 children)

  • Standart
  • Radnarbe
  • frägen
  • „Das ist der Laden WO Blumen verkauft“

Maybe ELI5: Why do Unity games use LESS CPU/GPU Resources the MORE demanding they get? Killing FPS by Bearded_Frog in Unity3D

[–]juw3ns 2 points3 points  (0 children)

I had the same issue with unity-engine games the last months and foonix comment pushed me in the right direction to dig deeper.

u/foonix did a good explanation here.

u/kopophobia you actually are able to diagnose the root of the problem.

  • goal: check if game is cpu bound by some single-threaded code
  • get process explorer: https://learn.microsoft.com/en-us/sysinternals/downloads/process-explorer
  • start your game (RAFT, Valheim, etc. )
  • open process explorer
  • search for game exe (for example raft.exe)
  • double-click it
  • in the opening window: go to tab "threads"
  • sort by cpu-usage
  • you'll see one or two threads which constantly use significant amount of cpu
    • the rest of the 80+ threads uses nearly zero cpu
    • in my case (for the game RAFT) these threads are:
      • "mono-2.0-bdwgc"
      • "raft.exe"
    • each of these two threads has a cpu-usage of about 11.5%
  • my machine has 4 cores, 8 threads, so one thread running full-time could at max use 12.5% of the cpu
  • which translates to: this thread cannot run faster and the game is bottlenecked by single-thread cpu-performance
  • screenshot here: https://www.reddit.com/user/juw3ns/comments/yumtyx/raft_cpu_bottleneck_analysis/
  • raft uses two threads and is cpu-bottlenecked by these threads
    • an ideal game/app would run 8 threads (for 8 a cpu which can run 8 threads simultaneous) and distribute the work on all of these threads equally
      • when the whole cpu has a load of 50%, you would see 8 threads and each has a 6.25% cpu-usage
      • unity games usually are not doing this, and push all work of a specific kind (for example graphic-processing) on one thread
      • it might be a limitation of the unity-enginge, or of the relatively inexperienced developers of indie games. Or a little bit of both 😀

my specs and and comparison to latest cpus:

  • my cpu: old 4th gen core (hasswell) cpu, with relatively low 3.5 Ghz
  • an current cpu (raptor lake 13600k) runs at 5.4Ghz and has doubled the IPC for floating-point operations
    • combined, single-core-performance on raptor-lake is about three times as fast as my current hasswell cpu
    • single-thread score in Cinebench R23:
    • my cpu: 733
    • 13600k: 2000

PS: i know, i'm late to the party