Developer Journey: Feedback and discussion

Hello everyone,

Today, we’re excited to launch the Internet Computer Developer Journey tutorial series. This series contains written documentation and corresponding video tutorials that are designed to give both new and existing developers a clear learning path to develop on the Internet Computer.

Starting at level 0 with an introduction to the Internet Computer, terminology, and setting up a developer environment, to level 5 that details building complex dapps, the Developer Journey contains essential information for developers of all skill levels.

Please feel free to use this forum post as a place to provide feedback on the series, ask questions, and connect with other developers on their developer journey!

23 Likes

@Jessie,

It is wonderful to see DFINITY build a unified set of learning resources to get a developer from newbie to expert, or at least comfortable writing software for the Internet Computer. Now the only way to learn is to go through the docs, blog posts and presentations such as the Motoko Bootcamp.

I did notice a major gap though, there is no coverage of Rust at all. Rust is the most loved computer language 8 years in a row in StackOverflow:

Rust is also one of the most used languages, very close to the Go language on many surveys, and popular among people who want a C / C++ alternative, and it is also heavily used by the DFINITY developers who are building this blockchain.

Please do add a plan to cover Rust for the IC, many developers will come from that background. Rust also opens unique opportunities for DAPP developers, such as using stable storage similar to a small database by using Stable Structures.

I noticed you use Space Cadet, Explorer, Engineer, and Pilot for the Motoko / IC learning levels. I suggest you keep those, they sound cool and welcoming; just have two tracks one for Motoko and another for Rust.

Thanks for this good news for the developer community!

5 Likes

Hi @josephgranata ,

Thank you for your input! You’ll be glad to know that there are plans to do a Rust ‘track’ in the future, as well as tracks for BTC developers, ETH developers, and other more focused variations.

5 Likes

Great news @Jessie!

As a soft way to remind the team to do so, I would suggest adding a track for Rust on the plan you already did here:

That way anyone discovering the page will know Rust support is coming in the developer journey, it will also make it obvious where the Rust pages are not available, I noticed there is much more hand holding and help for Motoko than Rust as of today.

My personal journey as a developer started with Motoko, but I am increasingly going more and more to Rust because I find more tools there, and it is easier to build our DAPP in Rust, many key features need Rust. If there had been resources for Rust from day one our level of skill would be much higher :wink:

Still we are very grateful for all that wonderful Motoko content, it is a beautiful language too.

2 Likes

That’s a great idea, I will add info about the future tracks, including the Rust track, to the overview. I’m the primary contributor to the Developer Journey series currently, so I’ll go ahead and make those additions in my next update.

Could you share some of the key features that your dApp needed that were better supported in Rust? I want to make sure that when I begin writing the Rust track I am covering these aspects of the Rust development workflow.

2 Likes

Sure, there are two features that are easier in Rust:

Those are the main two for us.

5 Likes

It would be nice to see more in depth guides on how to launch an icrc-1 token, including logo on the IC. Make a YouTube video for dummies, I’m surprised this hasn’t been done yet, including a way to launch tokens easier ( a dapp for launching icrc-1 tokens )

Hi @memetics ! I’m happy to share that how to launch an ICRC-1 token is part of the Developer Journey in the Level 4 section here, which will have a corresponding Youtube video to walk you through everything :slight_smile: .

3 Likes

Looking forward to the video content

Hello :slight_smile: While tryong to install the package on Debian 10 I have received this info:
root@v2202302190634220118:~# dfx --version
dfx: /lib/x86_64-linux-gnu/libm.so.6: version GLIBC_2.29' not found (required by dfx) dfx: /lib/x86_64-linux-gnu/libc.so.6: version GLIBC_2.29’ not found (required by dfx)
dfx: /lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.26’ not found (required by dfx)

Could you pls assist?
Thank you!

1 Like

Hi again, already solved - reinstalled Debian and now working :slight_smile:

1 Like

Hi Jessie, looks like the video series stops at 1.2 is there any news when any new tutorials will be uploaded. I have found them fantastic to behonest and being Dyslexic its hard to move forward with just reading documentation.

The video tutorials that where available are now not on the docs page just get error message

