aleksanderwozniak / table_calendar Goto Github PK
View Code? Open in Web Editor NEWHighly customizable, feature-packed calendar widget for Flutter
License: Apache License 2.0
Highly customizable, feature-packed calendar widget for Flutter
License: Apache License 2.0
Hello,
I have some distinct event that I need the marker color to be unique. Is there a way to do this in the calendar..
example
_selectedDay: ['Available', 'busy','away'],
_selectedDay.add(Duration(days: 1)): [
'Available''
],
and I want the marker to have different color e.g "available" - green , "busy"=red etc
Thanks
Hi, I am not sure if I should consider dealing with smaller sized device or not. Today, I am testing a device which has a resolution of 470x960. The plugin works fine on modern devices. But when I test on this particular smaller resolution device, I got the following screenshot:
I have removed the extra texts on other builders and just keep it on todayDayBuilder
just to make the screenshot clear.
The code is basically:
todayDayBuilder: (context, date, _) {
return Container(
decoration: BoxDecoration(
shape: BoxShape.circle,
color: _color,
),
margin: const EdgeInsets.all(6.0),
alignment: Alignment.center,
child: Column(
children: <Widget>[
Text(
'${date.day}',
style: _textstyle
),
Text(
_getLunarDayCN(date),
style: _textstyle2
)
],
)
);
},
I checked #38 issue. I don't think I can use any of the two solutions. Should I just drop the support of this particular resolution 470x960?
Thanks a lot.
Hi,
Not too sure what's going on but the calendar seems to reset itself if I scroll down too far.
I use the calendar to update data in a futurebuilder.
@override
Widget build(BuildContext context) {
return WillPopScope(
onWillPop: () async => false,
child: Scaffold(
appBar: AppBar(
title: Text(Applocalisations.of(context).navigationBooking),
),
body: Container(
margin: EdgeInsets.symmetric(vertical: 13, horizontal: 20),
child: ListView(
children: <Widget>[
warningStatus(),
Container(
margin: EdgeInsets.symmetric(vertical: 20),
child: new TableCalendar(
availableCalendarFormats: {
CalendarFormat.month: Applocalisations.of(context).calendarMonth,
CalendarFormat.twoWeeks: Applocalisations.of(context).calendarTwoWeeks,
CalendarFormat.week: Applocalisations.of(context).calendarWeek
},
initialCalendarFormat: CalendarFormat.week,
formatAnimation: FormatAnimation.slide,
startingDayOfWeek: StartingDayOfWeek.sunday,
availableGestures: AvailableGestures.all,
calendarStyle: CalendarStyle(
outsideDaysVisible: false,
selectedColor: (Platform.isIOS || Platform.isMacOS)
? CupertinoColors.activeBlue
: Colors.blueAccent[400],
todayColor: (Platform.isIOS || Platform.isMacOS)
? Colors.blueAccent[100]
: Colors.blueAccent[100],
markersColor: Colors.brown[700],
),
headerStyle: HeaderStyle(
formatButtonVisible: true,
formatButtonTextStyle: (Platform.isIOS ||
Platform.isMacOS)
? TextStyle().copyWith(color: CupertinoColors.white)
: TextStyle()
.copyWith(color: Colors.white, fontSize: 15.0),
formatButtonDecoration: BoxDecoration(
color: (Platform.isIOS || Platform.isMacOS)
? CupertinoColors.activeBlue
: Colors.blueAccent[400],
borderRadius: BorderRadius.circular(16.0),
),
),
onDaySelected: (selecteddate, events) =>
_onDaySelected(selecteddate),
),
),
LessonCards(
date: date,
name: widget.name,
selectedDate: selected,
formerDateTitle: widget.formerDateTitle,
formerDateSubtitle: widget.formerDateSubtitle,
),
],
)
)));
}
I'm not too sure what can cause this; I've been told that a key would solve this yet I end up with the calendar not animating the selecteddate.
Any help would be appriciated,
Thanks.
Hello,
First, I like a lot your control.
I wanted to trigger a method when users swipe / change the displayed date.
I've taken a look to your exemple project, you use the onVisibleDaysChanged event for that purpose.
But Flutter tells me that The named parameter 'onVisibleDaysChanged' isn't defined.dart(undefined_named_parameter)
It is because on the Flutter widget page, the documentation tells to install 0.3.2 where the event did not exist yet.
May I suggest you to update it ? https://pub.dartlang.org/packages/flutter_calendar_carousel#-readme-tab-
It would be awesome because after a first reading, it doesn't seems obvious what your Widget can do. It's too bad because you did a great job.
Take care and thanks for the time you put into this Widget.
Another thing : it seems that on the version 1.0.0, the format doesn't change : it seems brocken : it was working on 0.3.2. The button does nothing and a vertical swipe trigger the animation but its animates to the same format.
It only refresh when you make a horizontal swipe gesture.
What about implementing the calendar animation from week to month for something like this https://github.com/apptreesoftware/flutter_calendar
I think its better looking if the animation goes from top to bottom
First, thank you very much for this advanced calendar package. Best one I can find so far.
Now, my feature request is: Is that possible to provide an option to let todayColor override selectedColor? I think that is more native.
So far, I am using the following modified code:
Decoration _buildCellDecoration() {
if (isToday) {
return BoxDecoration(
shape: BoxShape.circle,
color: calendarStyle.todayColor,
);
} else if (isSelected) {
return BoxDecoration(
shape: BoxShape.circle,
color: calendarStyle.selectedColor,
);
} else {
return BoxDecoration(shape: BoxShape.circle);
}
}
Thanks a lot.
如何将日历的语言设置为中文呢?我找了好长时间的属性,都没有找到,我想知道怎么设置。
Can you expose the code that you use to generate the example calendar for custom styles.
Thanks
When I use the Map literal from the example folder to populate the events the expected event icons are painted. However, when I build the TableCalendar
from a StreamBuilder
that is returning a Map<DateTime, List<String>>
no markers are painted.
Hi,
Do you plan to implement a feature that allow the developer to load the events
only when the calendar is swiped to the left or right (visibleRangeChanged for an example of the signature) ? It will avoid to load a complete set of unnecessary data, but only load "on demand".
Thanks a lot !
Great calendar! Thanks
Although I have had a problem with the length`s marker.
Even if there are more than 4 events on the day, the max number showed is 4.
I looked for, but I could not find out where it is configured.
Widget _buildTableCalendarWithBuilders() {
return TableCalendar(
locale: _locale,
events: _visibleEvents,
{...},
builders: CalendarBuilders(
{...},
markersBuilder: (context, date, events, holidays) {
final children = <Widget>[];
if (events.isNotEmpty) {
children.add(
Positioned(
bottom: 1,
child: _buildEventsMarker(date, events),
),
);
}
return children;
},
),
onDaySelected: (date, events) {
_onDaySelected(date, events);
_controller.forward(from: 0.0);
},
onVisibleDaysChanged: _onVisibleDaysChanged,
);
}
In this case, _visibleEvents is the group of events, but when it tries to print these events in --markersBuilder-- it prints just 4 items, but there are more events into the periods in _visibleEvents.
Hi,
First of all, thank you for this wonderful package !
I would like to define the first day displayed in the calendar (switching from "sunday" to "monday"). Do you plan to implement this feature in the future ?
Thank you
Any chance to detect the vertical slide to change between calendar formats?
So when pull down the calendar month is displayed
I feel the current behavior is kinda weird. It always displays the _nextFormat()
. I modified the code for now. I am currently using
String get formatButtonText => _availableCalendarFormats[calendarFormat];
in class CalendarLogic.
Would you like to provide a new option? Otherwise, I will have to modify the underlying package code. Thanks a lot.
I currently don't see a builder for these components, and would like to be able to force uppercase on the day of week header
Thanks for this awesome package. I want to update the calendarFormat using another button, but when updating the forcedCalendarFormat, the TableCalendar UI doesn't change.
Sample code:
import 'package:flutter/material.dart';
import 'package:table_calendar/table_calendar.dart';
void main() => runApp(MyApp());
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'Flutter Demo',
home: MyHomePage(title: 'Flutter Demo Home Page'),
);
}
}
class MyHomePage extends StatefulWidget {
MyHomePage({Key key, this.title}) : super(key: key);
final String title;
@override
_MyHomePageState createState() => _MyHomePageState();
}
class _MyHomePageState extends State<MyHomePage> {
CalendarFormat _calendarFormat = CalendarFormat.month;
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text(widget.title),
),
body: Column(
children: <Widget>[
TableCalendar(
forcedCalendarFormat: this._calendarFormat,
),
Text(this._calendarFormat.toString())
],
),
floatingActionButton: FloatingActionButton(
onPressed: () {
setState(() {
this._calendarFormat = (this._calendarFormat == CalendarFormat.month)
? CalendarFormat.twoWeeks
: CalendarFormat.month;
});
},
tooltip: 'Toggle',
child: Icon(Icons.add),
),
);
}
}
The current 2-week view increments a single week at a time; however I feel that is odd behavior. Both the single week and single month views give you an entirely need set of dates to view; whereas, the "bottom" week becomes the "top" week in the 2-week view.
I feel like the increment/step behavior should match the current displayed duration. Thus it would move forward, or backwards, two weeks at a time.
This is a great project!
But is it possible to reduce the time between 2 months when we swipe horizontally ?
I would like to avoid the "blank" space between the two months.
We can currently style dates based on whether any events are passed into the builder; however, it would be advantageous to remove selection on dates which do not have events.
I love this package so much cause it help me out through college tasks..
But, is there a way to get the events from json? so its not hard coded like the example.. Thanks..
@override
void initState() {
super.initState();
_selectedDay = DateTime.now();
_events = {
DateTime.parse("2019-03-31") : ['Event A6', 'Event B6'],
DateTime.parse("2019-03-15") : ['Event A7', 'Event B6'],
DateTime.parse("2019-03-02") : ['Event A6', 'Event B6'],
DateTime.parse("2019-03-13") : ['Event A6', 'Event B6'],
};
_selectedEvents = _events[_selectedDay] ?? [];
_visibleEvents = _events;
_controller = AnimationController(
vsync: this,
duration: const Duration(milliseconds: 400),
);
_controller.forward();
}
Sorry, another question.
Is there a way to change the format of the days of the week? I need it to just be the letter and not the first three. Also, I don't need it, but it probably wouldn't be bad to give people a build or options to change the format of the header too.
Is there a way to hide previous days showing from table calendar, i need the current and futures day should be shown,
(As a discussion from another issue, file this new feature request for tracking.)
A callback function to let the calendar go back to today view and make today selected too.
Thank you very much.
onVisibleDaysChanged
, as the name implies, should return the visible calendar days. This is not the case in the version 1.0.2 where the said method still returns the days outside the selected month even if outsideDaysVisible
is set to false
.
It would be so mush interesting for my app to have a day calendarFormat which plot only on day separated in different hour segments so that each statement is tappable. I would trigger it when the user tap to select one day an this particular view the user can select the hour for his appointment.
Hi @aleksanderwozniak ,
I tested your example code at https://github.com/aleksanderwozniak/table_calendar/blob/master/example/lib/main.dart and there is an exception thrown when you slide the calendar to the left (april 2019).
Here is the callstack :
I/flutter ( 4870): ══╡ EXCEPTION CAUGHT BY WIDGETS LIBRARY ╞═══════════════════════════════════════════════════════════
I/flutter ( 4870): The following NoSuchMethodError was thrown building LayoutBuilder:
I/flutter ( 4870): The method 'take' was called on null.
I/flutter ( 4870): Receiver: null
I/flutter ( 4870): Tried calling: take(4)
I/flutter ( 4870):
I/flutter ( 4870): When the exception was thrown, this was the stack:
I/flutter ( 4870): #0 Object.noSuchMethod (dart:core-patch/object_patch.dart:50:5)
I/flutter ( 4870): #1 _TableCalendarState._buildCell (package:table_calendar/table_calendar.dart:500:46)
I/flutter ( 4870): #2 _TableCalendarState._buildTableCell.<anonymous closure> (package:table_calendar/table_calendar.dart:480:20)
I/flutter ( 4870): #3 _LayoutBuilderElement._layout.<anonymous closure> (package:flutter/src/widgets/layout_builder.dart:113:26)
I/flutter ( 4870): #4 BuildOwner.buildScope (package:flutter/src/widgets/framework.dart:2294:19)
I/flutter ( 4870): #5 _LayoutBuilderElement._layout (package:flutter/src/widgets/layout_builder.dart:109:11)
I/flutter ( 4870): #6 RenderObject.invokeLayoutCallback.<anonymous closure> (package:flutter/src/rendering/object.dart:1716:58)
I/flutter ( 4870): #7 PipelineOwner._enableMutationsToDirtySubtrees (package:flutter/src/rendering/object.dart:797:15)
I/flutter ( 4870): #8 RenderObject.invokeLayoutCallback (package:flutter/src/rendering/object.dart:1716:13)
I/flutter ( 4870): #9 _RenderLayoutBuilder.performLayout (package:flutter/src/widgets/layout_builder.dart:207:5)
I/flutter ( 4870): #10 RenderObject.layout (package:flutter/src/rendering/object.dart:1620:7)
I/flutter ( 4870): #11 RenderTable.performLayout (package:flutter/src/rendering/table.dart:1060:21)
I/flutter ( 4870): #12 RenderObject.layout (package:flutter/src/rendering/object.dart:1620:7)
I/flutter ( 4870): #13 _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:105:13)
I/flutter ( 4870): #14 RenderObject.layout (package:flutter/src/rendering/object.dart:1620:7)
I/flutter ( 4870): #15 _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:105:13)
I/flutter ( 4870): #16 RenderObject.layout (package:flutter/src/rendering/object.dart:1620:7)
I/flutter ( 4870): #17 _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:105:13)
I/flutter ( 4870): #18 RenderObject.layout (package:flutter/src/rendering/object.dart:1620:7)
I/flutter ( 4870): #19 _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:105:13)
I/flutter ( 4870): #20 RenderObject.layout (package:flutter/src/rendering/object.dart:1620:7)
I/flutter ( 4870): #21 _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:105:13)
I/flutter ( 4870): #22 RenderObject.layout (package:flutter/src/rendering/object.dart:1620:7)
I/flutter ( 4870): #23 _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:105:13)
I/flutter ( 4870): #24 RenderObject.layout (package:flutter/src/rendering/object.dart:1620:7)
I/flutter ( 4870): #25 RenderPadding.performLayout (package:flutter/src/rendering/shifted_box.dart:206:11)
I/flutter ( 4870): #26 RenderObject.layout (package:flutter/src/rendering/object.dart:1620:7)
I/flutter ( 4870): #27 RenderAnimatedSize.performLayout (package:flutter/src/rendering/animated_size.dart:182:11)
I/flutter ( 4870): #28 RenderObject.layout (package:flutter/src/rendering/object.dart:1620:7)
I/flutter ( 4870): #29 RenderFlex.performLayout (package:flutter/src/rendering/flex.dart:743:15)
I/flutter ( 4870): #30 RenderObject.layout (package:flutter/src/rendering/object.dart:1620:7)
I/flutter ( 4870): #31 _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:105:13)
I/flutter ( 4870): #32 _RenderCustomClip.performLayout (package:flutter/src/rendering/proxy_box.dart:1214:11)
I/flutter ( 4870): #33 RenderObject.layout (package:flutter/src/rendering/object.dart:1620:7)
I/flutter ( 4870): #34 RenderFlex.performLayout (package:flutter/src/rendering/flex.dart:743:15)
I/flutter ( 4870): #35 RenderObject.layout (package:flutter/src/rendering/object.dart:1620:7)
I/flutter ( 4870): #36 MultiChildLayoutDelegate.layoutChild (package:flutter/src/rendering/custom_layout.dart:142:11)
I/flutter ( 4870): #37 _ScaffoldLayout.performLayout (package:flutter/src/material/scaffold.dart:443:7)
I/flutter ( 4870): #38 MultiChildLayoutDelegate._callPerformLayout (package:flutter/src/rendering/custom_layout.dart:212:7)
I/flutter ( 4870): #39 RenderCustomMultiChildLayoutBox.performLayout (package:flutter/src/rendering/custom_layout.dart:356:14)
I/flutter ( 4870): #40 RenderObject._layoutWithoutResize (package:flutter/src/rendering/object.dart:1497:7)
I/flutter ( 4870): #41 PipelineOwner.flushLayout (package:flutter/src/rendering/object.dart:766:18)
I/flutter ( 4870): #42 _WidgetsFlutterBinding&BindingBase&GestureBinding&ServicesBinding&SchedulerBinding&PaintingBinding&SemanticsBinding&RendererBinding.drawFrame (package:flutter/src/rendering/binding.dart:346:19)
I/flutter ( 4870): #43 _WidgetsFlutterBinding&BindingBase&GestureBinding&ServicesBinding&SchedulerBinding&PaintingBinding&SemanticsBinding&RendererBinding&WidgetsBinding.drawFrame (package:flutter/src/widgets/binding.dart:701:13)
I/flutter ( 4870): #44 _WidgetsFlutterBinding&BindingBase&GestureBinding&ServicesBinding&SchedulerBinding&PaintingBinding&SemanticsBinding&RendererBinding._handlePersistentFrameCallback (package:flutter/src/rendering/binding.dart:285:5)
I/flutter ( 4870): #45 _WidgetsFlutterBinding&BindingBase&GestureBinding&ServicesBinding&SchedulerBinding._invokeFrameCallback (package:flutter/src/scheduler/binding.dart:1012:15)
I/flutter ( 4870): #46 _WidgetsFlutterBinding&BindingBase&GestureBinding&ServicesBinding&SchedulerBinding.handleDrawFrame (package:flutter/src/scheduler/binding.dart:952:9)
I/flutter ( 4870): #47 _WidgetsFlutterBinding&BindingBase&GestureBinding&ServicesBinding&SchedulerBinding._handleDrawFrame (package:flutter/src/scheduler/binding.dart:864:5)
I/flutter ( 4870): #51 _invoke (dart:ui/hooks.dart:220:10)
I/flutter ( 4870): #52 _drawFrame (dart:ui/hooks.dart:178:3)
I/flutter ( 4870): (elided 3 frames from package dart:async)
Best regards
Hello,
Please update the readme file to include what each properties does. It is very hard to exactly find what options can be used to customize. thank you
A minor issue, but a null or empty events list (map) results in an exception. If I populate with 1 dummy event, the issue disappears.
The default calendar is a little big to me. I need a tighter layout calendar. I return a SizedBox in dayBuilder but it didn't work. Is there anyway to change the size of cell and header?
Hi,
Do you plan to implement a new feature that allow the developer to customize the widget displayed for days (like special bullet, different color depends on condition, etc.) ?
For example:
dayBuilder: (BuildContext context, DateTime day) {
return Text('Test');
}
Thanks a lot !
Ben
Currently there is no provision for user to give custom color for days, it takes default value of gray which cannot be changed. Please add functionality to do so. Same can be said about weekend days. This is very important as not allowing user to change color can break their theme.
Great calendar!
However:
What do I have to do to add activity to all the Mondays in a year? I did some research but i think i missed something.
I am really newbie here and hard to read english for me :/
I create a simple StatefulWidget with just a TableCalendar, but it throws an error "A RenderFlex overflowed by 65 pixels on the bottom" when I try write a test.
I've stripped it down to just a widget with just the calendar, and it still breaks.
import 'package:flutter/material.dart';
import 'package:table_calendar/table_calendar.dart';
class CalendarScreen extends StatefulWidget {
@override
CalendarScreenState createState() => CalendarScreenState();
}
class CalendarScreenState extends State<CalendarScreen> {
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text('testCalendar'),
),
body: Column(
mainAxisSize: MainAxisSize.max,
children: <Widget>[
TableCalendar(locale: 'en_US'),
]
),
);
}
}
and the Test
import 'package:flutter_test/flutter_test.dart';
import 'package:test_calendar/screens/calendar_screen.dart';
void main() {
testWidgets('Load calendar screen smoke test', (WidgetTester tester) async {
// Build our app and trigger a frame.
await tester.pumpWidget(CalendarScreen());
});
}
Is there not a way to set the current visible month without setting "selectedDay"?
Can you please add support to add multiple colors for the table calendar?
Hi,
I'm not sure if there is available a way to retrieve the current month/year on the onVisibleDaysChanged when visible period changes (month, 2 weeks, week).
But if not, it would be nice to have it. I load the events of current year, so would be nice to have the possibility.
this study is very nice, great and good. thanks a lot very much.
How do I remove small dots that indicate the number of events below the date?
I do not see the days of holidays in the calendar defined at the beginning of the page?
I can see events but I can't see holidays
final Map<DateTime, List> _holidays = {
DateTime(2019, 1, 1): ['New Year's Day'],
DateTime(2019, 1, 6): ['Epiphany'],
DateTime(2019, 2, 14): ['Valentine's Day'],
DateTime(2019, 4, 21): ['Easter Sunday'],
DateTime(2019, 4, 22): ['Easter Monday'],
DateTime(2019, 6, 23): ['my birthday'],
};
The current target is limited to the child text, but you'd expect all/most of the "painted" area of selected days to be targetable on other dates.
I'd like to add you to https://github.com/Solido/awesome-flutter
You can PR so more people will find your works. Thx !
It looks like DaysOfWeekStyle
is the class that defines the style used for the day of the week at the top of the calendar; however, I couldn't trace a path back to an overridable user setting.
HI, I have your project imported in my app,I am using firestore to fetch events,But the issue iam facing is that,I Dont know how to persist the events into the selected events.can you provide any example??
Hi,
First of all thanks for making this package public, it really helps me and is currently the best in its category.
I would like suggest an improvement to its current great functionalities. I will be great to have an option to set the selectedDate programmatically. I see right now that you provided an initialDate
in the constructor which will then set the _selectedDate
once. This will then be updated only when onDaySelected
is triggered which requires a user tapping a date in the calendar.
There are use cases in which the selectedDate needs to be updated programmatically and provide a UI feedback. For instance, I want to automatically set the first day of the month as selectedDate when page is changed. (see Google Calendar app)
With this, I'm thinking if initialDate
can be renamed as selectedDate
and use it for the purpose described above. Thanks!
Hi,
First of all thanks for this great plugin. I am curious though, because I think there is a small bug on every november. On the first sunday, the day is the same of the saturday. Example: December 2019, Sunday should have day 3, but it shows 2 instead. On Monday, it corrects itself and shows day 4.
Could you check if this is really happening or is something on my part?
I attached a screenshot showing this behavior. What is really strange is that it happens on every november I think.
Ability to customize the Full/Compact/Minimal text.
Going to send a PR after this, but I'm new to flutter so I'll probably butcher it a bit.
Hi @aleksanderwozniak ,
Thank you for the wonderful package. It feels that it would be a more powerful package if we can provide our own CalendarLogic than the default one. Is there any reason I shouldn't do this?
Is there a way to change the chevron icons? I haven't seen a way to do it, but everything else is super customizable, so I wasn't sure if it was a hidden thing or something.
Awesome job on this btw!
Fatastic project, fully customizable.
I think it would be better to be able to customize the header as well, though you can set headerVisible
to false and added your own in the beginning.
Hi,
Thank you for this wonderful calendar package! I was wondering if there is a callback function I can use to update the selected day on the calendar widget. What I have is a button underneath the calendar, and would use that to update to the next selected day. The button right now does a setState to _selectedDay but doesn't fire off the onDaySelected function on TableCalendar. Maybe there is a way already, but couldn't figure out the solution.
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.