What are some developer resources for building on the Internet Computer?

An extensive list of developer documentation, tools, and other resources for creating projects on the Internet Computer.

Start Here

 

Hackathon Workshop Recordings on Youtube

 

If You Need Help

  • DFINITY Developer Discord: This is the official DFINITY Developer Discord, where experienced developers can help troubleshoot you. You can use #general for general discussion, #find-a-team to find potential team members, #help for general questions, and #debugging for development questions
  • Developer Forum: This is the official DFINITY Developer Forum, where you can find previous threads and help troubleshoot technical questions

 

Backend

 

Frontend

 

Mobile Devices

If you want to build a native app for a iOS or Android that can be distributed by the App Stores instead of a web app, then you need to either create a dedicated app for each platform or use a framework to create a universal native app. Here are some suggestions to get you started.

  • Flutter (iOS, Android): You can build a universal app with the Flutter framework and the Dart programming language by using the Dart Agent
  • Ionic (iOS, Android): Ionic allows you to build your cross-platform app using different JavaScript UI frameworks (React, Vue, Angular). This means you can use agent-js to interact with the IC. Your app will essentially run in a web view but can access the native platform through Capacitor
  • React Native (iOS, Android): Although React Native apps are written in JavaScript or TypeScript and DFINITY actively maintains a JavaScript agent, there are a few roadblocks in building IC clients with React Native. Check out a starter project and a description of the limitations. More information can be found in the Developer Forum. If you’re interested in solving these issues, check out the open bounty on ICDevs.
  • Java/Kotlin (Android): You can build a native Android app in Java or Kotlin with IC4J. The documentation has a section on Android Development and there are code examples available (Hello World, Loan Client)
  • Swift/Objective-C (iOS): Currently there is no agent implementation in Swift or Objective-C.

 

Identity & Authentication

 

Community Wallets & Authentication Providers

 

General Tutorials

 

Code Samples - Github

 

Blogs

  • IC Developer Blog: DFINITY Developer Kyle Peacock has a helpful blog with tutorials & best practices

 

Tools

  • The Internet Computer Dashboard: A dashboard / explorer for the Internet Computer network
  • Fleek: Netlify for the open web created by Harrison Hines, former Consensys alum, & his team
  • Plug: Browser-based wallet extension created by Harrison Hines, former Consensys alum, & his team
  • Vessel Package Manager: A simple package manager for the Motoko programming language.
  • Motoko VS Code Extension: Syntax highlighting for the Motoko programming language in VS Code.
  • Cycles Wallet: A wallet UI for cycles (equivalent of gas with Ethereum)

Updated