Comments (10)
It's in!
from flutter-desktop-embedding.
I'm working on a simple embedder for Linux that runs on top of GTK (it links w/ the Flutter engine). An initial version should be pushed this week 😄
from flutter-desktop-embedding.
I am very, very interested in this, and surprised this has not been making waves in the linux world!
Having linux target for mobile apps would be a game changer. Right now gnome does not even have anything resembling sane frontend dev environment, and kde is boggled in C++ which does not have working bindings to anything relevant.
If anything came close to "Linux year on the desktop" it is this ;-)
from flutter-desktop-embedding.
Related: Any chance of a hosted engine/FlutterEmbedder.framework for linux so we could use that to build embedders instead of having to build the engine ourselves?
from flutter-desktop-embedding.
Any chance of a hosted engine/FlutterEmbedder.framework for linux
That would be a request you should make to the Flutter project, which is where the prebuild macOS framework comes from. Building and hosting the engine is out of scope for this project (per the README), nor would it make sense for different platforms to have prebuilt engines hosted in completely different locations.
from flutter-desktop-embedding.
Having platform channels require you go through either Objective C or Java probably doesnt help either :) Can see why you might prefer experimenting with Mac for the time being.
I think Linux is very much a moving target right now with xdg-portals so might be best to hold off anyway as they havent been fully fleshed out yet.
Also heard rumblings of investigatation of direct c, c++ support with flutter engine so there is hope in the future I guess :P
Still an interesting project to follow and thank's for working on this, looking forward to seeing how it evolves.
from flutter-desktop-embedding.
@awdavies have you seen -> https://github.com/flatpak/xdg-desktop-portal/tree/master/src , used for flatpak and snap soon too, maybe going the glfw route and using portals for accessing filechooser, webcam etc would be safer bet. Gtk and kde are moving towards xdg-portals anyway.
from flutter-desktop-embedding.
org.flutter.platform runtime and org.flutter.sdk might be good idea in long run as well. Allowing people to develop a flutter app against a certain version of flutter with sandboxing and without having to worry about distro specific issues like whenever this version of flutter is supported on this distro and whether that certain of gtk is supported on that distro.
They might even just want to deploy an app for Android with deviced and adb in future and deploy for Linux with flatpak on local machine or over network or USB with deviced and have something like sentry to help track crashes on Android and Linux deployments.
from flutter-desktop-embedding.
Having platform channels require you go through either Objective C or Java
I'm not sure what you mean; the embedding API is C. But either way, that's out of scope for this issue which is simply about getting the basics (drawing, click events) up and running.
maybe going the glfw route and using portals for accessing filechooser, webcam etc would be safer bet.
These implementations aren't set in stone. We're exploring options, and having the basics of a second platform working lets us explore further; GTK gives us a clear path to getting the initial steps working. We may change approaches in the future.
As for the last comment: we're at the stage of needing to figure out things like real mouse support and a multi-view plan. Let's figure out crawling and walking before we start designing airplanes.
from flutter-desktop-embedding.
@mrmcq2u I have not! But as @stuartmorgan said we're just exploring implementation options right now, so none of this is set in stone. GTK appeared to be a good option to getting off the ground quickly, but it's definitely looking like GLFW might be easier since GTK's GtkGLArea class doesn't take "disable auto render" very seriously (making it a bit of a pain to use since we're handling all the rendering in a separate thread, though so far this is only an issue when resizing the application via dragging the corners of the window).
from flutter-desktop-embedding.
Related Issues (20)
- window_size null-safety HOT 1
- Flutter launch error HOT 7
- setInitialRoute for Windows flutter::FlutterViewController HOT 1
- Window size is not correct when i first lunch the app unless i drag it HOT 3
- can't set window size. HOT 4
- App crashes if first minimize the window and then call setWindowVisibility(visible: true) HOT 1
- Throws MissingPluginException during test HOT 2
- setWindowMinSize and setWindowMaxSize not working in Flutter 2.8.0 on Windows 11 HOT 2
- Could not find a file named "plugins/file_chooser/pubspec.yaml HOT 4
- File Description HOT 1
- Linux on ARM: window_size causes "pub get" to hang HOT 3
- [menubar] 'MenuItem' is imported from both 'package:flutter/src/widgets/platform_menu_bar.dart' and 'package:menubar/src/menu_item.dart' HOT 1
- [window_size] Window size cause GitHub timeout during flutter pub get HOT 1
- [menubar] Add "disabled" boolean on NativeMenuItem HOT 1
- Auto-Update flutter desktop app like Discord and Telegram desktop apps HOT 2
- DPI scale reactor needed HOT 1
- Git error. Command: `git clone --mirror git://github.com/google/flutter-desktop-embedding.git HOT 1
- [window_size] setWindowMinSize calculates window size without using DPI on some Windows version HOT 1
- is there in Flutter itself already ? HOT 1
- Run Flutter app in windows 32 bit HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from flutter-desktop-embedding.