DevToys
DevToys copied to clipboard
Suggestion: Cross-platform UI (Windows, MacOS, Linux)
Is your feature request related to a problem? Please describe. The application is cool, but so far it only supports Windows OS.
Describe the solution you'd like AvaloniaUI is a cross-platform, open source, XAML-based framework that is close to WPF. It would be nice if a GUI based on AvaloniaUI became optional or even core to make it easier to support a cross-platform user interface.
Describe alternatives you've considered As a cross-platform alternative to AvaloniaUI, I see only Uno Platform.
As a Mac user, would love to contribute in bringing the product to MacOS platform. Regarding desktop development, I'm familiar with ElectronJS, but did some C# (WPF & Windows Forms) and Java (Swing) back in the days.
.NET MAUI might be a good option as well when it goes GA https://docs.microsoft.com/en-us/dotnet/maui/
.NET MAUI might be a good option as well when it goes GA https://docs.microsoft.com/en-us/dotnet/maui/
MAUI's biggest problem is the lack of Linux support. Some developers may need this.
Have you seen this? Maintained by a MSFT employee https://github.com/jsuarezruiz/maui-linux
Have you seen this? Maintained by a MSFT employee https://github.com/jsuarezruiz/maui-linux
Thanks for the link, I have not heard that anyone is porting MAUI to Linux.
Based on the status of the project, maui-linux is still in very early development and the rest of the offerings look much better and are already being used by both open-source projects and companies.
Hi, it would be great have this app in macOS, I can help testing it 🚀
The audience of this product is developers, but most developers are using MacOS or Linux as their development environment, only support Windows is the biggest bug...
Hi, Thanks everyone for proposing this change. I read on Twitter, Hacker News, Reddit and here that a lot of people were wondering whether the app could be cross-platform or not.
Lookback on why DevToys is only on Windows today
Here is my very personal (and probably biased) feeling about it:
In August, @btiteux and I discovered DevBox and DevUtils apps for macOS. We've been amazed by how they fit well the macOS environment (look & feel + integration of OS-specific features). We looked at what existed on Windows and found nothing as good. That was one of the big motivations for making DevToys: having an app for which the look & feel fit very well the OS (in particular Win11) and integrates OS-specific features (navigation, tiles...)
Other factors are that @btiteux and I are very comfortable with Windows, we don't own a Mac and never need a Linux for work (it's been years I didn't start a Linux machine). Adding to this the fact that we wanted a sleek native UI, at the end of the day we didn't have much interest in doing an app with a cross-platform UI like Electron or a platform-specific UI (Xamarin/Uno) or a native app on each platform, mostly because we ~~are~~ were only 2 people working on this app.
Quickly looking at the macOS and Linux "developer toolbox" market, we can see there are already plenty of famous and super cool apps like DevBox, DevUtils, Boop, Text Pieces, meanwhile, not much on Windows. We didn't really want to spend energy at "competing" with other apps on a specific OS, even if they're paid app and that we're free. Not that we can't, but it wasn't our goal at that time.
Perspective
I'm personally not against the idea of having a cross-platform app, but that would be under some conditions:
- Not regressing the DevToys UI on Windows (at all).
- Keep supporting Windows-specific feature. In parallel, we can also of course support macOS and Linux-specific features.
- Making sure the UI/UX on macOS and Linux is coherent with the Windows approach, while also being coherent with macOS and Linux ecosystem. What I mean here is that the look & feel would fit the system, while the navigation in the app would be the same (or as close as possible) than the original one on Windows.
- I'd need to invest into a Mac (not a big deal).
Please tell me if I'm mistaken here, but with these first 3 conditions above, I feel like Electron should be eliminated from the equation. MUI isn't ready yet. Uno may not allow to keep the exact same UI on Windows due to limitations (please tell me if I'm wrong).
Going forward / TL;DR
With that all said, perhaps the best thing to do from user perspective is to make the app native to each platform. But that requires a ton of resource and energy from us (@btiteux and I). I'm sure we can count on the help of the community, but since every contribution depends on free time and motivation of everyone, I'm hesitant at taking this direction if it has low chances to be completed with the same level of quality that we tried to set for the current Windows app.
The audience of this product is developers, but most developers are using MacOS or Linux as their development environment, only support Windows is the biggest bug...
Have stats to back that up?
The audience of this product is developers, but most developers are using MacOS or Linux as their development environment, only support Windows is the biggest bug...
Have stats to back that up?
Perhaps @readthecodes refers to this: https://insights.stackoverflow.com/survey/2019#technology-_-developers-primary-operating-systems We can see that about 52.5% developers are using either macOS or Linux.
With a rising trend towards MacOS:
https://insights.stackoverflow.com/survey/2021#most-popular-technologies-op-sys-prof
I especially believe it's gonna continue in this direction with the recent introduction of Apple ARM.
Aslo @veler, I believe showing "Professional Developers" tab should be more relevant in that infographic.
Anyone tried to execute DevTools it in Mac or Linux using Wine?
Anyone tried to execute DevTools it in Mac or Linux using Wine?
I don't expect it would work in Wine. DevToys is a UWP app, not a "classic" Win32 app. It requires a sandbox that I doubt Wine supports.
As a Mac user, I really need DevToys ~
Hi 🖐,
I think electron can be a way to have DevToy cross-platform. @veler , I know you fell like electron it is not the good alternative but let me try to convince you. I have memorize that You want (at least) two thinks for DevToys :
- To be use on Windows
- To fit the Os eco system design. (here win 11)
Windows design system is : Fluent Ui. During the rework for win 11, Microsoft have work also to make their design system compatible in other platform. Microsoft propose more and more applications using electron like Teams, the new Office 365 desktop app, and I think soon microsoft Loop. With one drive, outlook, office 365 the web app from microsoft should fit for the better to the Fluent UI design system.
Now, if DevToys can be cross-platform you can have a project in TypeScript or Javascript call maybe DevToys common block and then have three other project that implement electron and the "design" of the differents OS with a :
- DevToys Windows project
- DevToys MacOs project
- DevToys Linux Project
I can talk for windows, if we want to make it fit the FluentUI design (Win11) here some link to a Web Component librairy made by microsoft for fluent UI design (React / Angular / Vue / ASP.NET / ...): https://www.microsoft.com/design/fluent/#/ https://docs.microsoft.com/en-us/fluent-ui/web-components/ https://github.com/microsoft/fluentui
I don't really search for other Os but i am sure the community know some web component librairies to make DevToys fit MacOs and Linux.
I think Devtoys is a must have for developer and we need to spread the world.
Hope it can help ! 😊
Wouldn't Blazor over webview2(or electron) with Fluent UI work great for this? You could even release a web-based version for people who have no permission to install this on their work computer
It looks like someone in Japan is working on a native mac version of DevToys. https://github.com/ObuchiYuki/DevToysMac It seems to be missing a few features, but seems to be able to reproduce most of them.
It looks like someone in Japan is working on a native mac version of DevToys. https://github.com/ObuchiYuki/DevToysMac It seems to be missing a few features, but seems to be able to reproduce most of them.
Thanks for sharing this @Willam2348 ! We weren't aware of it and believe it may cause some confusion considering the approach this person took in this portage is different than ours on some core values. We reached out to the developer here: https://github.com/ObuchiYuki/DevToysMac/issues/12
Hi, I'm currently developing iOS and macOS version of DevToys. I can contribute to DevToys if it is needed. https://github.com/0x0c/AppleDevToys
Hi, I'm currently developing iOS and macOS version of DevToys. I can contribute to DevToys if it is needed. https://github.com/0x0c/AppleDevToys
Maybe you can join forces with https://github.com/ObuchiYuki/DevToysMac?
@AmiK2001 Yes, both projects are using Swift so we can use same logic with same code. However, codes for composing user interface are not compatible because of different framework we use (AppKit and UIKit).
@veler I have experience in C#, maybe I could help with this, I agree on sharing the most codebase we can, but also having native feeling UIs
Why do so many of you even want devtoys on MacOS? There's already DevUtils with most of the same features.
@IceSentry diversity is good in software, I like the path DevToys is taking
@Yopler Photino is a better alternative to electron I believe. And even better would be if someone would use Uno/AvaloniaUI to port it.
It looks like someone is working on a Vscode extension version of DevToys. https://github.com/KeJunMao/vscode-devtoys
I'm sad no one is working in a version for Linux :'(
Linux user here, i can contribute for cross-platform development (Windows, MacOS and Linux)
https://smalldev.tools/
Anybody is willing to create and contribute to a DevToysLinux using GTK + Python? I really want a DevToys Linux app and would like to contribute. I have UI knowledge only in .NET and Flutter, but I'm willing to learn.
In my opnion and following the tool creator's thoughts, if we use a cross platform framework, we will not respect the idea of the application being as native as possible, and as we already have DevToysMac and Windows, writing a cross platform application would make these 2 projects redundant.
Edit: We could also use Flutter with Ubuntu official Yaru theme, but I don't know if Flutter have a great text editor package for some tools. I would like to hear the Linux community thoughts on this 🙂.
Edit2: I know Flutter and GTK are cross platform, but they're first class citizens on Ubuntu, the most used distro, as we don't have an official UI convention like Windows with Fluent Design. I'm a PopOS user, but I understand that if we create a DevToys theme for each distro it will be a madness.