分享

我为什么选择 windows 作为开发环境

 MOTO八嘎 2020-02-17

我最开始学编程的时候,在 windows 平台上遇到的很多讨厌的问题,现在都解决了,而且,有的解决的似乎超出了我的预期。

第一,我希望 windows 平台上能有像 linux,macos 上的那种包管理工具,能让我一个命令就下载相应的环境,并把环境的路径添加到环境变量中,无需自己手动操作,然而这样的包管理工具已经存在了:

我现在换了 surface pro 后,电脑上的所有环境,包括 node,npm,python,java,git,filezilla,都是用这个工具安装的,所有包自此之后都不需手动管理,就算要卸载,也只是一个命令。

第二,我希望能在 windows 在舒舒服服地学习,使用 linux。

微软已经解决了这个问题,而且解决的很好。现在的 WSL2 和主系统 windows 完美的结合在一起,进入 WSL2 后,一切都和 linux 系统一摸一样,和 WSL1 的翻译系统调用的方式不同,WSL2 是基于虚拟机的,但是这个虚拟机和普通的虚拟机不太一样,它的环境并不是和 windows 隔离的,你可以在 linux 里编辑和更改 windows 系统的文件,也可以在 windows 里编辑修改 linux 的文件,二者是互通的,并且如果你在 linux 里启动一个 localhost 的应用,你可以直接在浏览器里用 localhost 去访问。

根据我最近的一点点研究,大概 WSL2 和 windows 的作用机理是通过一个中间的网络文件协议(9p)去交互的,在 WSL2 中编辑和打开 windows 的文件,就有点类似于你在 filezilla 通过 ftp 打开一个远程 linux 服务器的文件夹一样,WSL2 是有自己的私有ip和虚拟网卡的,也就是说 WSL2 和 windows 其实作用方式和双系统很像,只不过两个系统之间是互相将对方的整个 filesystem mount 到自己的根目录中,然后再通过一个虚拟的私有本地网络交互达到了这种效果。

WSL2 并不是你们想象的那种又卡问题又多,很难用,很重,相反,它很轻量,很快速,拥有 full system call compatibility, 可以运行 docker 这类的容器。

有了它,就可以更方便的学习 linux,使用 linux 的相关工具,在 linux 环境做开发等等一系列事情,再结合 VSCode 提供的 remote development,直接remote到本地的 WSL2,VSCode的超强编辑体验 + linux 环境,简直不要太爽。

第三,我希望有好用的命令行工具

去年推出的 windows terminal,支持多标签页,自定义样式,GPU文本渲染,各种快捷键,屏幕分裂,json自定义配置:

你以为的 windows 命令行工具可能还长这样:

有了上面三个的加持,再结合 VSCode,在 win 平台上开发,再也不是你从前以为的那样,至少,我可以说,在 2020 年,win 平台上开发,搭开发环境麻烦,无法获得类 unix 体验等等问题,都是不存在的。

时代在发展,微软也在拥抱开源,近几年的 VSCode,新 edge,WSL2早已表明了微软的态度,不要总用几年前人们的观点来看现在的 windows 开发环境,也不要受刻板印象的影响,windows 早已不是原来的 windows 了。

另外,再结合去年的新品,基于 Chromium 内核的新 Edge 浏览器,VSCode 在线版本 VSOnline,随时随地浏览器一开,远程服务器一连,开发环境和本地解耦再也不是梦,虽然这个在 mac 上也一样ok,但至少,抹平了和 mac 的差距。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多