Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Closed
AmiK2001 opened this issue Jan 20, 2022 · 65 comments
Closed

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

AmiK2001 opened this issue Jan 20, 2022 · 65 comments
Assignees
Labels
feature Feature / Tool request or idea
Milestone

Comments

@AmiK2001
Copy link

AmiK2001 commented Jan 20, 2022

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 AmiK2001 changed the title Multiplatform UI (Windows, MacOS, Linux) Suggestion: Multiplatform UI (Windows, MacOS, Linux) Jan 20, 2022
@tobamaestro
Copy link

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.

@isaacrlevin
Copy link

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

@AmiK2001
Copy link
Author

.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 AmiK2001 changed the title Suggestion: Multiplatform UI (Windows, MacOS, Linux) Suggestion: Cross-platform UI (Windows, MacOS, Linux) Jan 20, 2022
@isaacrlevin
Copy link

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

@AmiK2001
Copy link
Author

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.

@RodrigoTomeES
Copy link

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

@readthecodes
Copy link

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

@veler
Copy link
Collaborator

veler commented Jan 21, 2022

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.

@isaacrlevin
Copy link

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?

@veler
Copy link
Collaborator

veler commented Jan 21, 2022

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

@tobamaestro
Copy link

tobamaestro commented Jan 21, 2022

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.

@RodrigoTomeES
Copy link

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

@veler
Copy link
Collaborator

veler commented Jan 26, 2022

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.

@quicksandznzn
Copy link

As a Mac user, I really need DevToys ~

@Yopler
Copy link

Yopler commented Jan 27, 2022

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 ! 😊

@KuraiAndras
Copy link

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

@Willam2348
Copy link

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.

@veler
Copy link
Collaborator

veler commented Feb 4, 2022

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: DevToys-app/DevToysMac#12

@0x0c
Copy link

0x0c commented Feb 5, 2022

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

@AmiK2001
Copy link
Author

AmiK2001 commented Feb 6, 2022

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?

@veler veler added this to the v2.0 milestone Feb 6, 2022
@0x0c
Copy link

0x0c commented Feb 7, 2022

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

@escobar5
Copy link

escobar5 commented Feb 8, 2022

@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

@SalahAdDin
Copy link

You're talking about disk space which does neither affect your computer's reactivity nor the program's performance and startup time. I find the percentage of products using Electron pretty irrelevant in the process of choosing the right technology.

What about the RAM memory consumption?

@veler veler pinned this issue Aug 18, 2023
@martinszeltins
Copy link

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

I agree 100%. Linux is THE developer platform. It makes no sense to have a windows only version.

@AuburnMedia
Copy link

In August, @btiteux and I discovered DevBox and DevUtils apps for macOS. We've been amazed by how they fit well the macOS environment

I don't see it this way. The DevToys application (with a few tweaks) could fit very well with macOS. It's crucial that we make native apps, instead of using shortcuts like Electron, though I do think WASDK or Uno Platform would work well for our purposes. Moreover, most programmers use macOS or Linux, so I think a more unified application couldn't hurt.

@tl87
Copy link

tl87 commented Oct 1, 2023

I would sure like this for Linux as well :)

@Akryum
Copy link

Akryum commented Nov 8, 2023

There is a nice alternative to Electron called Tauri which reuses the system web engine meaning small app size (hello world is less than 1MB) and lower memory usage.

@EliranTurgeman
Copy link

Hi, Any update? :) 2024 is right around the corner,
Its will be a big hit in MacOS

@btiteux
Copy link
Collaborator

btiteux commented Dec 27, 2023

Hi, Any update? :) 2024 is right around the corner,
Its will be a big hit in MacOS

Hello, we are working on the v2 supporting Windows and MacOs you can check the progress on the v2 branch.

Linux support is experimental for the moment.

@veler
Copy link
Collaborator

veler commented Dec 27, 2023

Hi, Any update? :) 2024 is right around the corner,
Its will be a big hit in MacOS

Hello, we are working on the v2 supporting Windows and MacOs you can check the progress on the v2 branch.

Linux support is experimental for the moment.

Hello,
I'd add that we ported more than 50% of the tools to the new version. We're making progress! 😁

@veler
Copy link
Collaborator

veler commented Feb 24, 2024

Update: It remains us 4 tools to migrate from DevToys 1.0 to 2.0, along with finishing some touch up (which are in progress) and prepare release material (installers, website...etc), which we didn't start yet.
We're hoping for a preview release in April/May for Windows Mac and Linux.

@EliranTurgeman
Copy link

@veler Saw you migrate 1 tool this weekend
keep the great work! looking forward to use it on my Mac :)

@OrthodoxWindows
Copy link

OrthodoxWindows commented Mar 24, 2024

Hello everyone, I have a question :
Is AvaloniaUI (or Uno) compatible with standard Win32 controls ?
It would be great to have a version of DevToys with native Windows controls (as this will allow much greater customization).

@waffle-frame
Copy link

We are looking forward to the release of the cross-platform version.
Arch Linux is ready for testing ❤️

@btiteux
Copy link
Collaborator

btiteux commented Apr 16, 2024

If you use the "new" main branch (cross platform DevToys v2). You should be able to build the Linux version. still experimental for the moment but we are working on it.

