Will there be a windows SDK?

Hey Guys

I saw this question already on the forum however I did not find a really satisfying answer which went beyond using a VM. Unfortunately Dfinity is only providing a SDK for linux and MacOS however, myself and many other Dev’s are using windowsOS. Why is Dfinity not offering a Windows SDK? I mean what is the hurdle? It makes not much sense for me, especially because Dfinity really risks to lose a big part of possible dev’s which would be important for the projects growth.

Are there any plans of offering native windows support very soon or is this not an option? If yes, when can it be expected?

5 Likes

There are definitely plans! It’s been challenging because our replica and tooling has been solidly unix-based, but we have been developing an emulated version of the replica that we will be able to run on Windows, Arm-based devices, and more!

I hope you’ll bear with us - our SDK team has been scrambling for months making all sorts of launch requirements come together, but we’re really looking forward to getting back to DX work and making the platform more accessible

3 Likes

Alright, I’m happy to hear that and am definitely looking forward getting my hands on the IC. Is it possible tough to give a date on when it can be expected (next quarter, next year…?). In the mean time I would like to dig a bit deeper in the IC’s technology because I have not the deep knowledge I would like to have. However, I did not find a documentation source besides a few githhub docs and a paper describing the consensus algorithm. Will Dfinity release more docs soon and will it also be open source at some point?

I think we’re putting some of that long-form content on the Dfinity Medium account, and we’re definitely committed to increasing our transparency and documentation. We’ve hired a second copywriter and she’s been ramping up really quickly.

Let us know what’s hard to find though, because even if the content is already published, we can always do better with signposting to make it more discoverable and approachable

5 Likes

Alright, good to know, so I’ll check what I can find on medium. Regarding the question what is hard to find I just would like to mention that I think it would be more convenient to have a docs section on the official website where all information and docs are nicely arranged and ordered. This would definitely help finding the resources one searches for.

Also I just would like to ask again if there is kind of a date for the windows SDK and if you will also publish code of the project?

2 Likes

I agree with the need for a good Docs section. I’d rather not have to scrape Medium or other sites for the proper info. It should all be centrally located, maintained and indexed/searchable.

I am also eagerly awaiting the Windows sdk. I’ve had to run Linux on my Windows machine for development at work and that was not an enjoyable experience. It gets the job done, but… you know… better not to have to do it that way.

3 Likes

Just a gentle reminder: we do have documentation. :grinning: The main URL for documentation right now is sdk.dfinity.org and it is heavily focused on developers building apps and not on the underlying protocol or architecture. We have a lot more coming soon, but the current SDK site is indexed/searchable. It doesn’t include links to Medium posts/articles at this time, but we are considering adding a tech articles section.

5 Likes

Re: docs…

Lisa and Kyle are correct.

  • Yes sdk.Dfinity.org has searchable docs for sdk
  • yes, medium is currently where most big announcements hit first
  • yes, we usually do follow ups within docs
  • yes, we agree with you high level assessment: our docs experience is key and we are not nailing it

As director of product, I’m certainly taking responsibility here. We will improve.

I owe the community an explanation on the root cause: Genesis has been such a hyper focus thing, it has sucked all energy and time into making sure that worked. Our poor documentation writer have easily rewritten the same doc multiple times in a single day as sdk, or interfaces change.

After Genesis, cleaning up our docs (and making sure they are centralized, searchable, accurate) is a priority. It’s actually been something we started and improve in small parts here and there recently but genesis has been an org-wide focus.

This is no excuse, but I wanted to be transparent about root cause: things keep changing and I’ve asked engineers, writers, designers who COULD help on docs to please help on genesis projects when needed.

5 Likes

Now this doesn’t always work with some tools, but have you tried WSL (Windows Subsystem for Linux)? It’s basically an emulated linux kernel that runs alongside windows.

2 Likes

Good point @livelyx !

There is actually a Reddit thread on someone who did that:

To save you a couple of Internet link hops: Native Windows Support? - #2 by Ori

2 Likes

Thanks a bunch @Ori . That’s very helpful.

1 Like

FWIW I can confirm that I recently got dfx version 0.6.24 working fine on WSL2 in an Ubuntu 20.04 shell (after installing node and npm, IIRC).

You can use the sdk from the shell and, supposedly, also use remote editing in VSCode running on Windows, though I did not try that myself. I used Chrome on Windows to access the frontend installed on Linux via dfx.

I did not, however, use this setup in anger, so your mileage may vary.

Dfx on windows for beginners seems to contain some useful pointers.

1 Like

I’ll confirm the remote editing in VSCode works flawlessly, it runs across the WSL remote connection, with VSCode running in Windows itself. To set this up check my link above.

From the Reddit reply:
“For others following, while it’s not officially supported, WSL version 2 is a very good solution for Windows users.

“Once it’s up and running, if you couple it with Visual Studio Code and its remote connection feature you get an environment that feels no different to native, you’re just using the WSL terminal instead of the command line/powershell, you can use the built in VSCode terminal window too.”

Hey yes thats actually with what I started but to be honest this is not a solution I want to use long term and I think it is definitely not a solution for bigger projects. Its just very inconvenient.
Maybe also just because I never really used Linux and am not accustomed enough so we will see but again I don’t think this is a good solution.
Also because it really is a bad representation of the whole dfinity project, I think the main focus of all crypto projects should be bringing Dev’s to the network and for this a windows SDK is a must. So Imo this has to change anyway in order to successfully grow dfinity to the layer it is thought for.
But as I understood, this will be implemented, I still don’t know when tough.

3 Likes

Agreed, a native SDK plugin for VSCode on Windows would be a godsend, alternatively a web-based IDE running directly on the ICP would be a great showcase for the platform as a whole. :wink:

1 Like

So yes, I agree that native SDKs are a must-have for any project, but (from what i know) DFINITY is heavily based on linux tooling which can take a bit to convert over. For the meantime i’d highly recommend starting to learn linux and it’s tools, it’ll save you a lot of headache later if you get into other systems like docker, etc. Once the SDK is converted then you can pop out of WSL and over to native, hopefully with minimal friction. The team has a lot on their plate right now but i’m hoping we can see a solid timeline soon.

2 Likes

just want to point out this linux distro works flawlessly out of the box just install dfx runs forever Home | Solus

Solus is an operating system that is designed for home computing. Every tweak enables us to deliver a cohesive computing experience. A modern operating system to power your daily needs. Install today, update forever.