A presentation at IPFS Weekly Community Call by Boris Mann
IPFS COMMUNITY CALL MARCH 2020
W H AT I F F R O N T E N D C O D E WA S A L L YO U NEEDED? • Front end is never going away • Browsers keep getting more powerful • New public infrastructure • Rise of edge computing
WEB APPS ARE HARD • Multiple specialities = big teams & more coordination • Front End • Back End • DevOps • Lots of boilerplate • Data security and access control are hard • Deployment in 2020 is super complex
WEB NATIVE APPS • Integrated framework for self-contained “web native” apps • Hosted services for a batteries included experience • Convenience, deployment pipelines, “it just works” • Features for Developers • User Accounts with Data Privacy • Passwordless Login & Authentication • Modern App hosting, DNS, CDN • Access Control & Encryption
Like native apps for the web: self contained, user-controlled data, client-side compute, etc. + Compute Identity Storage
W E B N AT I V E 🚀 build an entire app while offline on a plane, create the first user account locally, and have it be “deployed” by connecting to the Internet when you land • Should work in all browsers, including mobile, without plugins Global Storage Models/DB Packages PubSub Event Sourcing Deploy / Host DNS ID & DID Digital Scarcity • You should be able to ⚙λ 🔐 Payment Ownership Revokable ACLs Time Verifiability Portable Compute WEB NATIVE Static Assets 💻 Front End 🏢 FaaS Local Compute MPC
B U I LT S O FA R • Web API • RESTful API for IPFS • Heroku Add-on • DNS Automation • CLI • Devs install IPFS locally • Signup, login, can all be done in the CLI • fission up Go try it! guide.fission.codes
fission up
NEXT UP • Public/Private Key based accounts • Accounts can add Apps, Apps can have Domains — APP.fission.app • Encryption • Web Login • Fission File System
IDENTIT Y • Built on public-private key cryptography • WebAuthN now widely supported in browser (including mobile) means passwordless login • W3C is standardizing Decentralized IDs and Verifiable Credentials • JWT Auth and macaroons • More: whitepaper.fission.codes/identity (we probably shouldn’t call this identity, rather authorization + authentication)
FISSION FILE SYS TEM • Store the current DAG hash in DNS, eg. boris.fission.name • Default user file tree, encrypted except for Public folder • Docs • Images • Music • Apps • Shared • Public
FISSION DRIVE Go try it! drive.fission.codes • Our own app for end users: early adopters and developers • Documents: files, screenshots, photos, music, etc. — dotfiles? • App data: per-app storage under user control — add apps to your Drive, give them permission to access your files, all client-side
FISSION DRIVE • Preview release works with any public IPFS files • Coming: • Private files • Password-less login
FISSION DRIVE
CORE IPFS • fission-suite/get-ipfs: • npm package to load an IPFS instance into a web-page • Like ipfs-shipyard/ipfs-provider, but we use ES6 syntax (and built it around the same time!) • fission-suite/ipfs-haskell • Haskell package to work with local IPFS node or remote through http interface • go-ipfs feature: “ipfs ignore” • We currently manage this in the Fission CLI directly (e.g. .env, .ssh, .fission.yaml are default ignores) • PR in progress to hopefully get this added upstream
INTEGRATIONS • Work with existing Web2 apps • Provide many ways to “ingest” files into IPFS • Make IPFS files re-usable • Cached everywhere • Sync • Manage on desktop
HEROKU + GHOST + IPFS • One click Deploy to Heroku: fission- suite/heroku-ipfs-ghost • Ghost Storage Adapter: fission-suite/ ghost-storage-adapter-ipfs • Uses Fission’s Heroku add-on
DISCOURSE • Discourse plugin: fission- suite/discourse-ipfs-filestore
T H A N K YO U ! Github: fission-suite Discourse forum: talk.fission.codes Install Guide & Docs: guide.fission.codes Discord chat: fission.codes/discourse Technical Whitepaper: whitepaper.fission.codes 🚧 ‘✍ Twitter: @fissioncodes, @expede, @bmann, @icidasset, @dholms on Github
G E T S WAG ! ! ! swag.fission.codes
View Fission - Building Web Native Apps on Notist.
Dismiss
Presented at the IPFS Weekly Community Call
The following resources were mentioned during the presentation or are useful additional information.
Get started using our CLI