Giter VIP home page Giter VIP logo

layoutr's People

Contributors

matuella avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

layoutr's Issues

Built-in layouts without so much copy-pasting

All built-in LayoutResolvers are almost copy-pasted, they all have REALLY similar tests, documentation and the code/logic itself - but are kind-of hard to abstract due to the type-safety provided by each.

The first alternative that comes to mind is to code-gen these, but I personally don't like code-gen, but if enough evidence is shown, that it indeed improves this package quality, we could look into it.

The other alternative that comes to mind is highly coupled with the mirror features that dart could improve in the near future, but is not at the point yet (it's basically the same problem that packages like mockito, built-value and auto-router face, which is also realted to the first alternative, the code-gen solution.

I still think there might be some space for other solutions, although I'm still not sure how.

Note: maybe CommonLayout and GranularLayout should be enough for most cases (and people can still implement the LayoutResolver on their own), but I still think that this is a problem that may increase as this package's lifespan expands, like if adding new built-in resolvers, or simply adding new functionality/fixes to each of them.

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.