Git Product home page Git Product logo

flatuikit's Introduction

Background

FlatUIKit was originally written by Jack Flintermann in March of 2013, before iOS7 had even come out. The idea was to give a nice flat look to some of the native iOS components. Then iOS7 came along and introduced a decent API to do most of these tasks.

However, for backwards compatability, we will be attempting to maintain iOS6 compatability, as long as feasabilty possible. If we find a reason to move to iOS7 only support, we will leave a branch for remaining iOS6 support, and move forward.

FlatUIKit

FlatUIKit is a collection of iOS components styled with the "Flat UI" aesthetic that we created while building Grouper for iPhone. Its design inspiration comes from Flat UI and Kyle Miller. Styling is implemented via categories on/drop-in replacements for existing UIKit components, so integrating it into your project is very straightforward.

Installation

FlatUIKit can be installed via CocoaPods. Simply add

pod 'FlatUIKit'

to your Podfile. If you don't use CocoaPods you're welcome to use git submodules, or simply download it and include it in your project manually.

Note that FlatUIKit requires the CoreText framework as well as iOS > 6.0.

The Components

Buttons

FUIButton is a drop-in subclass of UIButton that exposes the additional properties buttonColor, shadowColor, cornerRadius, and shadowHeight. Note that if you set any of these, you have to set all of them.

myButton.buttonColor = [UIColor turquoiseColor];
myButton.shadowColor = [UIColor greenSeaColor];
myButton.shadowHeight = 3.0f;
myButton.cornerRadius = 6.0f;
myButton.titleLabel.font = [UIFont boldFlatFontOfSize:16];
[myButton setTitleColor:[UIColor cloudsColor] forState:UIControlStateNormal];
[myButton setTitleColor:[UIColor cloudsColor] forState:UIControlStateHighlighted];

FUIButton

TextFields

FUITextField is a drop-in subclass of UITextField that exposes the additional properties edgeInsets, textFieldColor, borderColor, borderWidth and cornerRadius. Note that if you set any of these, you have to set all of them.

myTextField.font = [UIFont flatFontOfSize:16];
myTextField.backgroundColor = [UIColor clearColor];
myTextField.edgeInsets = UIEdgeInsetsMake(4.0f, 15.0f, 4.0f, 15.0f);
myTextField.textFieldColor = [UIColor whiteColor];
myTextField.borderColor = [UIColor turquoiseColor];
myTextField.borderWidth = 2.0f;
myTextField.cornerRadius = 3.0f;

FUITextField

SegmentedControls

FUISegmentedControl is a drop-in subclass of UISegmentedControl that exposes the additional properties selectedColor, deselectedColor, selectedFont, deselectedFont, selectedFontColor, deselectedFontColor, dividerColor and cornerRadius. Note that if you set any of these, it is recommended that you set all of them.

mySegmentedControl.selectedFont = [UIFont boldFlatFontOfSize:16];
mySegmentedControl.selectedFontColor = [UIColor cloudsColor];
mySegmentedControl.deselectedFont = [UIFont flatFontOfSize:16];
mySegmentedControl.deselectedFontColor = [UIColor cloudsColor];
mySegmentedControl.selectedColor = [UIColor amethystColor];
mySegmentedControl.deselectedColor = [UIColor silverColor];
mySegmentedControl.dividerColor = [UIColor midnightBlueColor];
mySegmentedControl.cornerRadius = 5.0;

Switches

FUISwitch is not a subclass of UISwitch (UISwitch is too inflexible to subclass), but rather a reimplementation that exposes all of the methods of UISwitch. In addition, it also provides access to its underlying on/off UILabels and other subviews.

mySwitch.onColor = [UIColor turquoiseColor];
mySwitch.offColor = [UIColor cloudsColor];
mySwitch.onBackgroundColor = [UIColor midnightBlueColor];
mySwitch.offBackgroundColor = [UIColor silverColor];
mySwitch.offLabel.font = [UIFont boldFlatFontOfSize:14];
mySwitch.onLabel.font = [UIFont boldFlatFontOfSize:14];

FUISwitch

Alert Views

Similar to FUISwitch, FUIAlertView is a reimplemenation of UIAlertView that exposes all of UIAlertView's methods (and delegate methods, with the FUIAlertViewDelegate protocol), but with far greater flexibility in UI customization. All of its child UILabels, UIViews, and FUIButtons can be customized at will.

FUIAlertView *alertView = [[FUIAlertView alloc] initWithTitle:@"Hello"
                                                      message:@"This is an alert view"
                                                     delegate:nil cancelButtonTitle:@"Dismiss"
                                            otherButtonTitles:@"Do Something", nil];
