Developers looking to build with Polymesh, take note! Here are 4 things you might want to learn before building on or integrating with the Substrate-based blockchain.
The new year brings new projects, and for developers, new projects mean new tools and resources to discover. With the number of tools used in the industry constantly growing, it can be overwhelming figuring out what to learn first.
While it’s important for developers to be up-to-date with the latest tools and platforms used in the industry, it’s just not practical to keep up with everything. Instead, developers should focus on those tools and platforms that have the most impact on their daily tasks, or can assist them in growing in their desired direction.
Here we compile a few key items that Polymesh developers will be deepening their knowledge of in 2022.
Developers looking to work with Polymesh, take note! If you want to integrate with or build dApps for Polymesh, you might want to learn these 4 things too.
In the new year, Polymesh developers will be looking to learn more about Substrate, which sits at Polymesh’s core as the library the blockchain is built on.
Substrate is a modular and flexible blockchain framework. It’s what allowed our developers to implement Polymesh’s key pillars– governance, identity, confidentiality, compliance, and settlement– in a granular manner, giving us greater control over the blockchain’s customization.
Interoperability is another key defining feature of Substrate. Along with its customizable and predefined tools, Substrate also provides adaptable chains by design. With many other blockchains utilizing, testing, and sharing the same core code and logic, the Substrate codebase improves in quality and gradually gains a higher level of security.
That’s another one of the great things about working with Substrate– the openness of the community. There’s as many as 100 companies building on the framework, but there’s an overall feeling of community and collaboration instead of competition. Developers working on Substrate-based projects are often willing to share and learn from each other to advance blockchain development as a whole.
As the Substrate framework was used in the development of the Polymesh Wallet and Polymesh SDK, learning Substrate mechanics opens the door to using other tooling libraries central to Polymesh. For the Polymesh SDK, it provides an easier-to-use interface for the Core features. For the Polymesh Wallet, it provides important management of Polymesh Accounts and Identities.
Most popular libraries are now published with TypeScript definitions, so gone are the days when every new dependency required a typed wrapper.
The Polymesh SDK works with TypeScript natively. This means developers wanting to integrate with the Polymesh network can use TypeScript and will always know exactly what every function call will take and return.
Polymesh developers primarily use React for all of our dApps, but are beginning to transition to Next.js for certain projects, especially ones where Search Engine Optimization (SEO) is relevant.
There are a number of ways to optimize a React application for SEO, one of the main ones being Server Side Rendering (SSR). Nonetheless, it can be a challenge to set this up from scratch on a traditional Create React App project. In contrast, Next.js supports multiple types of rendering strategies right out of the box, making SSR much easier. It also introduces other types of optimizations for SEO that are much simpler, since it has a convention-over-configuration approach and numerous documented guidelines.
With the recent release of Next.js 12, things are even more exciting. The newest version ships with a Rust compiler, which significantly speeds up hot module refresh and build times. Additionally, although currently only experimental, through concurrent features of React 18 it also allows for Server Side Streaming and Server Components. This gives the ability to render everything on the server, including components themselves.
When it comes to developing dApps for Polymesh, engineering teams have full discretion over which front-end technologies to choose. While we wouldn’t say Next.js is strictly necessary for developers looking to build dApps for Polymesh– in actuality, Polymesh is completely agnostic when it comes to front-end technologies– we do think it’s worth considering for those seeking the most optimization for SEO.
When building Polymesh, our team really got their hands dirty with Rust, the programming language used in Substrate. Rust is the most popular language among programmers and is especially renowned for its reliability and productivity.
Still, that’s only one side of the moon. While knowing Rust isn't particularly crucial for front-end developers at the moment, it’s incredibly useful as a niche programming language that enables particularly high performance and memory management. Eventually the Web will need better performance, so what’s to lose in learning Rust?
One reason for Rust’s popularity is that it can be used for compiling to WebAssembly (WASM) to integrate it with a workflow. WASM is a binary instruction format that promises near native performance and allows developers to write high-level applications in multiple programming languages, including Rust.
Learning a system-level language like Rust helps developers write applications with the best Web performance possible since WASM speeds up web browser code execution to nearly native speed.
Knowing Rust will be particularly helpful when it comes to creating smart contracts on Polymesh that are efficient and fast. This is because it’ll be imperative for developers of smart contracts to work with WASM, since that’s where they’ll initially be enabled.