@waffle-frame
Copy link

@btiteux
Do you mean that I can now test DevToys by cloning all the files from the v2 branch?

@btiteux
Copy link
Collaborator

btiteux commented Apr 16, 2024

Yes there's no v2 branch anymore we merge the new DevToys version for MacOs, Linux and windows in the main branch.

@veler
Copy link
Collaborator

veler commented Apr 17, 2024

Update: It remains us 4 tools to migrate from DevToys 1.0 to 2.0, along with finishing some touch up (which are in progress) and prepare release material (installers, website...etc), which we didn't start yet. We're hoping for a preview release in April/May for Windows Mac and Linux.

Another update:
We're pretty much feature complete!
We wrote a documentation. It remains just a few pages to finish. In parallel, we're doing a refresh of our website, along with automating the creation of installers / packages ready to be published.

Not going to lie: we won't release it in April. Maybe not in May either. Please keep in mind that we're mostly 2 people on this project, and develop it in our spare time, and haven't earn a dime for it. So please be patient with us and our repeated delayed estimation. 🤗

@btiteux btiteux unpinned this issue May 26, 2024
@veler
Copy link
Collaborator

veler commented Jun 1, 2024

Another update:
If everything goes according to our plan, beta release on June 11th 2024 👀

@nodakai
Copy link

nodakai commented Jun 10, 2024

I gave a try to https://github.com/DevToys-app/DevToys/releases/tag/v2.0.1.0 on my M1 MacBook, x64 is working fine via Rosetta so far but arm64 gave this error:

Screenshot 2024-06-10 at 6 22 19 PM

@bxb100
Copy link

bxb100 commented Jun 10, 2024

I gave a try to v2.0.1.0 (release) on my M1 MacBook, x64 is working fine via Rosetta so far but arm64 gave this error:

Screenshot 2024-06-10 at 6 22 19 PM

using xattr -r -d com.apple.quarantine /Applications/DevToys.app/

@nodakai
Copy link

nodakai commented Jun 10, 2024

using xattr -r -d com.apple.quarantine /Applications/DevToys.app/

Oh thanks, I knew about using Ctrl-click for circumventing the "[App name] cannot be opened because the developer cannot be verified" message but didn't know about this

@veler
Copy link
Collaborator

veler commented Jun 10, 2024

Hi everyone,
I see some of your are excited by the release on Github. I'm hoping this message your encountered will vanish when installing it through Homebrew.

Homebrew/homebrew-cask#175585

Please note that we're not done releasing the app. Publishing the release on Github was the first step. Next is to get Homebrew, Winget and other done. Then update our website. I'm hoping to get it done by the end of the day.
Cheers

@dineiar
Copy link
Contributor

dineiar commented Jun 10, 2024

I just want to confirm that installation through Homebrew is working flawlessly:

$ brew info devtoys
==> devtoys: 2.0.1.0
https://github.com/DevToys-app/DevToys
Not installed
From: https://github.com/Homebrew/homebrew-cask/blob/HEAD/Casks/d/devtoys.rb
==> Name
DevToys
==> Description
Utilities designed to make common development tasks easier
==> Artifacts
DevToys.app (App)
==> Analytics
install: 976 (30 days), 4,484 (90 days), 16,249 (365 days)

$ brew install --cask devtoys
==> Downloading https://github.com/DevToys-app/DevToys/releases/download/v2.0.1.0/devtoys_osx_arm64.zip
==> Downloading from https://objects.githubusercontent.com/github-production-release-asset-2e65be/411493648/0dd4fbb6-96a7-48f1-963b-7ec36a39edc9?X-Amz-Algorithm=AWS4-HMAC-SHA256&
########################################################################################################################################################################### 100.0%
==> Installing Cask devtoys
==> Moving App 'DevToys.app' to '/Applications/DevToys.app'
Password:
🍺  devtoys was successfully installed!

image

Thanks for your work @veler!

@ABAG603
Copy link

ABAG603 commented Jun 11, 2024

Just tried to install it from Homebrew but it gave me same "DevToys.app is damaged and can't be opened" as was mentioned above.

xattr -r -d com.apple.quarantine /Applications/DevToys.app/

Fixed the problem

@matteocontrini
Copy link

Same here, brew install devtoys works but then it says it's damaged.

@bxb100
Copy link

bxb100 commented Jun 11, 2024

@ABAG603 @matteocontrini that because the Apple verified signature needs 99 USD per year

@veler
Copy link
Collaborator

veler commented Jun 11, 2024

Hi everyone,

Thanks for your feedback. We got an issue tracking this problem here, and we will try to address it as soon as possible: microsoft/winget-pkgs#156567

Meanwhile, I'm thrilled to announce that DevToys 2.0 is now officially available on Windows, Mac and Linux! 🚀
We updated our website and published an announcement and documentation: https://devtoys.app/blog/announcing-devtoys-2.0-preview

Thanks everyone for your patience and support! If you enjoy using DevToys, I would be grateful if you could spread the word among your friends and colleagues. 😅 Your support means the world to us!

Thank you once again for being a part of our community.

@veler veler closed this as completed Jun 11, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature Feature / Tool request or idea
Projects
None yet
Development

No branches or pull requests