alertView.titleLabel.textColor = [UIColor cloudsColor];
alertView.titleLabel.font = [UIFont boldFlatFontOfSize:16];
alertView.messageLabel.textColor = [UIColor cloudsColor];
alertView.messageLabel.font = [UIFont flatFontOfSize:14];
alertView.backgroundOverlay.backgroundColor = [[UIColor cloudsColor] colorWithAlphaComponent:0.8];
alertView.alertContainer.backgroundColor = [UIColor midnightBlueColor];
alertView.defaultButtonColor = [UIColor cloudsColor];
alertView.defaultButtonShadowColor = [UIColor asbestosColor];
alertView.defaultButtonFont = [UIFont boldFlatFontOfSize:16];
alertView.defaultButtonTitleColor = [UIColor asbestosColor];
[alertView show];

NOTE: to create FUIAlertView instance in Swift please use default initializer s

let alertView = FUIAlertView()

FUIAlertView

Sliders/Steppers/Progress Views

To provide flat UISliders, UIProgressViews and UISteppers, we simply provide categories on UISlider/ProgressView/UIStepper to automatically configure their appearance with appropriate colors/corner radii. This makes for zero-friction integration with your existing project:

[mySlider configureFlatSliderWithTrackColor:[UIColor silverColor]
                              progressColor:[UIColor alizarinColor]
                                 thumbColor:[UIColor pomegranateColor]];

FUISlider

[myProgressView configureFlatProgressViewWithTrackColor:[UIColor silverColor]
                              progressColor:[UIColor alizarinColor]];

[myStepper configureFlatStepperWithColor:[UIColor wisteriaColor]
                        highlightedColor:[UIColor wisteriaColor]
                           disabledColor:[UIColor amethystColor]
                               iconColor:[UIColor cloudsColor]];

FUIStepper

Bar Button Items

To customize bar button items for your entire application (including back buttons), UIBarButtonItem+FlatUI provides a class method which leverages the UIBarButtonItem appearance proxy to do this in one step:

[UIBarButtonItem configureFlatButtonsWithColor:[UIColor peterRiverColor]
                              highlightedColor:[UIColor belizeHoleColor]
                                  cornerRadius:3];

FUINavBar

However, this might cause rendering issues with controllers that are pushed from actionsheets, sharesheets or links in webviews. To prevent this behavior, scope the customized bar buttom items to your controllers:

[UIBarButtonItem configureFlatButtonsWithColor:[UIColor peterRiverColor]
                              highlightedColor:[UIColor belizeHoleColor]
                                  cornerRadius:3
                               whenContainedIn:[YourViewController class]];

Navigation Bars

As above, we provide a category on UINavigationBar to configure it flatly with a single color:

[self.navigationController.navigationBar configureFlatNavigationBarWithColor:[UIColor midnightBlueColor]];

TableView Cells

You can modify the backgroundColor and selectedBackgroundColor of a UITableViewCell without losing the rounded corners. The cell will copy the UITableView's separator color. The separator height is exposed as separatorHeight and the radius as cornerRadius.

UITableViewCell *cell = ...;
[cell configureFlatCellWithColor:[UIColor greenSeaColor]
                   selectedColor:[UIColor cloudsColor]
                 roundingCorners:corners];

cell.cornerRadius = 5.0f; // optional
cell.separatorHeight = 2.0f; // optional

FUITableViewCell

Popover

Like some other flat components, we simply provide a category to automatically configure a popover appearance for iPad by only having to set a background color.

popover = [[UIPopoverController alloc] initWithContentViewController:nc];
[popover configureFlatPopoverWithBackgroundColor: [UIColor midnightBlueColor] cornerRadius:3];
popover.delegate = self;
[popover presentPopoverFromRect:button.frame inView:self.view permittedArrowDirections:UIPopoverArrowDirectionAny animated:YES];

Popover

Colors

For convenience, FlatUIKit includes the colors defined at Flat UI Colors. You can see examples of these colors in the code/components above. Using them is as simple as:

#import <FlatUIKit/UIColor+FlatUI.h>
UIColor *myColor = [UIColor turquoiseColor];

Fonts

FlatUIKit comes bundled with Lato, a clean, beautiful open font. More info on Lato can be found here. It is included in FlatUIKit automatically; you can use it as follows:

#import "UIFont+FlatUI.h"
UIFont *myFont = [UIFont flatFontOfSize:16];

Icons

You can now use the great icons provided by FlatUIKit in your app. The easiest way is to use a label, but I will be adding support to use them in buttons, ImageViews, and other conveniences.

#import "NSString+Icons.h"
UILabel *label = [...]
label.font = [UIFont iconFontWithSize:16];
label.text = [NSString iconStringForEnum:FUIHeart];

The icons follow roughly the same naming scheme as FlatUI, but you can look up the enumeration in NSString+Icons.h

Contributions

Contributions are totally welcome. We'll review all pull requests and if you send us a good one/are interested we're happy to give you push access to the repo.

flatuikit's People

Contributors

adamfraser avatar adamt avatar ale0xb avatar alexmedearis avatar andreamazz avatar bismark avatar damienklinnert avatar danielamitay avatar davidcollado avatar djbe avatar hebertialmeida avatar jack-stripe avatar jamieomatthews avatar jflinter avatar jmoody avatar khoogheem avatar kiranpanesar avatar liyanchang avatar maciekish avatar maranas avatar mattglover avatar mikaelbartlett avatar mortonfox avatar nealehardt avatar neilkimmett avatar niaeashes avatar nottombrown avatar readmecritic avatar roryokane avatar somedev avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

flatuikit's Issues

Change color of specific UIBarButtonItem

I'm loving this look so far. However I can't change the color of a specific uibarbuttonitem. There doesn't seem to be a way to do this. Any ideas?

I have my navigation buttons (which are fine with the current class methods) but I also had a camera scanning button to a navigationbar that stis below the default navigation bar. Is there any way I can change that specific buttons color?

Input UITextField on FUIAlertView

Hi and great kit! :)

There is a way to add textfield on the FUIAlertView?

like:
UIAlertViewStyleSecureTextInput,
UIAlertViewStylePlainTextInput,
UIAlertViewStyleLoginAndPasswordInput.

Ensure buttonIndex is the same as UIAlertView

It appears that when using FUIAlertView, the button index returned in alertView:clickedButtonAtIndex: is numbered the other way up to UIAlertView.

Where the cancel button used to come out as button 0, for example, it is now button 1 (when two buttons are defined)

Can this be made to work the same way around, so the code can more easily be dropped into existing projects?

FUIButton titleEdgeInsets changes are reset to default values

If you call setTitleEdgeInsets on an FUIButton, the new insets are lost when the button is clicked.

In FUIButton.m it appears that titleEdgeInsets is saved to "defaultEdgeInsets" when instantiated. "defaultEdgeInsets" is then later used in "setShadowHeight" to reset titleEdgeInsets. So, any changes to titleEdgeInsets made after instantiation are potentially lost and overwritten by default values later.

FUISegmentedControl resized when presenting modal view controller

After having presented a modal UINavigationController on top of a FUISegmentedControl, dismissing the view controller results in a quick resizing of the FUISegmentedControl. It becomes vertically compressed, and resizes back to its normal size after about half a second.

FUIButton resizes to wrong size in iPad

I have tried several technics to avoid the resize of a FUIButton on iPad, with no success.

UIImage resizableImageWithCapInsets:resizingMode: method doesn't help, when creating the background images.

Unrecognized Selector

For the past 3 hours, I have been miserably failing in implementing this beautiful library.

Using storyboards, I create an FUIButton,
@Property (weak, nonatomic) IBOutlet FUIButton *randomProxyButton;

However, FUIButton does not come up in the list. I hit connect, and make the outlet. Xcode then recognizes FUIButton as it turns the type of the object to turquoise.

At the top, I import the following:

import "UIColor+FlatUI.h"

import "UISlider+FlatUI.h"

import "UIStepper+FlatUI.h"

import "UITabBar+FlatUI.h"

import "UINavigationBar+FlatUI.h"

import "FUIButton.h"

import "FUISwitch.h"

import "UIFont+FlatUI.h"

import "FUIAlertView.h"

import "UIBarButtonItem+FlatUI.h"

import "UIProgressView+FlatUI.h"

import "FUISegmentedControl.h"

import "UIPopoverController+FlatUI.h"

But, when I attempt to set an attribute via:
self.randomProxyButton.buttonColor = [UIColor turquoiseColor];

I run, and the application crashes, yielding the following error:
[UIRoundedRectButton setButtonColor:]: unrecognized selector sent to instance 0xfd36d30
*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[UIRoundedRectButton setButtonColor:]: unrecognized selector sent to instance 0xfd36d30'

If anyone has some insight as to what may be wrong, that would be greatly appreciated.

Thank you so much.

cell.separatorHeight trouble

cell.separatorHeight = 2.f; causing randomly unequal gap between cell

ios simulator screen shot jun 27 2013 12 32 15 am

