- Yes, Apache 2.0
- Web is meant for WebApps, not websites. Including Uno+DotNet runtime it's about 4mb compressed.
- No WYSIWG editor, yet, but Hot Reload works really well.
Uno Toolkit is available for free for individual developers and businesses with revenue of less than USD 1,000,000. If your revenue exceeds this threshold, please reach out to us to obtain a license for Uno Toolkit and access the complete suite of development accelerators.
One thing I don't understand about Uno is how do they make money. Everything looks very well done and I have been following them for a few years but I don't see how they will survive without selling anything.
Any company that is giving away open source software for free seems to eventually go down the route of open core or restricting commercial use of their open source product.
Uno seem to be starting to go down the enterprise support route - plus open core with their recent Figma plugin release. At least the Figma plugin is very tangential to the core product so it's hard to imagine it competing for features at this stage.
Though with the recent spate of open source company rug-pulls, and I'd struggle to justify using it. It seems like open source is increasingly just being used to build market share, then the VC/PEs come in, make a "contact us" enterprise pricing page, and suddenly issues and PRs start getting rejected because they compete with the paid add-ons.
I really hope the same won't happen with Uno, because it looks like a great library, and something that's missing from the dotnet world. Their sustainability blog post gives me hope, but... sadly it would not be the first time that founders with good intentions find out that running an open source company is nearly impossible, end up taking funding to keep up, then the rest is history.
Uno wants applications to look the same across platforms (as Flutter does) but still wants to use native controls. So their approach[0] is to have default styling applied to every control which makes the native controls look the same on each device [0].
I think the main benefit with this approach is expected-behaviour (like how different desktop operating systems have different textbox behaviour), and that whatever accessibility you get by default with native controls is there. [1]
I don't really find their approach to GUI development compelling though, with them choosing a middle ground between "wrapper around native controls" and "implement everything yourself".
[0] Except on Linux and web, where Uno draws everything itself, imitating controls that look like GTK (on Linux) or UWP/WinUI (on web). These are the platforms I briefly tested on and I didn't have an enjoyable experience with the output due to non-native/non-expected behaviours.
Uno Platform maintainer here - We're maintaining production apps ourselves, like NuGet Package Explorer [1], or Uno Calculator [2], and many third-party apps are in production, with some shown in case studies [3]. You can also find some other tech Wasm demos [4] on our repo.
I just learned about this thing today, so take this with a grain of salt: there are links out to two apps, Simple Calc and Tube Player, at the bottom of the home page. These are tutorials and source code, not a finished product. There is also a "gallery" on the top right, and you can play with the UI components rendered in the web: https://gallery.platform.uno/.
Presumably because, much like the half-dozen other flexible cross-platform frameworks Microsoft and friends have gotten one-third of the way to a viable product before abandoning to chase the next shiny thing, it's riddled with bugs, about ten years behind the documentation of a more usable framework from the 2010s, and has basically zero third party support from the likes of Infragistics and SyncFusion.
UWP left behind a shockingly large number of perfectly serviceable pieces of WPF, at a time when the emergent UI experience on Windows 8 was being written off by almost everyone, Windows Phone was DoA, and people were starting to realize they could just write web pages and run GUIs in the browser instead. It's been a long, bumpy, downhill ride ever since. The fact that Electron.NET and Blazor is a serious UI suggestion from Microsoft these days should tell you everything you need to know.
I'm sure with enough effort it's usable and maybe even nice in some ways. I did some proof-of-concept work with it two years ago and got maybe 50% of the way to where I wanted to be in 8 hours, but got stuck at styling issues for which there was limited documentation. In the end, I'm more confident these days in WPF + Avalonia if I really need cross-platform - even if there's comparable bugs and limited documentation, there's at least some momentum still behind the project. UWP, all three busted half-finished versions of WinUI, MAUI, Blazor + Webview2, Blazor + Electron.NET... even Avalonia, thanks to the weird decision to change styles to behave more like CSS... it all still struggles to be as usable as WPF.
All cross-platform frameworks are somewhat underdelivering on their promises. Even if you get an app going quickly, you end up in some kind of maintenance hell a few months down the road.
This is a 3rd party framework on top of .NET (which itself is a 3rd party on mobile) which is 2 layers of abstraction on top of the actual thing that will run on the user's device. Microsoft takes a full year to update their GitHub runners with the latest macOS and Xcode versions, can you imagine the risk of having to wait for so many parties to update/fix their things?
Flutter and RN are not immune to this effect, every year when there is a new iOS or Android release, existing apps just break and tooling takes quite some time to catchup. It's so many side quests suddenly appearing without added value for the developer or the user.
«Now what I mean by "better" - it (ed: Avalonia) allows considerably faster development, maintenance and support of the products. In particular:
- It is a more powerful UI package allowing much more re-use and creating shorter code faster to achieve the same functionality. Part of the reason for that is that it is not confined to WinUI/UWP bounds - it is actually more powerful than WPF which is in turn better than WinUI or UWP. Another reason is that it has a better implementation with a lot of code re-usable across all of the platforms while Uno and MAUI essentially have completely different implementations for each of their platforms.
- There are many features in Avalonia that are not implemented in Uno or MAUI, while I do not know a single feature implemented for Uno or MAUI that would not work in Avalonia. If someone knows a single feature available in Uno or MAUI but not available in Avalonia, please mention it in the comments and I will refer to it in this article.
- Avalonia covers all the same platforms as Uno and more than MAUI does and has considerably fewer differences between behaviors on various platforms.
- Avalonia is easier to switch to for an expert WPF developer than to Uno or to MAUI.»
Works almost perfectly fine for me with Windows 11 + Firefox 125.0.2 (64-bit), besides the top menu item icons not rendering. Reason for the icon rendering issues seems to be ill-configured cross-resource sharing, so should be the same for everyone else with a properly configured browser.
Uno achieves similar goals to Xamarin.Forms/MAUI. It's also based on .NET.
Main differences are that it also targets Linux+WebAssembly, and it's meant to be Pixel-Perfect so it would look and behave the same on all platforms by default.
It also offers a variety of additional packages out of the box and aims to be an end-end platform instead of solely a UI framework: Hot Reload, C# Markup alternative, a toolkit of mobile-first controls, design systems, reactive state management (MVU-like), recipes for Authentication/Navigation/Logging/DI/...
[+] [-] brushfoot|1 year ago|reply
- What is the license? Apparently Apache 2.0 [1].
- What is the minimum web bundle size and startup time?
- On desktop, what is the minimum RAM usage? Binary size?
- Is there a WYSIWYG editor?
[1] https://github.com/unoplatform/uno/blob/master/License.md
[+] [-] francoistanguay|1 year ago|reply
[+] [-] irq-1|1 year ago|reply
https://github.com/unoplatform/uno.toolkit.ui/blob/main/LICE...
https://platform.uno/uno-toolkit/
DEV FRIENDLY LICENSING
Uno Toolkit License
Uno Toolkit is available for free for individual developers and businesses with revenue of less than USD 1,000,000. If your revenue exceeds this threshold, please reach out to us to obtain a license for Uno Toolkit and access the complete suite of development accelerators.
[+] [-] cfn|1 year ago|reply
[+] [-] francoistanguay|1 year ago|reply
We're also building products of Uno with licensing, first one being the Figma plugin for Design-To-Code: https://platform.uno/unofigma/
[+] [-] mrbungie|1 year ago|reply
https://platform.uno/support/
[+] [-] cameronh90|1 year ago|reply
Uno seem to be starting to go down the enterprise support route - plus open core with their recent Figma plugin release. At least the Figma plugin is very tangential to the core product so it's hard to imagine it competing for features at this stage.
Though with the recent spate of open source company rug-pulls, and I'd struggle to justify using it. It seems like open source is increasingly just being used to build market share, then the VC/PEs come in, make a "contact us" enterprise pricing page, and suddenly issues and PRs start getting rejected because they compete with the paid add-ons.
I really hope the same won't happen with Uno, because it looks like a great library, and something that's missing from the dotnet world. Their sustainability blog post gives me hope, but... sadly it would not be the first time that founders with good intentions find out that running an open source company is nearly impossible, end up taking funding to keep up, then the rest is history.
[+] [-] userbinator|1 year ago|reply
[+] [-] humzashahid98|1 year ago|reply
I think the main benefit with this approach is expected-behaviour (like how different desktop operating systems have different textbox behaviour), and that whatever accessibility you get by default with native controls is there. [1]
I don't really find their approach to GUI development compelling though, with them choosing a middle ground between "wrapper around native controls" and "implement everything yourself".
[0] Except on Linux and web, where Uno draws everything itself, imitating controls that look like GTK (on Linux) or UWP/WinUI (on web). These are the platforms I briefly tested on and I didn't have an enjoyable experience with the output due to non-native/non-expected behaviours.
[1] Page on accessibility: https://platform.uno/docs/articles/features/working-with-acc...
[+] [-] pjmlp|1 year ago|reply
[+] [-] alkonaut|1 year ago|reply
[+] [-] jeremycarter|1 year ago|reply
[+] [-] rkagerer|1 year ago|reply
[+] [-] jlaban-uno|1 year ago|reply
1: https://nuget.info
2: https://calculator.platform.uno
3: https://platform.uno/case-studies
4: https://github.com/unoplatform/uno#live-webassembly-apps
[+] [-] javajosh|1 year ago|reply
[+] [-] arunc|1 year ago|reply
[+] [-] ejiblabahaba|1 year ago|reply
UWP left behind a shockingly large number of perfectly serviceable pieces of WPF, at a time when the emergent UI experience on Windows 8 was being written off by almost everyone, Windows Phone was DoA, and people were starting to realize they could just write web pages and run GUIs in the browser instead. It's been a long, bumpy, downhill ride ever since. The fact that Electron.NET and Blazor is a serious UI suggestion from Microsoft these days should tell you everything you need to know.
I'm sure with enough effort it's usable and maybe even nice in some ways. I did some proof-of-concept work with it two years ago and got maybe 50% of the way to where I wanted to be in 8 hours, but got stuck at styling issues for which there was limited documentation. In the end, I'm more confident these days in WPF + Avalonia if I really need cross-platform - even if there's comparable bugs and limited documentation, there's at least some momentum still behind the project. UWP, all three busted half-finished versions of WinUI, MAUI, Blazor + Webview2, Blazor + Electron.NET... even Avalonia, thanks to the weird decision to change styles to behave more like CSS... it all still struggles to be as usable as WPF.
[+] [-] isodev|1 year ago|reply
This is a 3rd party framework on top of .NET (which itself is a 3rd party on mobile) which is 2 layers of abstraction on top of the actual thing that will run on the user's device. Microsoft takes a full year to update their GitHub runners with the latest macOS and Xcode versions, can you imagine the risk of having to wait for so many parties to update/fix their things?
Flutter and RN are not immune to this effect, every year when there is a new iOS or Android release, existing apps just break and tooling takes quite some time to catchup. It's so many side quests suddenly appearing without added value for the developer or the user.
[+] [-] mpartel|1 year ago|reply
[+] [-] theCodeStig|1 year ago|reply
[+] [-] francoistanguay|1 year ago|reply
[+] [-] qwerty456127|1 year ago|reply
[+] [-] m_eiman|1 year ago|reply
€19,500 For the 1st app. Second app only €4,500
[+] [-] watersb|1 year ago|reply
I presumed that this was OpenOffice internals that support cross-platform UI and OpenOffice scripting.
But apparently, the 'Uno' internals in OpenOffice are just the internal object message bus and don't have anything that is visible to the user.
https://wiki.openoffice.org/wiki/Uno
[+] [-] issafram|1 year ago|reply
[+] [-] exceptione|1 year ago|reply
Maybe this opinion piece might help: https://www.codeproject.com/Articles/5366945/Multiplatform-X...
His conclusions:
«Now what I mean by "better" - it (ed: Avalonia) allows considerably faster development, maintenance and support of the products. In particular:
[+] [-] layer8|1 year ago|reply
[+] [-] francoistanguay|1 year ago|reply
You can leverage some of our existing design systems like Material/Fluent and customize them: https://platform.uno/docs/articles/external/uno.themes/doc/t...
Or you can start from scratch and define your own styles.
By default, they will be pixel-perfect and look the same on all platforms.
[+] [-] YellowTech|1 year ago|reply
[+] [-] CaptainOfCoit|1 year ago|reply
[+] [-] ajpinedam|1 year ago|reply
[+] [-] KacharKhan|1 year ago|reply
[+] [-] francoistanguay|1 year ago|reply
Has been in development since 2013.
[+] [-] postepowanieadm|1 year ago|reply
[+] [-] jbverschoor|1 year ago|reply
[+] [-] sasakrsmanovic2|1 year ago|reply
Fun fact, I worked on NativeScript team, and now on Uno team.
[+] [-] king_magic|1 year ago|reply
[+] [-] sasakrsmanovic2|1 year ago|reply
[+] [-] matijash|1 year ago|reply
[+] [-] francoistanguay|1 year ago|reply
Main differences are that it also targets Linux+WebAssembly, and it's meant to be Pixel-Perfect so it would look and behave the same on all platforms by default.
It also offers a variety of additional packages out of the box and aims to be an end-end platform instead of solely a UI framework: Hot Reload, C# Markup alternative, a toolkit of mobile-first controls, design systems, reactive state management (MVU-like), recipes for Authentication/Navigation/Logging/DI/...
[+] [-] gruntThenPunt|1 year ago|reply
[deleted]
[+] [-] craigmcnamara|1 year ago|reply
[deleted]
[+] [-] jeremycarter|1 year ago|reply
[+] [-] lf-non|1 year ago|reply
https://platform.uno/c-markup/
[+] [-] unknown|1 year ago|reply
[deleted]