kitze / voice-command-list

Temporary repository for the voice-command-list project.
http://ok-google.io
88 stars 1 forks source link

Overengineered #3

Closed lucianmarin closed 8 years ago

lucianmarin commented 8 years ago

Your project could have been a simple HTML page and a touch of CSS and JavaScript.

Instead I see things like react, redux, reselect, aphrodite, material-ui, stylz, redux-form, react-helmet, webpack, faker, lodash, moment. Seriously?

mitchellspangler commented 8 years ago

But where is the fun in that?

ba3r commented 8 years ago

This 1.6MB beast includes multiple language models for generating sentences and I'm not sure why.

kitze commented 8 years ago

When i will open source the code soon you will see that it's not so simple. Ok let me explain the technology stack.

React is rendering the view, redux is managing the state (if drawer is opened/closed, searchbar is opened/closed, current text in search, current visible items, etc), reselect is there for performance improvements over redux, aphrodite is used for styling (instead of inline styles, sass, or css-modules), stylz is my own library for js mixins (so you don't have to repeat yourself writing the same css over again), redux-form is used for managing the search field but it can probably be excluded, react-helmet is for managing the document head, webpack is the build tool, faker is a randomizer library for generating random countries, names, emails etc, lodash is js utility library and moment is a js date library.

I don't plan to reinvent the wheel and rewrite the features inside each of this libraries/frameworks with vanilla js or jquery just to "feel oldschool" and live by the "pure html+css+jquery forever" moto, so the usage of every single one of them is justified.