twlevelup / watch_edition_react

A smartwatch simulator, built in ReactJS
MIT License
3 stars 2 forks source link

Vagrant / Linux VirtualBox for Windows users #4

Open raytung opened 7 years ago

raytung commented 7 years ago

Make sure students with Windows machine always develop under a unix environment.

watsonarw commented 7 years ago

Is Docker and Docker for Windows another option here?

alex-mitchem commented 7 years ago

Is there a particular reason why windows is 100% not an option? If its just for bash, you can enable bash on windows 10 now.

If we're dead set on a unix env, it would probably be easiest to have a ready to use vm on a usb they can just copy and use.

raytung commented 7 years ago

AFAIK, Bash on Windows 10 has a few prerequisite and it's not as easy as flipping a checkbox.

I'm thinking more on the lines of having everything baked into the image, i.e. Atom with proper packages, git config, docker daemon etc. All the students have to do is spin up VirtualBox and they're good to go. I would also use Docker in conjunction with the VM. Our Docker image would have the proper Node version and dependencies baked in.

Now obviously we can ask the students to use the git terminal like we have for the previous few sessions but in my experience the cygwin wrapper is not very performant.

adamhope commented 7 years ago

For simplicity my vote is to either:

We've used vmware/virtual box images in the past and the biggest issue has been confusion about keyboard shortcuts which is much less of a headache than having a student still without a dev environment in week 3.

watsonarw commented 7 years ago

Note: Git bash in Windows is surprisingly compatible with our current app. Even the ./go script works in git bash.

My suspicion is that if we can get rid of native dependencies (like phantomjs, and lib-sass), and get participants to use git bash as their shell, then we shouldn't have too many issues.

raytung commented 7 years ago

Let's finish milestone 1 and see how hard it is to setup on a Windows machine. We can retrofit the VM later if we really need it.

A VM would be great though because it'll avoid silly things like different end line characters.