Comments (17)
@davidortinau as I said in the other thread. The MAUI blog post created massive confussion. People now seem to think MVU = view as code/DSL.
But this is completely independent from what MVU is. MVU is perfectly possible with XAML. It has nothing to do with how you write the view.
It's only about creating an immutable model + update function which takes a model and msg and builds a new model and also a view function which does not mutate the model directly but sends new commands (messages) into the update loop.
from maui.
Flutter has an entire page dedicated to attracting people from Xamarin.Forms. You are saying we should ignore competition. Really?
from maui.
Also coded UI is on the rise... react, flutter, swiftUI, ecc... they are gaining a LOT of popularity and is not only hype... coded UI has great perks if done right
from maui.
Coming from a XAML / Blend background, my initial thoughts around UI in code was to recoil but once I tried it, there were many benefits that I saw that I had simply not considered. The removal of the need for - what now seems like massively overly-complex but at the time felt totally reasonable - features such as converters, resources and similar have made me a real believe in code-first UIs.
from maui.
Blazor bindings are beautiful! I'm just starting out with them and they offer the simplicity that Flutter does.
from maui.
I think MAUI should stick with only one way of designing UI, that's: XAML
It has never been one way only. Code-based UIs have been supported through Xamarin.Forms from the beginning. Making that more approachable makes sense. And by the way: MVU can be used easily with XAML (Xamarin.Forms, WPF).
from maui.
XAML is just a "tool" on top of the object model... You can use xaml, c#. You can architect your app using MVVM (with or without XAML) or with MVU (to be fair the examples provided were not "real" MVU but this is another topic).
If you dont like coded ui or the MVU approach just ignore it :) There is no need to push it back.
I dont think this is just to attract flutter developer. The MVU pattern is on the rise, and is very well suited for mobile development.
from maui.
Well, we have .designer.cs, but we did not have to edit code there, even I guess many of the Windows Forms developers didn't even see the contents of the .designer.cs files ever.
@sim756 - while a capable designer sounds like a great productivity tool, if you've been around for a while, you might have worked on "legacy" codebases, where the designer has been broken and stopped working a few Visual Studio versions back, and you'd have to understand and edit thousands of lines in .designer.cs by hand. As making even the tiniest of changes (like aligning a button) in such codebases might take a day or two - all those productivity benefits get reconsidered. (Had those experiences with both WinForms and WebForms previously).
When it comes to XAML, @dsyme talks about reliance on heavy tooling in this talk about Fabulous with a section dedicated to "The Problem with XAML". Even though Fabulous has lots of problems of its own, it's still hard to disagree with many of the points being raised.
from maui.
@GiampaoloGabba
I think I should make it clear that I'm less against MVU than Coded-UI. I'm confused by that post that I'm afraid that Coded-UI is going to be the default way of developing UIs (....I'm afraid of losing XAML).
Well, we have .designer.cs, but we did not have to edit code there, even I guess many of the Windows Forms developers didn't even see the contents of the .designer.cs files ever. But here, we have the capable GUI Editor that we didn't have to worry about the Coded-UI code in the .designer.cs file.
I better edit the title of this issue.
from maui.
I know. Sometimes we do write new Button() { .... }
Sometimes people write entire XF apps without touching XAML – and they are happy about it ;-).
from maui.
I think MAUI should stick with only one way of designing UI, that's: XAML
Blazor Syntex is okay, but MVU seems totally unnecessary mess to me. If it is to attract Flutter Devs, please, let them stay with Flutter; DO NOT destroy the beauty of XAML;
It is meant for C# and .NET dev.
from maui.
Flutter has an entire page dedicated to attracting people from Xamarin.Forms. You are saying we should ignore competition. Really?
Well, we better have "Xamarin for Flutter devs" page!
Blazor bindings are beautiful! I'm just starting out with them and they offer the simplicity that Flutter does.
Everything is okay except this, and this is why I dislike Flutter :
Image 0
@davidortinau as I said in the other thread. The MAUI blog post created massive confussion. People now seem to think MVU = view as code/DSL.
But this is completely independent from what MVU is. MVU is perfectly possible with XAML. It has nothing to do with how you write the view.
It's only about creating an immutable model + update function which takes a model and msg and builds a new model and also a view function which does not mutate the model directly but sends new commands (messages) into the update loop.
I am really confused!! Thank you, you just made it clear, the post is catastrophically confusing:
Image 1
I think MAUI should stick with only one way of designing UI, that's: XAML
Blazor Syntex is okay, but MVU seems totally unnecessary mess to me. If it is to attract Flutter Devs, please, let them stay with Flutter; DO NOT destroy the beauty of XAML;It is meant for C# and .NET dev.
"It is meant for C# and .NET dev.", exactly, it should not get influenced by Flutter (I am afraid it is..).
I think MAUI should stick with only one way of designing UI, that's: XAML
It has never been one way only. Code-based UIs have been supported through Xamarin.Forms from the beginning. Making that more approachable makes sense. And by the way: MVU can be used easily with XAML (Xamarin.Forms, WPF).
I know. Sometimes we do write new Button() { .... }
, but this post (Image 1) confused me, and many other, I believe.
from maui.
Flutter has an entire page dedicated to attracting people from Xamarin.Forms. You are saying we should ignore competition. Really?
Well, we better have "Xamarin for Flutter devs" page!
LOL. Imagine a page dedicated to "Windows Forms for WPF devs".
from maui.
What I wanted to say:
What will we choose between Flutter/Swift/Coded-UI thing and WPF/XAML with a GUI Editor like Blend for Visual Studio?
from maui.
I know. Sometimes we do write new Button() { .... }
Sometimes people write entire XF apps without touching XAML – and they are happy about it ;-).
I'm surprised..!! 😢
However, not for them, but for people like me, who wants Blend for Xamarin/MAUI, is unhappy:
Android Studio Motion Editor
https://developer.android.com/studio/write/motion-editor
from maui.
@sim756 I wonder if you still want to have blend support once you worked in a system with properly working hot reload. Usually people prefer that a lot
from maui.
blazor binding has multiple tipps and issue
1- difference syntax between 1 way binding and two-way binding ( Value = @value For one Way and Value-Changed = @value for two-Way )
2- Binding does not support IValueConverter and we must convert values inline. and this is not good for reusing code.
3- we can control UI updates by INotifyPropertyChanged from viewmodel or model. but in blazor, this is done automatically and this is an performance issue
please keep xaml alive with its designation
from maui.
Related Issues (20)
- ScrollView Orientation is not changed at Runtime in IOS and MAC HOT 1
- Disappearing MAUI templates and dotnet new install Microsoft.Maui.Templates does not work
- The keyboard overlaps with the Entry inside the ContentView when translating its x position to the right side. HOT 1
- FlyoutPage's menu icon not showing, when used in a NavigationPage on Android HOT 3
- CollectionView.Header is header is not scrollable in Android platform. HOT 2
- More problems with the Picker
- Problem updating CollectionView ItemSource, when the modification is triggered by one of the items in the list HOT 4
- Actually, I had a feeling this might have already been asked and it has: #2292
- FilePicker on iOS: double quotes (0x22) in picked json file replaced by 0xAB («) the 1st time it is opened+read HOT 1
- How to use Android's jar? And there are armeabi v7a dependencies on so files.
- Label text overlap in HorizontalStackLayout HOT 2
- App crashes when navigating from TabbedPage to another TabbedPage HOT 3
- Vertical Scrolling in ScrollView Orientation = "BOTH" is not working [Android] HOT 2
- [iOS] Splash and app icon doesn't work on a real device HOT 3
- Switch.Toggled Triggering & Binding Problems HOT 1
- [android] Identified crash in toolbar extensions when using a custom image source HOT 2
- I have some problems with dependencies HOT 1
- The rapid response of DragGesture Recognizer.
- [XC] Consider compiling the OnIdiomExtension into OnIdiom<T>
- Flyout button is visible for a split second when navigating back to home page in Android HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from maui.