fluttercommunity / flutter_wear_plugin Goto Github PK
View Code? Open in Web Editor NEWA plugin that offers widgets for Wear OS by Google
Home Page: https://pub.dev/packages/wear
License: BSD 3-Clause "New" or "Revised" License
A plugin that offers widgets for Wear OS by Google
Home Page: https://pub.dev/packages/wear
License: BSD 3-Clause "New" or "Revised" License
flutter_wear_plugin/android/build.gradle
Line 49 in 87ef7bb
This line breaks builds on non-Windows environments.
Yees, nice project. Thx for sharing it.
Is communiation between phone and wearable already supported?
How to sync data between those both? Thx for short feedback.
I've been unofficially maintaining this plugin for myself and partners for the past 2 years. Since no one is responding to issues in this repository, I have released wear_plus with the necessary changes to be compatible with a modern Flutter application.
When I swipe from left to right, I don't want it to exit the application. What can I do for this?
Could you support the latest SDK version?
Running "flutter packages get" in flutwear...
The current Flutter SDK version is 0.4.4.Because flutwear depends on wear any which requires Flutter SDK version >=0.3.1 <0.4.0, version solving failed.
pub get failed (1)
Hello,
I got the exception as title in above, since I :
pubspec.yaml
filePlease help me check to avoid this exception,
Thanks,
p/s : I did not add anything in Manifest.xml
file and build.gradle
file (in folder /android)
EXCEPTION
E/ActivityThread( 3770): Activity flutter.wear.MainActivity has leaked ServiceConnection com.google.android.wearable.compat.WearableActivityController$AmbientServiceConnection@efc6b0a that was originally bound here
E/ActivityThread( 3770): android.app.ServiceConnectionLeaked: Activity flutter.wear.MainActivity has leaked ServiceConnection com.google.android.wearable.compat.WearableActivityController$AmbientServiceConnection@efc6b0a that was originally bound here
E/ActivityThread( 3770): at android.app.LoadedApk$ServiceDispatcher.(LoadedApk.java:1336)
E/ActivityThread( 3770): at android.app.LoadedApk.getServiceDispatcher(LoadedApk.java:1231)
E/ActivityThread( 3770): at android.app.ContextImpl.bindServiceCommon(ContextImpl.java:1450)
E/ActivityThread( 3770): at android.app.ContextImpl.bindService(ContextImpl.java:1422)
E/ActivityThread( 3770): at android.content.ContextWrapper.bindService(ContextWrapper.java:636)
E/ActivityThread( 3770): at com.google.android.wearable.compat.WearableActivityController.onCreate(WearableActivityController.java:134)
E/ActivityThread( 3770): at com.mjohnsullivan.flutterwear.wear.WearPlugin.onCreate(WearPlugin.kt:117)
E/ActivityThread( 3770): at java.lang.reflect.Method.invoke(Native Method)
E/ActivityThread( 3770): at androidx.lifecycle.ClassesInfoCache$MethodReference.invokeCallback(ClassesInfoCache.java:216)
E/ActivityThread( 3770): at androidx.lifecycle.ClassesInfoCache$CallbackInfo.invokeMethodsForEvent(ClassesInfoCache.java:194)
E/ActivityThread( 3770): at androidx.lifecycle.ClassesInfoCache$CallbackInfo.invokeCallbacks(ClassesInfoCache.java:185)
E/ActivityThread( 3770): at androidx.lifecycle.ReflectiveGenericLifecycleObserver.onStateChanged(ReflectiveGenericLifecycleObserver.java:37)
E/ActivityThread( 3770): at androidx.lifecycle.LifecycleRegistry$ObserverWithState.dispatchEvent(LifecycleRegistry.java:361)
E/ActivityThread( 3770): at androidx.lifecycle.LifecycleRegistry.forwardPass(LifecycleRegistry.java:300)
E/ActivityThread( 3770): at androidx.lifecycle.LifecycleRegistry.sync(LifecycleRegistry.java:339)
E/ActivityThread( 3770): at androidx.lifecycle.LifecycleRegistry.moveToState(LifecycleRegistry.java:145)
E/ActivityThread( 3770): at androidx.lifecycle.LifecycleRegistry.handleLifecycleEvent(LifecycleRegistry.java:131)
E/ActivityThread( 3770): at io.flutter.embedding.android.FlutterActivity.onCreate(FlutterActivity.java:412)
E/ActivityThread( 3770): at android.app.Activity.performCreate(Activity.java:6682)
E/ActivityThread( 3770): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1118)
E/ActivityThread( 3770): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2618)
E/ActivityThread( 3770): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2726)
E/ActivityThread( 3770): at android.app.ActivityThread.-wrap12(ActivityThread.java)
E/ActivityThread( 3770): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1477)
E/ActivityThread( 3770): at android.os.Handler.dispatchMessage(Handler.java:102)
E/ActivityThread( 3770): at android.os.Looper.loop(Looper.java:154)
E/ActivityThread( 3770): at android.app.ActivityThread.main(ActivityThread.java:6119)
E/ActivityThread( 3770): at java.lang.reflect.Method.invoke(Native Method)
E/ActivityThread( 3770): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:886)
E/ActivityThread( 3770): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:776)
CODE
`HomePage.dart`
`class HomePage extends StatelessWidget {
const HomePage({Key? key}) : super(key: key);
@override
Widget build(BuildContext context) {
return WatchShape(
builder: (context, shape, child) {
return AmbientMode(
builder: (context, mode, child) {
print('mode = $mode');
return mode == WearMode.active ? ActiveWatchFace() : AmbientWatchFace();
},
);
},
);
}
}`
`main.dart`
`void main() {
runApp(const MyApp());
}
class MyApp extends StatelessWidget {
const MyApp({Key? key}) : super(key: key);
// This widget is the root of your application.
@override
Widget build(BuildContext context) {
Widget home = Scaffold(
body: Scaffold(
body: Builder(
builder: (context) => MainPage(),
),
),
);
return GetMaterialApp(
debugShowCheckedModeBanner: true,
home: home,
);
}
}
class MainPage extends StatefulWidget {
@override
MainPageState createState() => MainPageState();
}
class MainPageState extends State<MainPage> {
@override
Widget build(BuildContext context) => HomePage();
}`
TOOLS
[✓] Flutter (Channel master, 2.3.0-17.0.pre.228, on macOS 11.4 20F71 darwin-x64,
locale en-VN)
• Flutter version 2.3.0-17.0.pre.228 at /Users/huytd/flutter
• Upstream repository https://github.com/flutter/flutter.git
• Framework revision 49733a4850 (11 days ago), 2021-06-07 05:19:03 -0400
• Engine revision 2ffc823063
• Dart version 2.14.0 (build 2.14.0-186.0.dev)[!] Android toolchain - develop for Android devices (Android SDK version 30.0.2)
✗ cmdline-tools component is missing
Runpath/to/sdkmanager --install "cmdline-tools;latest"
See https://developer.android.com/studio/command-line for more details.
✗ Android license status unknown.
Runflutter doctor --android-licenses
to accept the SDK licenses.
See https://flutter.dev/docs/get-started/install/macos#android-setup for
more details.[✓] Xcode - develop for iOS and macOS
• Xcode at /Applications/Xcode.app/Contents/Developer
• Xcode 12.5, Build version 12E262
• CocoaPods version 1.10.1[✓] Chrome - develop for the web
• Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome[✓] Android Studio (version 4.2)
• Android Studio at /Applications/Android Studio.app/Contents
• Flutter plugin can be installed from:
🔨 https://plugins.jetbrains.com/plugin/9212-flutter
• Dart plugin can be installed from:
🔨 https://plugins.jetbrains.com/plugin/6351-dart
• Java version OpenJDK Runtime Environment (build 11.0.8+10-b944.6916264)[✓] Android Studio
• Android Studio at /Users/huytd/Downloads/Android Studio
Preview.app/Contents
• Flutter plugin can be installed from:
🔨 https://plugins.jetbrains.com/plugin/9212-flutter
• Dart plugin can be installed from:
🔨 https://plugins.jetbrains.com/plugin/6351-dart
• Java version OpenJDK Runtime Environment (build 11.0.8+10-b944.6842174)[✓] Connected device (2 available)
• sdk google aw x86 (mobile) • emulator-5554 • android-x86 • Android
7.1.1 (API 25) (emulator)
• Chrome (web) • chrome • web-javascript • Google
Chrome 91.0.4472.106! Doctor found issues in 1 category.
AmbientMode worked fine in debug mode,
but when I build apk in release mode, it doesn't work.
The flutter should have rebuilt the screen right before it entered ambient mode, but it seemed that rebuild didn't occur.
The screen just stopped when it entered ambient mode. (I'm using Samsung Galaxy Watch 5)
I tried to get the event log, but nothing was printed. (Other prints were received correctly.)
I am getting the following error message:
The environment is as follows:
Hi,
You have got nice little toolkit. Would it be possible to upgrade it to null safety?
Getting exemption after doing a swipe from left to right (on an emulator). Switching context with in-app software button works, switching context with the emulator back button works, switching context with gesture doesn't. Any ideas?
Many thanks in advance!
D/AndroidRuntime( 3419): Shutting down VM
E/AndroidRuntime( 3419): FATAL EXCEPTION: main
E/AndroidRuntime( 3419): Process: com.mjohnsullivan.flutterwear.wearexample, PID: 3419
E/AndroidRuntime( 3419): java.lang.IllegalStateException: Reply already submitted
E/AndroidRuntime( 3419): at io.flutter.view.FlutterNativeView$PlatformMessageHandlerImpl$1.reply(FlutterNativeView.java:197)
E/AndroidRuntime( 3419): at io.flutter.plugin.common.MethodChannel$IncomingMethodCallHandler$1.success(MethodChannel.java:204)
E/AndroidRuntime( 3419): at com.mjohnsullivan.flutterwear.wear.WearPlugin$handleShapeMethodCall$1.onApplyWindowInsets(WearPlugin.kt:61)
E/AndroidRuntime( 3419): at android.support.v4.view.ViewCompat$ViewCompatApi21Impl$1.onApplyWindowInsets(ViewCompat.java:1307)
E/AndroidRuntime( 3419): at android.view.View.dispatchApplyWindowInsets(View.java:9799)
E/AndroidRuntime( 3419): at android.view.ViewGroup.dispatchApplyWindowInsets(ViewGroup.java:7080)
E/AndroidRuntime( 3419): at android.view.ViewGroup.dispatchApplyWindowInsets(ViewGroup.java:7080)
E/AndroidRuntime( 3419): at android.view.ViewRootImpl.dispatchApplyInsets(ViewRootImpl.java:1667)
E/AndroidRuntime( 3419): at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:2080)
E/AndroidRuntime( 3419): at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1466)
E/AndroidRuntime( 3419): at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:7189)
E/AndroidRuntime( 3419): at android.view.Choreographer$CallbackRecord.run(Choreographer.java:949)
E/AndroidRuntime( 3419): at android.view.Choreographer.doCallbacks(Choreographer.java:761)
E/AndroidRuntime( 3419): at android.view.Choreographer.doFrame(Choreographer.java:696)
E/AndroidRuntime( 3419): at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:935)
E/AndroidRuntime( 3419): at android.os.Handler.handleCallback(Handler.java:873)
E/AndroidRuntime( 3419): at android.os.Handler.dispatchMessage(Handler.java:99)
E/AndroidRuntime( 3419): at android.os.Looper.loop(Looper.java:193)
E/AndroidRuntime( 3419): at android.app.ActivityThread.main(ActivityThread.java:6669)
E/AndroidRuntime( 3419): at java.lang.reflect.Method.invoke(Native Method)
E/AndroidRuntime( 3419): at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
E/AndroidRuntime( 3419): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858)
I/Process ( 3419): Sending signal. PID: 3419 SIG: 9
Application finished.
Does this plugin support building WearOS tiles using Flutter?
If not is support for this planned, or is there some workaround? Perhaps implementing it in the MainActivity.kt file using Kotlin?
android.os.MessageQueue.nativePollOnce
Broadcast of Intent { act=android.intent.action.SCREEN_OFF }
After Anr, the app will restart and all state will lost.
Given the last commit has been from last year (March 1, 2022) and errors like issue #25 are still not fixed even though it's a simple version upgrade which is compatible with the current codebase can I assume this project has been fully abandoned?
Any idea why I get MissingPluginException for getShape
and isAmbient
?
I tried starting the example from this package. Its starting on the emulator and works but it throws this exceptions everytime.
Dart Unhandled Exception: MissingPluginException(No implementation found for method getShape on channel wear), stack trace: #0 MethodChannel._invokeMethod (package:flutter/src/services/platform_channel.dart:157:7)
E/flutter ( 9769): <asynchronous suspension>
E/flutter ( 9769): #1 MethodChannel.invokeMethod (package:flutter/src/services/platform_channel.dart:332:12)
E/flutter ( 9769): #2 Wear.getShape (package:wear/src/wear.dart:60:29)
E/flutter ( 9769): #3 _WatchShapeState.initState (package:wear/src/shape_widget.dart:43:19)
E/flutter ( 9769): #4 StatefulElement._firstBuild (package:flutter/src/widgets/framework.dart:4765:58)
E/flutter ( 9769): #5 ComponentElement.mount (package:flutter/src/widgets/framework.dart:4601:5)
E/flutter ( 9769): #6 Element.inflateWidget (package:flutter/src/widgets/framework.dart:3569:14)
E/flutter ( 9769): #7 Element.updateChild (package:flutter/src/widgets/framework.dart:3324:20)
E/flutter ( 9769): #8 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4652:16)
E/flutter ( 9769): #9 Element.rebuild (package:flutter/src/widgets/framework.dart:4343:5)
E/flutter ( 9769): #10 StatelessElement.update (package:flutter/src/widgets/framework.dart:4708:5)
E/flutter ( 9769): #11 Element.updateChild (package:flutter/src/widgets/framework.dart:3314:15)
E/flutter ( 9769): #12 SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:6125:14)
E/flutter ( 9769): #13 Element.updateChild (package:flutter/src/widgets/framework.dart:3314:15)
E/flutter ( 9769): #14 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4652:16)
E/flutter ( 9769): #15 Element.rebuild (package:flutter/src/widgets/framework.dart:4343:5)
E/flutter ( 9769): #16 StatelessElement.update (package:flutter/src/widgets/framework.dart:4708:5)
E/flutter ( 9769): #17 Element.updateChild (package:flutter/src/widgets/framework.dart:3314:15)
E/flutter ( 9769): #18 SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:6125:14)
E/flutter ( 9769): #19 Element.updateChild (package:flutter/src/widgets/framework.dart:3314:15)
E/flutter ( 9769): #20 SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:6125:14)
E/flutter ( 9769): #21 Element.updateChild (package:flutter/src/widgets/framework.dart:3314:15)
E/flutter ( 9769): #22 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4652:16)
E/flutter ( 9769): #23 StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:4800:11)
E/flutter ( 9769): #24 Element.rebuild (package:flutter/src/widgets/framework.dart:4343:5)
E/flutter ( 9769): #25 StatefulElement.update (package:flutter/src/widgets/framework.dart:4832:5)
E/flutter ( 9769): #26 Element.updateChild (package:flutter/src/widgets/framework.dart:3314:15)
E/flutter ( 9769): #27 SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:6125:14)
E/flutter ( 9769): #28 Element.updateChild (package:flutter/src/widgets/framework.dart:3314:15)
E/flutter ( 9769): #29 SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:6125:14)
E/flutter ( 9769): #30 Element.updateChild (package:flutter/src/widgets/framework.dart:3314:15)
E/flutter ( 9769): #31 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4652:16)
E/flutter ( 9769): #32 StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:4800:11)
E/flutter ( 9769): #33 Element.rebuild (package:flutter/src/widgets/framework.dart:4343:5)
E/flutter ( 9769): #34 StatefulElement.update (package:flutter/src/widgets/framework.dart:4832:5)
E/flutter ( 9769): #35 Element.updateChild (package:flutter/src/widgets/framework.dart:3314:15)
E/flutter ( 9769): #36 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4652:16)
E/flutter ( 9769): #37 Element.rebuild (package:flutter/src/widgets/framework.dart:4343:5)
E/flutter ( 9769): #38 StatelessElement.update (package:flutter/src/widgets/framework.dart:4708:5)
E/flutter ( 9769): #39 Element.updateChild (package:flutter/src/widgets/framework.dart:3314:15)
E/flutter ( 9769): #40 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4652:16)
E/flutter ( 9769): #41 StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:4800:11)
E/flutter ( 9769): #42 Element.rebuild (package:flutter/src/widgets/framework.dart:4343:5)
E/flutter ( 9769): #43 StatefulElement.update (package:flutter/src/widgets/framework.dart:4832:5)
E/flutter ( 9769): #44 Element.updateChild (package:flutter/src/widgets/framework.dart:3314:15)
E/flutter ( 9769): #45 SingleChildRenderOb
E/flutter ( 9769): [ERROR:flutter/shell/common/shell.cc(210)] Dart Unhandled Exception: MissingPluginException(No implementation found for method isAmbient on channel wear), stack trace: #0 MethodChannel._invokeMethod (package:flutter/src/services/platform_channel.dart:157:7)
E/flutter ( 9769): <asynchronous suspension>
E/flutter ( 9769): #1 MethodChannel.invokeMethod (package:flutter/src/services/platform_channel.dart:332:12)
E/flutter ( 9769): #2 Wear.isAmbient (package:wear/src/wear.dart:71:29)
E/flutter ( 9769): #3 _AmbientModeState.initState (package:wear/src/ambient_widget.dart:50:19)
E/flutter ( 9769): #4 StatefulElement._firstBuild (package:flutter/src/widgets/framework.dart:4765:58)
E/flutter ( 9769): #5 ComponentElement.mount (package:flutter/src/widgets/framework.dart:4601:5)
E/flutter ( 9769): #6 Element.inflateWidget (package:flutter/src/widgets/framework.dart:3569:14)
E/flutter ( 9769): #7 Element.updateChild (package:flutter/src/widgets/framework.dart:3327:18)
E/flutter ( 9769): #8 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4652:16)
E/flutter ( 9769): #9 Element.rebuild (package:flutter/src/widgets/framework.dart:4343:5)
E/flutter ( 9769): #10 ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:4606:5)
E/flutter ( 9769): #11 ComponentElement.mount (package:flutter/src/widgets/framework.dart:4601:5)
E/flutter ( 9769): #12 Element.inflateWidget (package:flutter/src/widgets/framework.dart:3569:14)
E/flutter ( 9769): #13 Element.updateChild (package:flutter/src/widgets/framework.dart:3327:18)
E/flutter ( 9769): #14 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4652:16)
E/flutter ( 9769): #15 Element.rebuild (package:flutter/src/widgets/framework.dart:4343:5)
E/flutter ( 9769): #16 ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:4606:5)
E/flutter ( 9769): #17 ComponentElement.mount (package:flutter/src/widgets/framework.dart:4601:5)
E/flutter ( 9769): #18 Element.inflateWidget (package:flutter/src/widgets/framework.dart:3569:14)
E/flutter ( 9769): #19 Element.updateChild (package:flutter/src/widgets/framework.dart:3327:18)
E/flutter ( 9769): #20 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4652:16)
E/flutter ( 9769): #21 StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:4800:11)
E/flutter ( 9769): #22 Element.rebuild (package:flutter/src/widgets/framework.dart:4343:5)
E/flutter ( 9769): #23 ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:4606:5)
E/flutter ( 9769): #24 StatefulElement._firstBuild (package:flutter/src/widgets/framework.dart:4791:11)
E/flutter ( 9769): #25 ComponentElement.mount (package:flutter/src/widgets/framework.dart:4601:5)
E/flutter ( 9769): #26 Element.inflateWidget (package:flutter/src/widgets/framework.dart:3569:14)
E/flutter ( 9769): #27 Element.updateChild (package:flutter/src/widgets/framework.dart:3324:20)
E/flutter ( 9769): #28 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4652:16)
E/flutter ( 9769): #29 Element.rebuild (package:flutter/src/widgets/framework.dart:4343:5)
E/flutter ( 9769): #30 StatelessElement.update (package:flutter/src/widgets/framework.dart:4708:5)
E/flutter ( 9769): #31 Element.updateChild (package:flutter/src/widgets/framework.dart:3314:15)
E/flutter ( 9769): #32 SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:6125:14)
E/flutter ( 9769): #33 Element.updateChild (package:flutter/src/widgets/framework.dart:3314:15)
E/flutter ( 9769): #34 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4652:16)
E/flutter ( 9769): #35 Element.rebuild (package:flutter/src/widgets/framework.dart:4343:5)
E/flutter ( 9769): #36 StatelessElement.update (package:flutter/src/widgets/framework.dart:4708:5)
E/flutter ( 9769): #37 Element.updateChild (package:flutter/src/widgets/framework.dart:3314:15)
E/flutter ( 9769): #38 SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:6125:14)
E/flutter ( 9769): #39 Element.updateChild (package:flutter/src/widgets/framework.dart:3314:15)
E/flutter ( 9769): #40 SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:6125:14)
E/flutter ( 9769): #41 Element.updateChild (package:flutter/src/widgets/framework.dart:3314:15)
E/flutter ( 9769): #42 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4652:16)
E/flutter ( 9769): #43 StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:4800:11)
E/flutter ( 9769): #44 Element.rebuild (package:flutter/src/widgets/framework.dart:4343:5)
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.