Flutter is the dumb GUI and everything else is written in golang.
It is reasonably easy to compile your golang code using gomobile and then bind to flutter using the Method Channel API that flutter provides.
Is anyone interested in this ?
Flutter now runs on all desktops and mobiles officially. The desktop version was announced 2 weeks ago and already Linux and macOS works, with Windows probably being a few weeks away from what I guesstimate.
The cool thing about this is that you get a very well supported and high performance GUI engine for Forms and 2D. 3D is still not provided by has been stated by the team to be looked at later.
Anyway I hope to spark some interest in this and I will be putting up some demo code on my git hub repo and hope others are interested enough to also give it a try and work through it.
How to write a plug-in:
https://flutter.io/platform-channels/
Plugins already available :
https://pub.dartlang.org/flutter/packages
Printing.
They have not yet officially committed to how cross platform out put to PDF and XPS ( for windows ) will be supported.
Under the covers Flutter is using the same engine that Google Chrome browser uses; called Skia.
Skia has an API for printing web pages and it uses pdfium under the hood.
It seams logical that the Flutter team will also start using this method to provide built in PDF output and even print spooling but from what I can see it's not resolved yet.
All other things like touch, keyboard, sound, gestures etc are all built into Flutter because it's built into Skia.
Would be great to hear if there is a strong interest in this and to discuss .
Just adding here for reference.
It looks like it's doable and there is a bug to fix so that flutter can bind directly to flutter without having to go via a Java or Objective-c layer.
I am starting to develop an app using flutter and golang.
Flutter is the dumb GUI and everything else is written in golang.
It is reasonably easy to compile your golang code using gomobile and then bind to flutter using the Method Channel API that flutter provides.
Is anyone interested in this ?
Flutter now runs on all desktops and mobiles officially. The desktop version was announced 2 weeks ago and already Linux and macOS works, with Windows probably being a few weeks away from what I guesstimate.
The cool thing about this is that you get a very well supported and high performance GUI engine for Forms and 2D. 3D is still not provided by has been stated by the team to be looked at later.
Anyway I hope to spark some interest in this and I will be putting up some demo code on my git hub repo and hope others are interested enough to also give it a try and work through it.
How to write a plug-in:
https://flutter.io/platform-channels/
Plugins already available :
https://pub.dartlang.org/flutter/packages
Printing.
They have not yet officially committed to how cross platform out put to PDF and XPS ( for windows ) will be supported.
Under the covers Flutter is using the same engine that Google Chrome browser uses; called Skia.
Skia has an API for printing web pages and it uses pdfium under the hood.
It seams logical that the Flutter team will also start using this method to provide built in PDF output and even print spooling but from what I can see it's not resolved yet.
All other things like touch, keyboard, sound, gestures etc are all built into Flutter because it's built into Skia.
Would be great to hear if there is a strong interest in this and to discuss .
--
You received this message because you are subscribed to the Google Groups "golang-nuts" group.
To unsubscribe from this group and stop receiving emails from it, send an email to golang-nuts...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
Oh that’s awesome! I didn’t realise they were supporting desktop now. It sounded like it was abandoned in a push to focus on the mobile experience.On Sat, Mar 10, 2018 at 4:36 PM, Ged Wed <ged...@gmail.com> wrote:I used QT for 6 months and Flutter is way ahead.QT has a huge licensing issue. You can only use QT and not pay a yearly fee of 3 k if you provide the ability for end users to recompile your app against QT.Also it's got a lot of rough edges once you get into the 80/20 situation on real world apps.It takes 20% of your time to get 80% of your app done, and 80% of your time to get the last 20% of your app done.Flutters plug-in system avoids you getting cornered in the 80/20 situation.I started to do an integration of botldb and some other golang code but am half way through. From what I can see there are no roadblocks. There is one issue with APK packing but I think it just need a script to fix it.I have not published on GitHub yet because it's not done but will..gedw99 is my GitHub orgThere is a repo there called CI where I am also getting continuous build going for flutter with golang for iOS and Android.I intend to extend it for all Desktops too.
Flutter now runs on all desktops and mobiles officially. The desktop version was announced 2 weeks ago and already Linux and macOS works, with Windows probably being a few weeks away from what I guesstimate.
https://github.com/google/flutter-desktop-embedding
It's the same code as runs on mobile essentially except they have an embedding API designed into flutter to allow it to be embedded onto desktop.
I am not 100% sure because it's only been up for 2 weeks but I think they are using glfw to embed on Windows, macOS and Linux.
The maxIS works today . I have tried it.
Linux apparently works.
Windows is being worked on.
It's not a huge take to support desktops because flutter and skia do 99% of the work and they have planned desktops architecturally for a long time by having their embedding API.
It's not plain sailing yet !.it's only been 2 weeks..but it's getting commits every day and docs and easy make files are not quite there yet.
That's why I started the CI project. To build up the make files and the continuous builds on the various CI cloud based platforms
I am using bitrise which is a great CI platform that is 100% written in golang too.
They virtualize macOS using VMware virt.
But the exact same CI script you can run on your own macOS too.
They don't support Windows. So I guess I will use appveyor.
Luckily setting up a script to install flutter is 2 lines of code for windows or other OS's
Hope this helps.
I can live with Material design everywhere with a customised there so I emget the same branded corporate look everywhere.
I gave up matching the native OS. It's futile and just way too much work.
Don't kill me but it's really down to your philosophy in the end.
I gave up matching the native OS. It's futile and just way too much work.
Don't kill me but it's really down to your philosophy in the end.
//import bond.Bond;
"Bond.thirdCall();" is written by go and compiled by gomobile,when it call ,program stop.
private int getBatteryLevel() {
int batteryLevel = -1;
if (VERSION.SDK_INT >= VERSION_CODES.LOLLIPOP) {
BatteryManager batteryManager = (BatteryManager) getSystemService(BATTERY_SERVICE);
batteryLevel = batteryManager.getIntProperty(BatteryManager.BATTERY_PROPERTY_CAPACITY);
} else {
Intent intent = new ContextWrapper(getApplicationContext()).
registerReceiver(null, new IntentFilter(Intent.ACTION_BATTERY_CHANGED));
batteryLevel = (intent.getIntExtra(BatteryManager.EXTRA_LEVEL, -1) * 100) /
intent.getIntExtra(BatteryManager.EXTRA_SCALE, -1);
}
Bond.thirdCall();
if (goreturns=="20180311") {
if (remotecallcount < 10) {
remotecallcount = remotecallcount + 1;
}
}else{
remotecallcount = remotecallcount + 2;
}
return (batteryLevel*remotecallcount)/10;
}
here is bond.go
package bond
import (
)
func FirstCall() int{
return 20180311
}
func SecondCall() string{
return "20180311"
}
func ThirdCall() {
}
To me you get much higher quality UI from flutter.
And you don't have a untyped web runtime designed 20 years ago to deal with.
My harsh 2 cents I admit... But really never going back to web for something I actually have to support.