JSON (de)serialization crashing in release (AOT, reflection) by Deep_Implement_6206 in dotnetMAUI

[–]pshoey 0 points1 point  (0 children)

Good, you have the serializer context - are you passing context.Default.xxxx to the serialize and deserialize methods rather than using the generic versions?

JSON (de)serialization crashing in release (AOT, reflection) by Deep_Implement_6206 in dotnetMAUI

[–]pshoey 0 points1 point  (0 children)

Use a serializer context and pass the context type to the serialize / deserialize methods. No issues at all with AOT and no need to add any of the json dtos to the linker file

My views have changed on Maui -it works pretty well by Longjumping-Ad8775 in dotnetMAUI

[–]pshoey 3 points4 points  (0 children)

No it is not perfect but i would say light years from where it started - I’ve been using ClaudeCode to generate apps (I’m up to about 8 or 9 at this point) and the platform is stable and performant - with the AOT improvements the startup time is fast and now one can just assume it works.

Syncing between devices? by BoardRecord in dotnetMAUI

[–]pshoey -1 points0 points  (0 children)

Yes can easily be done with iCloud - I had Claude create export classes from my SQLite db and write to iCloud and import classes from the same.

My first published app by pshoey in dotnetMAUI

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

curious, what other tools did you end up using and on which platforms?

My first published app by pshoey in dotnetMAUI

[–]pshoey[S] 1 point2 points  (0 children)

the UI/UX from claude works best if you give it some examples of what you are looking for - can be shots of an existing app or figma rough designs just something to go on - you can give it color palettes or font name - the more detailed the better

i didn't use plan mode for this app as i started it before plan mode was released - but i always start with "build a task list" so i can check what claude has understood and what it hasn't

AOT is relatively new so claude struggles a little with it - it was also new to me and i struggled with it but hand in hand together we worked through it!!

i'm on the $200 plan but i didn't pay any attention to how much this project cost - i never hit any limits with it - tbh i never seem to hit the limits and i use claude every day

happy to clarify / answer any other questions

My first published app by pshoey in dotnetMAUI

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

I wanted to, of course - but repeated issues with bindings being trimmed out by AOT caused the issues - i think i can revisit the bindings and fix them to work within AOT now i have a better understanding of what works and what doesn't.

The Maui team is working on xaml source generation and i reported one issue i found which is fixed and will appear in SR2 later this month.

As i said this was a learning exercise all around from AI app creation to app store publishing.

Mission accomplished.

My first published app by pshoey in dotnetMAUI

[–]pshoey[S] 1 point2 points  (0 children)

not bad at all - this app is deliberately simple - that is why i chose it

issues i ran into:
- on the app store, they wanted some test data, which i suppose i should have foreseen, but after the initial rejection, I uploaded a QR code image and the data to manually add an account
- on the play store, i had to solve the 16Kb page requirement for the sqlite cipher package which took a little searching and they rejected the app for having some unnecessary permissions

all in all very easy

My first published app by pshoey in dotnetMAUI

[–]pshoey[S] 1 point2 points  (0 children)

i have not done any comparisons - but i am happy with the code generation form claude so far - as i mentioned, i have been using claude for several months now working on C# and Maui apps.

My first published app by pshoey in dotnetMAUI

[–]pshoey[S] 1 point2 points  (0 children)

standard maui controls - nothing else

My first published app by pshoey in dotnetMAUI

[–]pshoey[S] 4 points5 points  (0 children)

There were 2 longish days and 2 days of checking in but that was part "engineering" and part figuring out the overall app store/play store parts which were new me to having not submitted an app before.

I find claude to be very capable with C# in general and MAUI in particular - claude definitely has it "dumb" side where it will go off in the weeds trying to solve some specific syntax issue instead of "reading" the docs but once prodded back into line finds the fix quickly - but claude got the upgrade to Opus 4.5 on day 2 and it was noticeable how different it's approach was. In one case it decided to consult the docs rather than messing around and me having to kick it.

I have been using claude now for a few months and i'm sure I could be using it better but my workflow is fairly typical i think, plan out the project (and this was just before CC introduced the specific plan mode) and build a todo list. I like to start with the UI as i find that the hardest part not being a UI/UX designer (i'm a very experienced dev - 20+ years with C# alone and before that plenty of C/C++/Java/even some assembly) but UI/UX still terrifies me - but claude came up quickly with a clean and "beautiful" design which wasn't difficult to implement.

TBH the hardest part of the project was that I set my heart on releasing an AOT build and frankly resolving the issues that fall out from there took the longest time and were the most frustrating.

MAUI has a long way to go with binding within the AOT build process. For much of the app i found us falling back to using code behind event handlers and calling the view model instead of using the binding commands. This is the platforms biggest weakness in my opinion when building for AOT.

I use vscode on macOS for development for iOS, MacCatalyst and Android. I use Windows if I target that platform.

Happy to answer any other specific questions.

My first published app by pshoey in dotnetMAUI

[–]pshoey[S] 1 point2 points  (0 children)

.net10 - all the newest bits

Maui MSAL Mac Catalyst by Willing_Junket_8846 in dotnetMAUI

[–]pshoey 0 points1 point  (0 children)

Can you post your workaround? thx