“This content is blocked. Contact the site owner to fix the issue.”

Thanks

Hi @bluenose10, I’m glad to hear the video tutorials have been helpful! The next video will be released today (Friday, Jan 19), and we strive for a weekly upload of every Friday, however sometimes that may get delayed as it did last week.

As for the videos within the docs, we recently switched to using YouTube’s embedded videos and it appears that something went wrong with that, so thanks for letting us know and I’ll take a look into it now :slight_smile:

Thanks!

Section 3.5 Internet Identity issue.

Multiple users have reported setting up the Internet Identity canister in section 3.5 fails because of an issue with the step requiring dfx dep init generates an Error.

Is there an estimated time to resolution?

Thank you.

1 Like

This is most likely resolved here: What means this error? - #15 by lwshang

1 Like

Thank you for the prompt response. Works fine.

1 Like

The tutorial has been updated to reflect the current workflow :slight_smile:

1 Like

Just a heads-up, the example code for Developer journey 3.2 src/http_get_backend/main.mo has several extraneous lines at the end repeating part of the public query func transform code.

Hey @wabrocker , thanks for letting us know! An update has been applied to the docs to fix this.

Thanks!

hey, @Jessie , I am currently working on level 1.3of Developer Journey i.e Developing your first dapp.
But, on running the cmd : dfx deploy , I am getting the folllowing error.

Deploying all canisters.
Creating canisters...
Creating canister motoko_level1_backend...
Creating a wallet canister on the local network.
The wallet canister on the "local" network for user "default" is "bnz7o-iuaaa-aaaaa-qaaaa-cai"
motoko_level1_backend canister created with canister id: bkyz2-fmaaa-aaaaa-qaaaq-cai
Creating canister motoko_level1_frontend...
motoko_level1_frontend canister created with canister id: bd3sg-teaaa-aaaaa-qaaba-cai
Building canisters...
Building frontend...
Error: Failed while trying to deploy canisters.
Caused by: Failed while trying to deploy canisters.
  Failed to build all canisters.
    Failed while trying to build all canisters.
      The post-build step failed for canister 'bd3sg-teaaa-aaaaa-qaaba-cai' (motoko_level1_frontend) with an embedded error: Failed to build frontend for network 'local'.: The command 'cd "/mnt/k/developer_journey/motoko_level1" && CANISTER_CANDID_PATH="/mnt/k/developer_journey/motoko_level1/.dfx/local/canisters/motoko_level1_frontend/assetstorage.did" CANISTER_CANDID_PATH_MOTOKO_LEVEL1_BACKEND="/mnt/k/developer_journey/motoko_level1/.dfx/local/canisters/motoko_level1_backend/motoko_level1_backend.did" CANISTER_ID="bd3sg-teaaa-aaaaa-qaaba-cai" CANISTER_ID_MOTOKO_LEVEL1_BACKEND="bkyz2-fmaaa-aaaaa-qaaaq-cai" CANISTER_ID_MOTOKO_LEVEL1_FRONTEND="bd3sg-teaaa-aaaaa-qaaba-cai" DFX_NETWORK="local" DFX_VERSION="0.19.0" "npm" "run" "build"' failed with exit status 'exit status: 1'.
Stdout:

> prebuild
> npm run prebuild --workspaces --if-present


Stderr:
npm ERR! No workspaces found!

Also, I am using dfx version 0.19.0 and I chose Motoko for backend canister , and vanilla Js for frontend canister.
Could you please help me resolve the issue.

{
    "name": "hello",
    "type": "module",
    "scripts": {
        "start": "npm start --workspaces --if-present",
        "prebuild": "npm run prebuild --workspaces --if-present",
        "build": "npm run build --workspaces --if-present",
        "pretest": "npm run prebuild --workspaces --if-present",
        "test": "npm test --workspaces --if-present"
    },
    "engines": {
        "node": ">=16.0.0",
        "npm": ">=7.0.0"
    },
    "workspaces": [ ]
}

Also, In my project setup , there is no webpack.config.js file but only package.json file with above code.
Do, I need to configure the workspace object in the json file so, that it can identify the frontend path?