DevToys icon indicating copy to clipboard operation
DevToys copied to clipboard

Suggestion: Cross-platform UI (Windows, MacOS, Linux)

Open AmiK2001 opened this issue 2 years ago • 55 comments

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.

AmiK2001 avatar Jan 20 '22 07:01 AmiK2001

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.

tobamaestro avatar Jan 20 '22 12:01 tobamaestro

.NET MAUI might be a good option as well when it goes GA https://docs.microsoft.com/en-us/dotnet/maui/

isaacrlevin avatar Jan 20 '22 14:01 isaacrlevin

.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.

AmiK2001 avatar Jan 20 '22 16:01 AmiK2001

Have you seen this? Maintained by a MSFT employee https://github.com/jsuarezruiz/maui-linux

isaacrlevin avatar Jan 20 '22 17:01 isaacrlevin

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.

AmiK2001 avatar Jan 20 '22 17:01 AmiK2001

Hi, it would be great have this app in macOS, I can help testing it 🚀

RodrigoTomeES avatar Jan 20 '22 22:01 RodrigoTomeES

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...

readthecodes avatar Jan 21 '22 05:01 readthecodes

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:

  1. Not regressing the DevToys UI on Windows (at all).
  2. Keep supporting Windows-specific feature. In parallel, we can also of course support macOS and Linux-specific features.
  3. 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.
  4. 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.

veler avatar Jan 21 '22 08:01 veler

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?

isaacrlevin avatar Jan 21 '22 16:01 isaacrlevin

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.

image

veler avatar Jan 21 '22 18:01 veler

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.

tobamaestro avatar Jan 21 '22 19:01 tobamaestro

Anyone tried to execute DevTools it in Mac or Linux using Wine?

RodrigoTomeES avatar Jan 26 '22 08:01 RodrigoTomeES

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.

veler avatar Jan 26 '22 09:01 veler

As a Mac user, I really need DevToys ~

quicksandznzn avatar Jan 27 '22 06:01 quicksandznzn

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 :

  1. To be use on Windows
  2. 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 ! 😊

Yopler avatar Jan 27 '22 08:01 Yopler

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

KuraiAndras avatar Feb 02 '22 07:02 KuraiAndras

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.

Willam2348 avatar Feb 04 '22 07:02 Willam2348

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

veler avatar Feb 04 '22 22:02 veler

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

0x0c avatar Feb 05 '22 14:02 0x0c

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 avatar Feb 06 '22 14:02 AmiK2001

@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).

0x0c avatar Feb 07 '22 07:02 0x0c

@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

escobar5 avatar Feb 08 '22 14:02 escobar5

Why do so many of you even want devtoys on MacOS? There's already DevUtils with most of the same features.

IceSentry avatar Feb 09 '22 15:02 IceSentry

@IceSentry diversity is good in software, I like the path DevToys is taking

escobar5 avatar Feb 09 '22 16:02 escobar5

@Yopler Photino is a better alternative to electron I believe. And even better would be if someone would use Uno/AvaloniaUI to port it.

Jogai avatar Feb 15 '22 07:02 Jogai

It looks like someone is working on a Vscode extension version of DevToys. https://github.com/KeJunMao/vscode-devtoys

togetogejizou avatar Mar 02 '22 09:03 togetogejizou

I'm sad no one is working in a version for Linux :'(

SalahAdDin avatar Apr 07 '22 13:04 SalahAdDin

Linux user here, i can contribute for cross-platform development (Windows, MacOS and Linux)

admodev avatar Apr 08 '22 14:04 admodev

https://smalldev.tools/

rafageist avatar Apr 08 '22 17:04 rafageist

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.

gumbarros avatar Sep 05 '22 00:09 gumbarros