Reimagining Frontend Development on the IC
Apr 04, 2021
It's been a while since I posted my first writeup on getting started on the Internet Computer. About three months, actually. Could I have written up a few more posts in that time on how I was figuring out the ins and outs of building IC web apps? Sure I could. However, I was convinced that nothing I wrote would ultimately be what I wanted to recommend to the world in general, because I could see a game-changing new technology on the horizon. Thanks to the efforts of the Dfinity Developer Experience team, that new experience is what I'm happy to announce to you today!
My official announcement is posted here: Dfinity Forum - it covers some of the same things I'm saying here, but is still worth a read!
Also check out this writeup from another SDK team member on the architecture of our solution: Technical Overview.
Announcing Improved Asset Canisters
When you first learn how to build a website, the building blocks all start in a pretty similar way. First, you create an
Until now, building on the IC, we provided you with one
A familiar view of static assets in a VSCode editor
With the upgraded asset canister, we are giving engineers the freedom to use their own HTML, images, and whatever arbitrary content they want their canister to provide over standard HTTP requests.
We have unblocked using whatever JavaScript bundler you like, any library or framework you choose, and are no longer even assuming that you'll want to communicate with a smart contract on the IC. An asset canister can now be as unopinionated as a hosting target as a generic Nginx or Express server.
Deprecations
In order to make this possible, we had to walk back the work we were doing to set you up with an anonymous identity. This means that
We provide you with the basics of how to get started with the new
It's been a busy week, so that's about all I'll get to today, but soon I'll follow up with my revised guide on getting started doing frontend development on the IC.
Postscript
I almost forgot! I'm taking ownership of those NPM packages now. There are lots of improvments to look forward to, but my focus will be on improving our documentation for now.
The new docs are hosted as static websites on the IC, which I think is pretty neat.