A flutter plugin for getting the local timezone of the os.
Install this package and everthing good will just follow along with you.
- iOS Support
- Android Support
final String currentTimeZone = await FlutterNativeTimezone.getLocalTimezone();
License: Apache License 2.0
A flutter plugin for getting the local timezone of the os.
Install this package and everthing good will just follow along with you.
final String currentTimeZone = await FlutterNativeTimezone.getLocalTimezone();
My application is planned to run on macos, any plan to support macos ?
When I try to run my project (package at the latest version btw) I get this:
e: C:\src\flutter\flutter\.pub-cache\git\flutter_native_timezone-f1512c09e4f3c8739fd4ab603722075d0c43d4c9\android\src\main\kotlin\com\whelksoft\flutter_native_timezone\FlutterNativeTimezonePlugin.kt: (13, 7): Redeclaration: FlutterNativeTimezonePlugin
e: C:\src\flutter\flutter\.pub-cache\hosted\pub.dartlang.org\flutter_native_timezone-1.0.4\android\src\main\kotlin\com\whelksoft\flutter_native_timezone\FlutterNativeTimezonePlugin.kt: (10, 7): Redeclaration: FlutterNativeTimezonePlugin
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':flutter_native_timezone:compileDebugKotlin'.
final String currentTimeZone = await Timezone.getLocalTimezone();
final String currentTimeZone = await FlutterNativeTimezone.getLocalTimezone();
This plugin is not adapted to work with background messages from firebase_messaging
and thus the messages plugin throws
MissingPluginException(No implementation found for method getLocalTimezone on channel flutter_native_timezone)
if you try to get timezone in background message handler. I wanted to use your plugin to schedule notifications with flutter_local_notifications
.
FlutterNativeTimezonePlugin.kt line 37
com.whelksoft.flutter_native_timezone.FlutterNativeTimezonePlugin.onMethodCall
Fatal Exception: java.lang.NoClassDefFoundError
Failed resolution of: Ljava/time/ZoneId;
Fatal Exception: java.lang.NoClassDefFoundError: Failed resolution of: Ljava/time/ZoneId;
at com.whelksoft.flutter_native_timezone.FlutterNativeTimezonePlugin.onMethodCall(FlutterNativeTimezonePlugin.kt:37)
at io.flutter.plugin.common.MethodChannel$IncomingMethodCallHandler.onMessage(MethodChannel.java:233)
at io.flutter.embedding.engine.dart.DartMessenger.handleMessageFromDart(DartMessenger.java:85)
at io.flutter.embedding.engine.FlutterJNI.handlePlatformMessage(FlutterJNI.java:818)
at android.os.MessageQueue.nativePollOnce(MessageQueue.java)
at android.os.MessageQueue.next(MessageQueue.java:328)
at android.os.Looper.loop(Looper.java:148)
at android.app.ActivityThread.main(ActivityThread.java:6339)
at java.lang.reflect.Method.invoke(Method.java)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1084)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:945)
Please see issue Dana-Ferguson/time_machine#5. (Reprinted below)
The current Dart SDK version is 2.1.0-dev.0.0.flutter-be6309690f.
Because flutter_native_timezone 1.0.0 requires SDK version >=1.9.0 <2.0.0 and no versions of
flutter_native_timezone match >1.0.0 <2.0.0, flutter_native_timezone ^1.0.0 is forbidden.
So, because flutter_calender depends on flutter_native_timezone ^1.0.0, version solving failed.
Background information: I created date and time API for use in Dart and on Flutter your library can be used to directly get the user's timezone (vs. a heuristic solver which normally works, but can never be guaranteed).
Is it possible to get pubspec yaml updated for Dart 2.0?
Thank you, :)
Fatal Exception: java.lang.NoClassDefFoundError: Failed resolution of: Ljava/time/ZoneId;
at com.whelksoft.flutter_native_timezone.FlutterNativeTimezonePlugin.onMethodCall(FlutterNativeTimezonePlugin.java:37)
at io.flutter.plugin.common.MethodChannel$IncomingMethodCallHandler.onMessage(MethodChannel.java:233)
at io.flutter.embedding.engine.dart.DartMessenger.handleMessageFromDart(DartMessenger.java:84)
at io.flutter.embedding.engine.FlutterJNI.handlePlatformMessage(FlutterJNI.java:865)
at android.os.MessageQueue.nativePollOnce(MessageQueue.java)
at android.os.MessageQueue.next(MessageQueue.java:323)
at android.os.Looper.loop(Looper.java:135)
at android.app.ActivityThread.main(ActivityThread.java:5628)
at java.lang.reflect.Method.invoke(Method.java)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:853)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:737)
Daylight saving time no longer exists in Mexico City. please correct it. Greetings.
I am calling an API with timezone parameter. However, timezone response from this library is three letter (e.g. GMT). But, the API is expecting long version timezone. Is there a way to specify this?
Hello. Probably it's a similar issue as with
Europe/Kiev was renamed to Europe/Kyiv in 2022.
There is a thread about this https://stackoverflow.com/questions/71829570/how-and-where-should-i-suggest-a-rename-of-an-existing-timezone-name
Hi,
I am getting the below error while initializing the time zone in main method.
Error:
[ERROR:flutter/lib/ui/ui_dart_state.cc(209)] Unhandled Exception: Null check operator used on a null value
E/flutter (23742): #0 MethodChannel.binaryMessenger (package:flutter/src/services/platform_channel.dart:121:86)
E/flutter (23742): #1 MethodChannel._invokeMethod (package:flutter/src/services/platform_channel.dart:146:36)
E/flutter (23742): #2 MethodChannel.invokeMethod (package:flutter/src/services/platform_channel.dart:329:12)
E/flutter (23742): #3 FlutterNativeTimezone.getLocalTimezone (package:flutter_native_timezone/flutter_native_timezone.dart:17:24)
E/flutter (23742): #4 configureLocalTimeZone (package:myapp/main.dart:48:60)
E/flutter (23742): #5 main (package:lotusfeet/main.dart:16:9)
E/flutter (23742): #6 _runMainZoned.. (dart:ui/hooks.dart:145:25)
E/flutter (23742): #7 _rootRun (dart:async/zone.dart:1428:13)
E/flutter (23742): #8 _CustomZone.run (dart:async/zone.dart:1328:19)
E/flutter (23742): #9 _runZoned (dart:async/zone.dart:1863:10)
E/flutter (23742): #10 runZonedGuarded (dart:async/zone.dart:1851:12)
E/flutter (23742): #11 _runMainZoned. (dart:ui/hooks.dart:141:5)
E/flutter (23742): #12 _delayEntrypointInvocation. (dart:isolate-patch/isolate_patch.dart:283:19)
E/flutter (23742): #13 _RawReceivePortImpl._handleMessage (dart:isolate-patch/isolate_patch.dart:184:12)
Please look into it.
Regards,
Shyam
Hello,
Currently, my build is failing with the following exception:
The Android Gradle plugin supports only Kotlin Gradle plugin version 1.5.20 and higher.
The following dependencies do not satisfy the required version:
project ':flutter_native_timezone' -> org.jetbrains.kotlin:kotlin-gradle-plugin:1.3.50
What is the best way to handle this? I did not want to manually change something
My current Kotlin plugin version: 213-1.7.10-release-for-android-studio-AS6777.52
The Android Gradle plugin supports only Kotlin Gradle plugin version 1.2.51 and higher. Project 'flutter_native_timezone' is using version 1.2.30.
Can't use this plugin with plugins that supports newer gradle versions.
Please update.
Non-fatal Exception: io.flutter.plugins.firebase.crashlytics.FlutterError: Location with the name "Asia/Yangon" doesn't exist. Error thrown null.
at LocationDatabase.get(location_database.dart:40)
at .getLocation(env.dart:36)
at Notifications._configureLocalTimeZone(notifications.dart:65)
at Notifications._initLocalNotification(notifications.dart:348)
at Notifications.init(notifications.dart:70)
at SmoxyProvider.initAppState(smoxy_provider.dart:1058)
at SmoxyProvider.loadUserAndInitialize(smoxy_provider.dart:803)
Android/iOS
provides Asia/Kolkata
, while Web
provides Asia/Calcutta
(this is deprecated).Hi,
I've seen that this library added support for web, which is great! But there is no documentation about it.
Are we supposed to conditionally import flutter_native_timezone.dart
or flutter_native_timezone_web.dart
depending on which platform we're on? If so, it would be great if the library could add this platform check directly.
Some clarity on this would be much appreciated.
We have identified a security issue in your package from our security scan.
Stack smashing protection has not been implemented in components included in the application. When an application is compiled with stack smashing protection, a known value or "canary" is placed on the stack directly before the local variables to protect the saved base pointer, saved instruction pointer, and function arguments. The value of the canary is verified upon the function return to see if it has been overwritten. The compiler uses a heuristic to intelligently apply stack protection to a function, typically functions using character arrays. This is a very simple best practice that hardens your app with little to no downside. Memory corruption vulnerabilities can be very hard to track down, but can be extremely severe.
Please follow the steps below for the respective platform to fix this security issue:
iOS:
In XCode, under the Build Settings for the app, go to the "Other C Flags" section and add in -fstack-protector-all
. More reading can be done on Apple's developer library
Android:
Make sure that the -fstack-protector-all
, -fpic
, and -fstack-protector-strong
flags are all set in the build.gradle
file (typically in the cmake/cppFlags
).
Missing location Asia/Saigon
Is is the same list as in the Flutter 'timezone' plugin?
Remove references to deprecated v1 Android embedding
To ensure this plugin will work with users running the next stable version of Flutter remove references to the v1 embedding.
The v1 embedding was deprecated around 6 and a half years ago. In Flutter 3.22, the Flutter tool dropped support for building v1 apps entirely. Flutter plans to delete version one of it's Android embedding in the next stable release, per https://medium.com/flutter/whats-new-in-flutter-3-22-fbde6c164fe3 (in the "Removal of v1 Android embedding" section).
When that deletion happens, any apps using plugins that still have references to the removed classes will fail to build when updating to the next stable version (probably Flutter 3.26
).
As a part of this deprecation, the Flutter Android team is doing community outreach by filing bugs and submitting some pull requests to update plugins to minimize the impact this removal has on the community.
android_alarm_manager_plus
fluttercommunity/plus_plugins#28643.22
.If this change doesn't land, this plugin will instead be broken for all apps building on the next stable version of Flutter and beyond.
No.
This is the PR where we are removing the deprecated engine classes: flutter/engine#52022
With version 1.1.0 of the plugin, this crash was seen on a Samsung Galaxy S7 Edge running Android 7.0.
Fatal Exception: java.lang.NoClassDefFoundError: Failed resolution of: Ljava/time/ZoneId;
at com.whelksoft.flutter_native_timezone.FlutterNativeTimezonePlugin.onMethodCall(FlutterNativeTimezonePlugin.java)
at io.flutter.plugin.common.MethodChannel$IncomingMethodCallHandler.onMessage(MethodChannel.java)
at io.flutter.embedding.engine.dart.DartMessenger.handleMessageFromDart(DartMessenger.java)
at io.flutter.embedding.engine.FlutterJNI.handlePlatformMessage(FlutterJNI.java)
at android.os.MessageQueue.nativePollOnce(MessageQueue.java)
at android.os.MessageQueue.next(MessageQueue.java:323)
at android.os.Looper.loop(Looper.java:136)
at android.app.ActivityThread.main(ActivityThread.java:6688)
at java.lang.reflect.Method.invoke(Method.java)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1468)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1358)
Using code from the example, I'm getting this exception. Any help?
E/flutter ( 3330): [ERROR:flutter/lib/ui/ui_dart_state.cc(157)] Unhandled Exception: MissingPluginException(No implementation found for method getLocalTimezone on channel flutter_native_timezone)
E/flutter ( 3330): #0 MethodChannel._invokeMethod (package:flutter/src/services/platform_channel.dart:154:7)
E/flutter ( 3330): <asynchronous suspension>
E/flutter ( 3330): #1 MethodChannel.invokeMethod (package:flutter/src/services/platform_channel.dart:329:12)
E/flutter ( 3330): #2 FlutterNativeTimezone.getLocalTimezone (package:flutter_native_timezone/flutter_native_timezone.dart:11:34)
Hi, why am I getting GMT timezone rather than my local timezone?
/home/najeeb/Android/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_native_timezone-2.0.0/android/src/main/kotlin/com/whelksoft/flutter_native_timezone/FlutterNativeTimezonePlugin.kt:12:48: warning: 'Registrar' is deprecated. Deprecated in Java
import io.flutter.plugin.common.PluginRegistry.Registrar
The Android Gradle plugin supports only Kotlin Gradle plugin version 1.5.20 and higher.
The following dependencies do not satisfy the required version:
project ':flutter_native_timezone' -> org.jetbrains.kotlin:kotlin-gradle-plugin:1.3.50
Our Indian Timezone, especially "Asia/Calcutta" was the name changed to "Asia/Kolkata" a very long ago. But still, our package provides the previous timezone name. It is the right time to update our timezone database.
Unhandled Exception: LateInitializationError: Field '_local@1885310200' has not been initialized.
Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel stable, 2.2.2, on macOS 11.4 20F71 darwin-arm, locale
en-IN)
[!] Android toolchain - develop for Android devices (Android SDK version 30.0.3)
! Some Android licenses not accepted. To resolve this, run: flutter doctor
--android-licenses
[✓] Xcode - develop for iOS and macOS
[✓] Chrome - develop for the web
[✓] Android Studio (version 4.1)
[✓] VS Code (version 1.57.0)
[✓] Connected device (2 available)
! Doctor found issues in 1 category.
Plugin version
flutter_native_timezone: ^2.0.0
Getting error while calling
import 'package:timezone/timezone.dart' as tz;
final tz.TZDateTime now = tz.TZDateTime.now(tz.local);
Please help i am getting this issue
I'm getting the following error:
C:\flutter.pub-cache\hosted\pub.dartlang.org\flutter_native_timezone-2.0.0\android\src\main\kotlin\com\whelksoft\flutter_native_timezone\FlutterNativeTimezonePlugin.kt: (22, 10): Class 'kotlin.jvm.JvmStatic' was compiled with an incompatible version of Kotlin. The binary version of its metadata is 1.5.1, expected version is 1.1.15.
The class is loaded from C:/Users/USER/.gradle/caches/transforms-2/files-2.1/0abecf3832c202c9f5aa4402d080189c/jetified-kotlin-stdlib-1.5.31.jar!/kotlin/jvm/JvmStatic.class
The docs for Future<String> getLocalTimezone()
say only:
Returns local timezone from the native layer.
I need to know if it returns ambiguous time zone abbreviations like "CST" or excellent tz database names like "America/Chicago".
Execution failed for task ':flutter_native_timezone:verifyReleaseResources'.
A failure occurred while executing com.android.build.gradle.tasks.VerifyLibraryResourcesTask$Action
Android resource linking failed
ERROR:/Users/jintian/dev/codes/apps/neso_flutter/build/flutter_native_timezone/intermediates/merged_res/release/values/values.xml:194: AAPT: error: resource android:attr/lStar not found.
$ flutter build apk
Initializing gradle... 0.7s
Resolving dependencies... 1.8s
registerResGeneratingTask is deprecated, use registerGeneratedResFolders(FileCollection)
registerResGeneratingTask is deprecated, use registerGeneratedResFolders(FileCollection)
registerResGeneratingTask is deprecated, use registerGeneratedResFolders(FileCollection)
registerResGeneratingTask is deprecated, use registerGeneratedResFolders(FileCollection)
registerResGeneratingTask is deprecated, use registerGeneratedResFolders(FileCollection)
Note: /home/nightwelf/flutter/.pub-cache/hosted/pub.dartlang.org/firebase_messaging-4.0.0+1/android/src/main/java/io/flutter/plugins/firebasemessaging/FlutterFirebaseInstanceIDService.java uses or overrides a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
Note: Some input files use or override a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
Note: /home/nightwelf/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_webview_plugin-0.3.0+2/android/src/main/java/com/flutter_webview_plugin/WebviewManager.java uses unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.
Note: Some input files use or override a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':flutter_native_timezone:verifyReleaseResources'.
> java.util.concurrent.ExecutionException: com.android.builder.internal.aapt.v2.Aapt2Exception: Android resource linking failed
/home/nightwelf/Projects/corp/build/flutter_native_timezone/intermediates/res/merged/release/values-v28/values-v28.xml:7: error: resource android:attr/dialogCornerRadius not found.
/home/nightwelf/Projects/corp/build/flutter_native_timezone/intermediates/res/merged/release/values-v28/values-v28.xml:11: error: resource android:attr/dialogCornerRadius not found.
/home/nightwelf/Projects/corp/build/flutter_native_timezone/intermediates/res/merged/release/values/values.xml:2601: error: resource android:attr/fontVariationSettings not found.
/home/nightwelf/Projects/corp/build/flutter_native_timezone/intermediates/res/merged/release/values/values.xml:2602: error: resource android:attr/ttcIndex not found.
error: failed linking references.
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.
* Get more help at https://help.gradle.org
BUILD FAILED in 40s
Running Gradle task 'assembleRelease'...
Running Gradle task 'assembleRelease'... Done 41.2s
Gradle task assembleRelease failed with exit code 1
Migrate to sound null safety
Bump up package version
Kindly consider adding a privacy manifest to your library following the new apple policy by adding PrivacyInfo.xcprivacy
file to your project.
For more information, please check Apple's documentation.
Currently, we are using Kotlin 1.3.50. since Kotlin only support 4 versions, we are blocked from upgrade to Kotlin 1.7+ or higher.
A version bump release is badly needed. With the most recent gradle version 7.4 this is what I get trying to build my Flutter app:
Running Gradle task 'assembleDebug'...
FAILURE: Build failed with an exception.
* What went wrong:
The Android Gradle plugin supports only Kotlin Gradle plugin version 1.5.20 and higher.
The following dependencies do not satisfy the required version:
project ':flutter_native_timezone' -> org.jetbrains.kotlin:kotlin-gradle-plugin:1.3.50
@pinkfish First of all, thanks for this handy package!
It looks like none of the pull requests this year have been merged, and the project appears unmaintained.
Please move the project to a Github org like Flutter Community and add some of the people opening pull requests as maintainers so this project can move forward and take some load off your shoulders.
It seems like the Flutter_Native_Timezone plugin package needs an kotlin upgrade. I got this build error from my vscode flutter env:
FAILURE: Build failed with an exception.
What went wrong:
The Android Gradle plugin supports only Kotlin Gradle plugin version 1.5.20 and higher.
The following dependencies do not satisfy the required version:
project ':flutter_native_timezone' -> org.jetbrains.kotlin:kotlin-gradle-plugin:1.3.50
Try:
Run with --stacktrace option to get the stack trace.
Run with --info or --debug option to get more log output.
Run with --scan to get full insights.
BUILD FAILED in 8s
Exception: Gradle task assembleDebug failed with exit code 1
Does this support for Web? I have tried to run this in Web but it always get stuck in getting local timezone.
I'm getting this error when calling
final String currentTimeZone = await FlutterNativeTimezone.getLocalTimezone();
Compiler message:
Error: 'await' can only be used in 'async' or 'async*' methods.
final String currentTimeZone = await FlutterNativeTimezone.getLocalTimezone()
'Asia/Aden': 'Asia/Aden',
'America/Cuiaba': 'America/Cuiaba',
'Etc/GMT+9': 'Asia/Vladivostok',
'Etc/GMT+8': 'Asia/Shanghai',
'Africa/Nairobi': 'Africa/Nairobi',
'America/Marigot': 'America/Marigot',
'Asia/Aqtau': 'Asia/Aqtau',
'Pacific/Kwajalein': 'Pacific/Kwajalein',
'America/El_Salvador': 'America/El_Salvador',
'Asia/Pontianak': 'Asia/Pontianak',
'Africa/Cairo': 'Africa/Cairo',
'Pacific/Pago_Pago': 'Pacific/Pago_Pago',
'Africa/Mbabane': 'Africa/Mbabane',
'Asia/Kuching': "Asia/Kuching",
'Pacific/Honolulu': "Pacific/Honolulu",
'Pacific/Rarotonga': "Pacific/Rarotonga",
"America/Guatemala": "America/Guatemala",
"Australia/Hobart": "Australia/Hobart",
"Europe/London": "Europe/London",
"America/Belize": "America/Belize",
"America/Panama": "America/Panama",
"Asia/Chungking": "Asia/Shanghai",
"America/Managua": "America/Managua",
"America/Indiana/Petersburg": "America/Indiana/Petersburg",
"Asia/Yerevan": "Asia/Yerevan",
"Europe/Brussels": "Europe/Brussels",
"JST": "Asia/Tokyo",
"GMT": "Europe/London",
"Europe/Warsaw": "Europe/Warsaw",
"America/Chicago": "America/Chicago",
"Asia/Kashgar": "Asia/Urumqi",
"Chile/Continental": "America/Santiago",
"Pacific/Yap": "Pacific/Chuuk",
"CET": "Europe/Paris",
"Etc/GMT-1": "Europe/Lisbon",
"Etc/GMT-0": "UTC",
"Europe/Jersey": "Europe/London",
"America/Tegucigalpa": "America/Tegucigalpa",
"Etc/GMT-5": "America/New_York",
"Europe/Istanbul": "Europe/Istanbul",
"America/Eirunepe": "America/Eirunepe",
"Etc/GMT-4": "America/Port_of_Spain",
"America/Miquelon": "America/Miquelon",
"Etc/GMT-3": "Europe/Istanbul",
"Europe/Luxembourg": "Europe/Luxembourg",
"Etc/GMT-2": "Europe/Zaporozhye",
"Etc/GMT-9": "Asia/Seoul",
"America/Argentina/Catamarca": "America/Argentina/Tucuman",
"Etc/GMT-8": "Asia/Shanghai",
"Etc/GMT-7": "Asia/Bangkok",
"Etc/GMT-6": "America/Guatemala",
"Europe/Zaporozhye": "Europe/Zaporozhye",
"Canada/Yukon": "America/Whitehorse",
"Canada/Atlantic": "America/Halifax",
"Atlantic/St_Helena": "Atlantic/St_Helena",
"Australia/Tasmania": "Australia/Hobart",
"Libya": "Africa/Tripoli",
"Europe/Guernsey": "Europe/London",
"America/Grand_Turk": "America/Grand_Turk",
"US/Pacific-New": "America/Los_Angeles",
"Asia/Samarkand": "Asia/Samarkand",
"America/Argentina/Cordoba": "America/Argentina/Cordoba",
"Asia/Phnom_Penh": "Asia/Phnom_Penh",
"IST": "Asia/Kolkata",
"Africa/Kigali": "Africa/Kigali",
"Asia/Almaty": "Asia/Almaty"
Hey was looking to originally create a similar plugin but noticed you had created one already. This is to help solve the problem I've currently got in the local notifications plugin when scheduling notifications. I'm looking to see if a method could be added to query the list of supported timezones. Should be possible and was going to look at trying to submit a PR. However, when I use Android Studio to open the example Android app, it's not able to resolve the paths such that it can also show the plugin code in the IDE. Perhaps the plugin needs to be recreated to resolve the issue. Is this something you're able to look into?
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.