Intro
Most successful software frameworks are providing tools to quickly generate and run a base application, that can be extended by the developers. E.g. npm, JHipster, Spring, Android, etc..
Motivation
A common typical question asked by community members is "How can we quickly build a simple application running on the Cardano blockchain?", e.g. https://cardano.stackexchange.com/questions/7584/is-there-a-cardano-quickstart-application/7608#7608
At the moment of writing seems that there is no simple answer to this question.
We believe that having an extensible framework that can generate a minimal application with a few possible options would be beneficial in order to
- increase adoption: by lowering entry barriers
- increase market penetration: by increasing the number of applications running on the blockchain
The earlier we deliver this framework, the bigger is the overall increase of value for the community.
Concept
A generic framework for DApps can be reused by other developers to quickly startup their projects. It will increase the number of projects in the ecosystem and capture the attention of other teams who might be interested in reusing and modifying the framework.
All that we need is to build an Open Source extensible framework for generating various types of dAPP boilerplates, e.g. CLI applications, Web applications, etc.
While generating, there will be different possible choices for generation depending on the context. e.g.:
- Web application
- Native CLI
- selection of a simple contract
- integration with state channels
- Admin Dashboard
- Wallet Integrations
- Single transaction
- Blockchain query
- Dandelion API samples
- Blockfrost API samples
- WebAssambler and Cardano Serialization Library samples
- Sample Wordpress plugin
Increase the number of DApps available on the ecosystem, build a community of users of the framework. Build a community of developers who want to improve the framework. The framework should then be used by other projects.
Main risks
- all the applications generated must be kept updated over time
- absence of a clear solution for a state channel, that is needed to have fast response time and no fees needed by several projects, e.g. applications where the users interact with each other and expect high speed, low latency, and low (or zero) fees.
De-risk
- A possible de-risk about keeping the solution updated is about re-propose this proejct, when needed or ask support from the community
- A possible solution related to the state-channel risk is considering different solutions for implementing a state channel, e.g. https://cardano.ideascale.com/c/idea/405072