Native Windows Support?

Finally able to post… I know its not your fault, its the way Discord works but its SUPER unintuitive that the UI just doesnt appear until you have reached some hidden state.

Anyways, im really keen to get involved and experiment with the Internet Computer and Mokoto but as far as I understand it, there is no windows support.

Looking at other posts on this forum it looks like you need to run a VM or Docker to get started :frowning:

Are there any plans for native windows SDK? I suspect this will be a blocker for many users!

1 Like

Hi Mike

It is a bit mysterious I agree, but glad you made it in!

For Windows, running in Windows Subsytem for Linux with VSCode works seamlessly, so I would recommend that approach. Note it must be WSL version 2, which requires Windows 10 v2004 or higher:

  1. A guide to installing WSL v2 is here: https://docs.microsoft.com/en-us/windows/wsl/install-win10

  2. To connect VSCode to WSL: https://forum.dfinity.org/t/dfx-on-windows-for-beginners/194/13

  3. Install web tools like npm etc. in WSL instead of (or alongside if you like) Windows native.

To open a project folder in VSCode straight from WSL, navigate to it in the WSL terminal and run (note the . )

code .

If you prefer to explore folders with a GUI you can also run explorer.exe . from any directory in the WSL terminal to open Windows File Explorer in that directory.

VSCode has the Motoko extension too, which works across the WSL connection: https://marketplace.visualstudio.com/items?itemName=dfinity-foundation.vscode-motoko

While WSL is technically still running on Hyper-V, it does hide all of this from you. I’ve run the sdk on several platforms and assuming you’re happy using VSCode you really don’t notice the difference, it’s worth giving it a go.

1 Like

Hi Ori,

Thanks for your reply and detailed post.

Unfortunately I would currently rather not mess with WSL2 as I have had issues in the past with it, particularly as the Hypervisor in windows doesnt play nice with other VM’s such as VMWare or VirtualBox (maybe thats changed now) so I would rather just wait until you guys have either a native windows solution or you have some good docs on how to do this with docker in windows.

On a semi-tangent; while I was waiting to get started I watched your “getting started” videos and noticed that there is a significant (multi-second) delay to any mutation in Mokoto… I thought this might just be a temporary development issue but it appears this is “realistic” for what we are to expect for the live version of Mokoto…

Is this true? If so this is unfortunately a dealbreaker for me. A multi-second delay on any mutation is just far too slow for what users expect these days. Can you imagine a game or website where every action takes multiple seconds to return?

The good thing is most actions on a website are query calls that dont modify state, you rather “consume” than you “produce”. And queries are almost instant on the IC. For state modifying changes it is indeed going to take 1-2 seconds in the near future. Did you read the reversi article in the link you provided to the other thread? It’s worth a read and gives you an idea what ways there are to work around this “lag” for the sake of UX.

1 Like

No problem. That’s understandable, no Hyper-V still doesn’t play nice with VirtualBox et al. I actually toggle it on and off to use them, via boot config:

To disable Hyper-V, open a command prompt as admin, run this command then reboot:

bcdedit /set hypervisorlaunchtype off

To turn Hyper-V back on, run:

bcdedit /set hypervisorlaunchtype auto

No I havent read the Reversi article yet, tho I did watch the video on it. If the article gives more details on work arounds ill definately give that a read thanks. I assume its basically just a matter of doing “optomistic updates” in the client?

I agree that a great many sites and applications mostly use read operations but there are still a very large number of sites and apps that use write for a great many things. Take this forum for example a large number of its operations are writes. Slow writes is going to preclude a large number of applications and limit the potential scope of the internet computer.

Sure if the solution is optomisic updates thats okay but it does add quite a bit more complication in the client particularly when dealing with overlapping requests, then if one of them fails, how to rollback your updates…

I am really excited about the potential of the IC and mokoto language and really want it to work tho I am very disappointed about that write delay. I guess like all things its going to be a tradeoff. You want to power of the IC then you have to sacrifice in other areas.

Hi, I have to reply 5 times here before I can post, so