As Web3 development will likely take off in 2022, we took a moment to prepare this list of Web3-specific tools for dApp development of tomorrow. With that being said, there are not many libraries, and frameworks, devoted only to this purpose. Conceptually, development of Web2 frontends, and Web3 is not much different despite all the obvious differences. One still needs to develop a front-end. One still needs a back-end, which has the same aim. Database is still a necessity because if you store everything on the main chain, you can easily go bankrupt before Eth2.
With this short intro, we may now begin introducing you to all the specific frameworks and libraries.
It was the first package to have appeared on the scene to interact with Ethereum’s chain. As such, it has a clear first mover advantage; since it was available for much longer, developers had more time to prepare educational materials.
Built by the Ethereum Foundation
The first one to appear on the scene
Bulky. Nearly 600 kB while minified, and gzipped.
Only a small part of it is written in TypeScript
Requires a local Ethereum node running
You will run into issues when using Angular >11 (though they are easily fixed)
The complete development environment for developers, getting them from “from idea to d[A]pp as comfortably as possible.” It is the more popular out of the two environments for developers, the other one being Hardhat. Even though stars on GitHub don’t mean much, they are a good indicator of how many resources can one expect to find.
Web3-specific deployment options are not battle-tested — yet. ipfs.js is in alpha, while Bee-js (that connects to Swarm) is in beta. It is a certainty, that they will mature, though it is not clear when will this happen. Because of this, we will not be talking about them. Here, you may use the good old Vercel for deployment that's as easy as typing a command into your terminal. Naturally, AWS, Azure, and Firebase will also be perfect for the job.
If you want to give the Web3-specific options a shot, ifps.js’s GitHub repo is available here, while Bee-js’s source code is available under this link.
As far as UI goes, you may use whichever framework you are the most comfortable with. React, Vue, or Angular, all will work here. Svelte, Inferno, or Solid are viable as well, though the default choice, for now, is React. The library sees a lot of usage, though also has numerous prebuilt options for you, that offloads the cognitive load from you. One example is useDApp.
360° IT Check is a weekly publication where we bring you the latest and greatest in the world of tech. We cover topics like emerging technologies & frameworks, news about innovative startups, and other topics which affect the world of tech directly or indirectly.