-
Notifications
You must be signed in to change notification settings - Fork 282
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
[Question] How does this compare to the "official" flutter desktop? #191
Comments
@GeertJohan and I are maintaining this alternative desktop embedder. This approach has some benefits: plugins are way easier to write in Golang than in C++/Objective-C; and our API is easier to use for non-system developers. Those reasons are why we are maintaining such package. The major drawback is that we aren't part of the flutter team. So at some point, if @GeertJohan and I stop maintaining this package, it is going to die. That been said, the embedder is a relatively small layer between the flutter/engine and a rendering API (GLFW in our case). The My opinion is:
Your core business logic is written in Dart; there is no cost in swapping the embedder! To sum up,
Not that much, modulo some implementation differences, it's the same, but in another programing language.
At some point, FDE will have more feature than what go-flutter offers. I'm okay with that; we aren't google! Edit1: what I was calling FDE is now part of flutter, it should now simply be called 'flutter desktop'. Edit2: it's possible to write macos plugins in swift. Edit3: Look at the below #191 (comment) to get the latest differences. |
@Drakirus I think the answer to this question would be great to have it linked in the README or in the Wiki. I also had this question when looking at the different desktop alternatives with Flutter. |
@davidmartos96 I have linked the question in the Wiki. Also, the README notices the user of the existence of a wiki. Leaving this Issue open; If anyone has questions about this package, we will be happy to answer them! |
Thanks for the elaborate answer :) |
[Edit: Updated June 2020 for current status] A few notes, since there have been a number of changes since July 2019. (Please don't take this as criticism; I think your overview of the similarities and differences is excellent!)
|
@stuartmorgan is it possible to use go plugins from the official flutter-desktop-embedding repo? I'm assuming that's not in the project's goals. |
@phanirithvij go-flutter plugins aren't compatible with Flutter Desktop (used to be flutter-desktop-embedding) and Flutter Desktop plugins aren't compatible with go-flutter. |
To expand on that a bit:
Flutter plugin APIs are part of each embedding, not Flutter itself; there's no such thing as "go plugins" for Flutter in a generic sense, there are go-flutter plugins. The lack of interoperability isn't primarily about them being in Go, but that the APIs are not the same. As one concrete example: go-flutter's plugin API appears to include a way of getting a pointer to the GLFW window. Flutter's embeddings have no GLFW windows, so it's impossible to use a plugin that expects one. The richer the plugin APIs become, the more of that kind of problem will exist. |
Hi,
I found this article on medium. From my understanding, that means that flutter has an official approach to flutter-desktop, what does this mean for the future of this approach?
The text was updated successfully, but these errors were encountered: