Giter Site home page Giter Site logo

tramleit / mix Goto Github PK

View Code? Open in Web Editor NEW

This project forked from conceptadev/mix

0.0 0.0 0.0 48.97 MB

An expressive way to effortlessly build design systems in Flutter.

Home Page: https://fluttermix.com

License: BSD 3-Clause "New" or "Revised" License

Shell 0.03% JavaScript 3.14% Dart 90.66% TypeScript 5.98% CSS 0.18%

mix's Introduction


GitHub stars Pub Version Likes Pub points Github All Contributors MIT Licence Awesome Flutter

Build Flutter design systems expressively and effortlessly. Mix offers primitive building blocks to help developers and designers create beautiful UI with confidence.

Important

Mix is currently being used internally to build design systems in Flutter.
It is still in heavy development. Major APIs are expected to change until the 1.0 release.

Motivation

Flutter favors composition over inheritance when building widgets. This choice keeps Flutter API extremely easy to interact with and powerful.

However, in our experience, both inheritance and composition are essential when defining presentation attributes. Themes are an excellent example of inheritance but are not extended across all visual properties.

When building a design system, it can be challenging to develop and maintain a consistent UI that shares the same design language for widget variations or across different widgets within the design system.

Maintaining a design system is much harder than building it.

Goals

Provide simple API to compose design and layout attributes for widgets. That can easily be extended, overridden, and combined; we call this a Mix.

  • Visual attributes should be defined outside of a BuildContext by a composable API shared across the design system.
  • Style consistently with a global context
  • Allow to respond to changing requirements quickly
  • Create adaptive designs and layouts with ease

Principles

  • Abstract Flutter API, and not modify its behavior.
  • Development efficiency is gained by the ease of use, consistency, and reusability, not coding speed.
  • Composability should be a priority. Mixes, Attributes, Widgets, etc.
  • Designer friendly (use simple standard semantics when possible).

Usage

Simple Mix

import 'package:mix/mix.dart';

final style = Mix(
  height(150),
  width(150),
);

// Use in a Box widget
Box
  mix:style,
  child:Child(),
);

Read our docs for more information

Contributors โœจ

Thanks goes to these wonderful people (emoji key):


Leo Farias

๐Ÿค” ๐Ÿ’ป ๐Ÿ“–

Bruno D'Luka

๐Ÿ’ป

Rick Berger

๐Ÿ“–

Souvik Biswas

๐Ÿ–‹ โœ…

This project follows the all-contributors specification. Contributions of any kind welcome!

mix's People

Contributors

leoafarias avatar bdlukaa avatar rickbsgu avatar solido avatar

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.