cell.separatorHeight = 0.f; seem to solve problem, may be something not right there? or may be just me?

Thanks

FUIButton using Storeboard

Hi, When I use Storyboard, I can't make a connection between an Button in Interface Builder and FUIButton. But If I change FUIButton to UIButton, I am able to wire them. However, the app crashes and the warning is it can't find the selectors which are in FUIButton class. Would you let me know what I have done wrong? I did play around the demo project, it was OK when using xib.

FUIAlertView is not resized on rotation

Hey,

Using the following:

FUIAlertView *alert = [[FUIAlertView alloc] initWithTitle:@"Lorem Ipsum" message:@"Dolor sit amet" delegate:self cancelButtonTitle:@"Cancel" otherButtonTitles:@"Continue", nil]; [alert show];

If you rotate the device when the UIAlertView is still on screen, the overlay and the alert itself is not resized.

Error With [UIImage imageWithColor:cornerRadius:]

I call the following, as stated in the readme

[self.navigationController.navigationBar configureFlatNavigationBarWithColor:[UIColor clearColor]];

But an exception is raised on line 15 of UINavigationBar+FlatUI.m

[self setBackgroundImage:[UIImage imageWithColor:color cornerRadius:0]
           forBarMetrics:UIBarMetricsDefault & UIBarMetricsLandscapePhone];

+[UIImage imageWithColor:cornerRadius:]: unrecognized selector sent to class 0xdd5c54

Is this an error with FlatUIKit?

How do I fix this?


I checked in the debugger, and my navigationBar does exist

UITableViewCells not selectable

I'm trying to create a tableview that segue's to a new view controller when the cells are pressed. When I use the dequeueReusableCellWithIdentifier method, it works fine, but when I use a FlatUiKit table view cell the cell highlights, but the new scene isn't pushed. I'm going to investigate further.

IOS7 white highlight

Hi,

On IOS7 button have a white fill on hightlighted state.
Not so ugly but it must be report here.

i have a advice about FUIAlertView addButtonWithTitle:

The addButtonWithTitle: method should not add a button when the title is nil. Because when i'm customizing a FUIAlertView , a blank button will always show at index of 0, just because i'm passing nil to cancle title.

thx

Navigation buttons have drop/inner shadow

First of you did awesome work here!

But to improve the flat look I would suggest to remove drop/inner shadow from navigation buttons or navigation titles. With all the flat font colors this doesn't look very flat to me.

Ömer

UIActionSheet?

Hey Guys,

Love FlatUIKit! I was wondering if there are any plans to add a flat UIActionSheet component? If not, I'd love to try my hand at adding one if you think it would be a good addition.

Thanks!

Kyle

FUISwitch doesn't behave like UISwitch

The custom FUISwitch is not the exact equivalent of using UISwitch since it will send the UIControlEventValueChanged even when setting on by hand.
The regular UISwitch sends the event just when tapped or panned, while the FUISwitch sends it also when programmatically set.

Remove Styling

I have another case where I actually need to remove the button styling? Is there an easy way to accomplish this?

Configuring UITableViewCell fails when cell comes from [tableView dequeueReusableCellWithIdentifier:forIndexPath:]

I noticed that when UITableViewCell comes from [tableView dequeueReusableCellWithIdentifier:forIndexPath:] instead of [tableView dequeueReusableCellWithIdentifier:] (which is used in your code example), the configuration [UITableViewCell configureFlatCellWithColor:selectedColor:style:reuseIdentifier:] will fail. It appears as nothing happened. However, if I use the latter dequeue method, it works properly.

Is that a tiny bug or it is designed this way? I am a little bit confused.

shadow of different color at the edge of rounded corner button

I found a bug when I created FUIButton with these details

FUIButton *theLoginButton = [[FUIButton alloc] initWithFrame:CGRectMake(200, 400, 100, 40)];
self.loginButton = theLoginButton;

[self.loginButton setTitle:@"Login" forState:UIControlStateNormal];
self.loginButton.buttonColor = [UIColor peterRiverColor];
self.loginButton.cornerRadius = 3.0f;
self.loginButton.titleLabel.font = [UIFont boldFlatFontOfSize:16];
[self.loginButton setHighlighted: NO];
[self.loginButton setTitleColor:[UIColor cloudsColor] forState:UIControlStateNormal];
[self.view addSubview:self.loginButton];

In output, I found a different color shadow outside the edge of corners.

Buttons are fine with press animation, but I wanted only flat buttons without animation.

Thanks,
Neetin

Several unused variations of Lato are included

UIFont+FlatUI.m only explicity uses the following fonts:

  • Lato-Regular.ttf
  • Lato-Bold.ttf
  • Lato-Italic.ttf

However these font files all go unused (in the Resources directory):

  • Lato-Black.ttf
  • Lato-BlackItalic.ttf
  • Lato-BoldItalic.ttf
  • Lato-Hairline.ttf
  • Lato-HairlineItalic.ttf
  • Lato-Light.ttf
  • Lato-LightItalic.ttf

removing text shadows off all bar button items

You have this comment in UIBarButtonItem+FlatUI.h

// removes the text shadows off a single bar button item (sadly, this can't be easily done for all buttons simultaneously)

  • (void) removeTitleShadow;

...but it is possible with...

[[UIBarButtonItem appearance] setTitleTextAttributes:@{ UITextAttributeTextShadowOffset : [NSValue valueWithUIOffset:UIOffsetMake(0, 0)]} forState:UIControlStateNormal];

Files missing when added through Cocoapods

Files:
FUICellBackgroundView.h
FUICellBackgroundView.m
UITableViewCell+FlatUI.h
UITableViewCell+FlatUI.m

are missing when I add FlatUIKit as a pod (pod 'FlatUIKit').

Everything breaks on iOS7

Navbar buttons, segmented controls, popovers. Even the example breaks on iOS 7. I obviously can't say too much. But, this obviously needs to be fixed.

Problem with UIColor+FlatUI blending

Dragging or tapping a FUISwitch crashes the app when it calls

[blendedColorWithForegroundColor:(UIColor *)foregroundColor
                          backgroundColor:(UIColor *)backgroundColor
                             percentBlend:(CGFloat) percentBlend]

Debugger gives:

"-[__NSCFArray getWhite:alpha:]: unrecognized selector sent to instance. *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[__NSCFArray getWhite:alpha:]: unrecognized selector sent to instance 0x1fdad9c0'"

Segue not triggered in tableView

I have the below code and i am able to see the appropriate theme assigned to the table, and selecting a cell in the table is triggering the didSelectRowAtIndexPath correctly but however it is not triggering a segue automatically (I am using this is a master view of a split view controller) and in the original tableView usage the seque was triggered..
I worked around it by manually calling performSegueWithIdentifier from the didSelectRowAtIndexPath method so it worked out ok (I am fairly new to ios programming so not sure if this is expected way or an issue )

UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"Cell" ];

cell = [UITableViewCell configureFlatCellWithColor:[UIColor greenSeaColor]
selectedColor:[UIColor cloudsColor]
style:UITableViewCellStyleSubtitle
reuseIdentifier:@"Cell"
];
cell.cornerRadius = 5.0f; // optional
cell.separatorHeight = 2.0f; // optional

//When i originally used the regular tableView i used the tableView dequeueReusableCellWithIdentifier:forIndexPath: though.

Missed files on "Cocoapods"

When use this framework (nice work!) with cocoapos for some reason 4 files aren't downloaded.
UITableViewCell+FlatUI.h / .m
FUICellBackgroundView.h / .m

iOS 5 Compatability

Am I under the correct view that this will not work with iOS 5? Is there any chance iOS 5 computability can be implemented?

Error throw when click Plain Table button

From current example didn't touch anything

2013-08-14 22:04:02.487 FlatUIKitExample[548:c07] *** Assertion failure in -[UITableView _configureCellForDisplay:forIndexPath:], /SourceCache/UIKit_Sim/UIKit-2380.17/UITableView.m:5471
2013-08-14 22:04:02.490 FlatUIKitExample[548:c07] *** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'UITableView dataSource must return a cell from tableView:cellForRowAtIndexPath:'
*** First throw call stack:
(0x13cf012 0x11f4e7e 0x13cee78 0xc8a665 0x1eec1b 0x18340c 0x1eea7b 0x1f3919 0x1f39cf 0x1dc1bb 0x1ecb4b 0x1892dd 0x12086b0 0x2da0fc0 0x2d9533c 0x2d95150 0x2d130bc 0x2d14227 0x2d148e2 0x1397afe 0x1397a3d 0x13757c2 0x1374f44 0x1374e1b 0x184b7e3 0x184b668 0x138ffc 0x1d4d 0x1c75)
libc++abi.dylib: terminate called throwing an exception

No one got this error? only me?

FUIAlertView doesn't show after modal view controller dismiss

Hi,
I found that FUIAlertView doesn't show after [view dismissModalViewControllerAnimated:YES] ,so I looked into show method and found that topController still be view after it dismissed.
I thought it's a bug since the UIAlertView works just fine.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.