An open API service indexing awesome lists of open source software.

https://github.com/alexeyraspopov/shannon

Stay tuned
https://github.com/alexeyraspopov/shannon

Last synced: 7 months ago
JSON representation

Stay tuned

Awesome Lists containing this project

README

          

# Shannon

A JavaScript Library. Provides communication flow for your program systems.

Inspired by ["A Mathematical Theory of Communication"][1].

## Why?

Data management layer and view layer can be rewritten with new library, but communication flow will be the same.

## Ideas

* Functional infrastructure
* Unidirectional data flow
* Declarative style

## Questions

* What I'm trying to build?
* What types of web pages will be supported by Shannon? (content pages, statefull apps)
* How many instances can app has to stay simple? (2, 3)
* How can we describe a protocol in communication system between app and user?
* What about 3rd party libs for rendering and data persistance?
* How can we manage a complex state of systems?
* Is it possible to use only attrs for dynamic components?
* Is it possible to abstract store instance to server implementation?
* We need some way to distinguish type of communication between components (react or interact).
* Can we reuse whole app screen as a component?
* We should have [explicit][6] state management
* State management based on client's events is simply [reducing initial state](https://github.com/staltz/mvi-example/blob/master/src/models/items.js)

## License

MIT License

[1]: http://cm.bell-labs.com/cm/ms/what/shannonday/shannon1948.pdf
[2]: http://www.eden-study.org/articles/2006/abstraction-classes-sw-design_ieesw.pdf
[3]: http://conal.net/papers/push-pull-frp/push-pull-frp.pdf
[4]: http://shaffner.us/cs/papers/tarpit.pdf
[5]: http://en.wikipedia.org/wiki/Control_theory
[6]: https://www.youtube.com/watch?v=5yHFTN-_mOo