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!

4 Likes

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.

  4. Store your projects within the WSL filesystem (not within the Windows directories via /mnt/)

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: Motoko - Visual Studio Marketplace

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.

3 Likes

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.

2 Likes

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

1 Like

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.

1 Like

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

1 Like

Why did you not answer his question?
I have been a developer for over 20 years. I find it embarrassingly difficult to even get my head around how to get started with a sample application. I as most other developers use a PC on Windows and I have absolutely zero interest in fiddling with virtual machines etc just because dfinity cant get their act together and deliver a native sdk nor even answer the question of if there are any plans to do so.
Having realized that Windows development was a no go I contracted an experienced web developer who uses a mac but he gave up on even getting a hello world sample after a few weeks of trying.
How are you planning to take over the internet if you struggle to make it easy enough for developers to get started?
Also I see important question posts in this forum not getting any answer from dfinity.

Windows support is very much on the roadmap, there is a large developer base there of course. The WSL solutions aren’t officially supported but we’re happy to try and resolve some of the hurdles with you all, the solution above has been stable for a long time although recent changes to the SDK might make things trip up a bit on certain newer Windows 10 builds. There’s more to come on the official support soon.

1 Like

…Point him at the forum if you like, we’d be glad to help with any of this!

Is there any news on windows support yet?

2 Likes

Mmm apparently there is no solution yet… Or yes?
I’ll install Linux then!

Hola jomu, tu sabes como va esto?
Por que me entero mucho.