udacity / sdc-issue-reports

29 stars 6 forks source link

Term 2: uWebSockets installation suggestion #1136

Closed subodh-malgonde closed 6 years ago

subodh-malgonde commented 7 years ago

Hi, I am a forum mentor. There is student, who setup uWebSockets on Windows. Apparently with a few tweaks, the process can be automated in a single script for Windows user. He is willing to post a detailed step by step guide which you can incorporate in the classroom material. I have asked him to add more details here.

baumanab commented 7 years ago

That sounds really helpful. We would be happy to post that in the classroom.

paul-michalik commented 6 years ago

Yes, this can be automated using, for example, vcpkg, a homebrew-style package manager targeting Windows as a development host system. Something similar to the script install-windows.bat could be used to install uWebSockets along all its dependencies for a specified "triplet" (= target platform). There are several options how to integrate vcpkg packages with the development environment, I used projectwise integration via NuGet. In order to automate this without too much tweaking, afaik, at least following changes in the Udacity project setup are required:

baumanab commented 6 years ago

Thank you for this information. I was wondering if anyone could provide me with some insight regarding use of Ubuntu BASH. I use both Windows and Linux, but spent most of my computing experience on Linux, Unix, or on MS command line environments (didn't move to Windows for a long time). So, I'm very comfortable with Ubuntu BASH and it seems like this is a very convenient option for Windows 10 users. It also seems like a setup directly on Windows is very challenging. Given this, what do you see as the advantages of not using Ubuntu BASH and using the native Windows OS instead? Understanding this will help with environment setup instructions.

paul-michalik commented 6 years ago

@baumanab Actually, it's a very inconvenient choice for Windows users. It is fine for quickly checking stuff or as a scripting environment for linuxoidal tools. However, it is highly inconvenient as a software development environment if you are used to the comfort and productivity of Visual Studio. A native setup on Windows isn't challenging at all it just requires knowledge of the native tools for dependency management - either NuGet or vcpkg, or both. Also a CMake based configuration is possible but this requires a truly platform independent configuration. In both cases you can stick with CLI + text editor if you wish but as a Windows developer you definitely want to use Visual Studio...

baumanab commented 6 years ago

That makes sense. Thanks for the insight. I'm going to delve into this. I'll post any needs for clarification here. Any response to those posts will be appreciated. A unified windows solution is of great value. Thank you for your advocacy.

baumanab commented 6 years ago

Thanks for developing this profile. I'll add it in by the end of the week.

baumanab commented 6 years ago

The IDE profile is now linked in the term 2 environment setup for Windows concept.