移动端开发从Windows到Mac的迁移记录
前言
为什么要从 Wnidows 迁移到 Mac 平台?
主要是为了 Fultter 开发能运行 iPhone 模拟器 / iPhone 真机。
以前接触过 Mac 平台吗?
没有,完全的纯小白。
换到什么配置?M1? M2? M3?
No,只是7代I7处理器,32G + 512G 的老款 iMac 而已。之前公司给配的 Wnidows 电脑也是是7代i7,32G + 1T 的,所以其实两者性能是接近的,这样就很有对比效果了。
XCode能安装吗?能打包吗?
AppStore的 XCode 肯定是无法安装的,系统版本太老无法更新系统,下面会更新如何安装 Xcode,打包是需要 iOS 同事用新版 Mac book pro 打包,我这边只是开发阶段能跑iOS模拟器和真机即可。
迁移一段时间之后体验如何?
实话说,有痛点有爽点,但就开发体验来说目前是正向的,页面清爽了,编译更快了,体验更好,难受的是一些“免费”软件使用不了,需要一些插件替代。
后期打算自己买一台 Mac 家用吗?
并没有,自用还是 Wnidows(在家里主要是打游戏),平常有紧急的事也需要在 Wnidows 开发。不过后期可能在某鱼上淘个二手的 Macmini 什么的,谁知道呢 (主要还是穷)
下面介绍下我的迁移过程,和一些环境搭建和软件推荐,希望对和我一样的 Mac 小白有些帮助,也希望有各位老师给点意见,我主打的就是听劝。
一、按键映射
首先第一个问题,实在是不习惯 Mac 键盘,并且我还会偶尔用到 Windows 的系统开发,两边的键盘不统一,我简直要发疯,所以第一步就是统一按键,按照 Windows 的按键习惯来。
最重点其实就是 Mac 的操作键,Command / Option / Ctrl 的三个按键。对应 Windows 的 Win / Alt / Ctrl。
怎么实现改建呢?让 Mac 平台用 Wnidos 的按键习惯呢? 我们需要用到 Karabiner Elements 这个软件。
安装之后会需要一些系统权限,我们按照指引开启权限即可,我们用到的其中两种功能:
一个是简单的该键盘,一种是组个按键,因为我们 Windows 的很多操作都是 Ctrl + X 实现的,所以最方便的是把键盘的 Ctrl 映射为 Mac 的 Command 按键。
由于我个人只使用左侧的操作键所以我就只设置了左侧的。
由于快速切换应用,在 Wnidows 平台是 Alt + Tab 组合按键,所以我们需要映射为 Mac 的 Command + Tab,应用内的多窗口切换也是同样的原理,我们切换为 Command + ~ 改为 Ctrl + `
效果为:
其中需要的配置文件为:
{
"description": "Change Ctrl + Tab to Command + Tab",
"manipulators": [
{
"from": {
"key_code": "tab",
"modifiers": {
"mandatory": [
"left_control"
],
"optional": [
"any"
]
}
},
"to": [
{
"key_code": "tab",
"modifiers": [
"left_command"
]
}
],
"type": "basic"
}
]
}
应用内窗口切换:
{
"description": "Change Ctrl + ` to Command + `",
"manipulators": [
{
"from": {
"key_code": "grave_accent_and_tilde",
"modifiers": {
"mandatory": [
"left_control"
],
"optional": [
"any"
]
}
},
"to": [
{
"key_code": "grave_accent_and_tilde",
"modifiers": [
"left_command"
]
}
],
"type": "basic"
}
]
}
这里我们常用的操作按键就完成了,可以 CV ,可以切换应用,快捷键就跟 Windows 平台很相似了。
当然如果不想使用 Karabiner Elements 这样的改键工具,那么就只能在设置中手动的修改了:
简单来说就是把 机械键盘上的 Ctrl 变为Mac的 Command Win(Command) 变为 Option Alt (Option) 变为 Ctrl
也可以有同样的效果,但是组合快捷键的映射就没办法完成了,这一点是需要注意的。
二、环境安装
接下来我们就要开始安装开发环境了,这里就不得不提一下 Homebrew 了,Homebrew 社区活跃,提供了大量的软件包和插件,可以满足各种需求,从开发工具到日常应用程序。
特别是一些配置环境,使用 Homebrew 就一键安装并配置好了怀旧变量,特别方便。
在安装之前我们先查看电脑使用的shell是Bash还是Zsh,这一点很重要。
在终端输入 echo $SHELL ,该命令将显示当前默认 shell 的路径,如果是 Bash,你将看到 /bin/bash,如果是 Zsh,你将看到 /bin/zsh。 以我的 MAC 为例,是 /bin/zsh
那么我的 Homebrew 安装命令:
/bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)"
顺便指定了国内的镜像,一下是 Homebrew 的常用命令
# 查看配置
brew config
# 更新 Homebrew
brew update
# 搜索相关的包
brew search [关键词]
# 查看包的信息
brew info [软件名]
# 查看已安装的包
brew list
# 更新某个软件
brew upgrade [软件名]
# 清理所有软件的旧版
brew cleanup
# 卸载某个软件
brew uninstall [软件名]
# 安装某个软件
brew install [软件名]
# 安装cask软件
brew install --cask [软件名]
Homebrew 使安装和管理命令行工具和开发环境变得简单。例如,安装 Git 只需运行:
brew install git
vim安装(可选)
brew install vim
jdk的安装
brew install openjdk@17
直接安装之后就会自动配置好了环境变量
其次我们在官网手动的下载 android sdk 和 fluttersdk 之后,
比如我下载的地址在
/Users/newki/Library/Android/sdk
/Users/newki/Library/Flutter
那么我们还需要额外的自己配置一下环境变量
由于我的 shell 的路径是 zsh , 所以我用 vim ~/.zshrc
如果你的 shell 路径是 /bin/bash
那么你的命令是 vim ~/.bash_profile
配置文件的修改,按 i 键,即可切换为可写模式,写如完成后,按 esc 退出编辑,输入 :wq 保存并关闭。
最终配置如图:
环境配置好了之后,我们需要执行刷新的指令让它生效:
由于我的 shell 的路径是 zsh , 所以我用 source ~/.zshrc
如果你的 shell 路径是 /bin/bash
那么你的命令是 source ~/.bash_profile
此时我们输出对应的命令看看是否生效了:
三、编辑器安装
安装应用就很简单了,有些可以在应用市场下载,有些需要到官网下载,有些应用安装会提示我们复制到 Application 目录,有些是不提示的我们需要自己移动到Alppication中去。
1、AndroidStudio
这个我是在官网下载的,直接复制到 Application 目录,启动之后设置好代理,直接就很顺畅,配置好SDK,自动下载Gradle,直接就运行起来了,没有什么坑。
其次就是 Android Studio 的编辑器插件安装,编辑器的快捷键的一些修改,这些大家都是比较熟悉的了。
每个开发者都有自己的习惯,这就无法推荐了,这是我安装的一些插件,仅供参考:
2、Xcode
Xocde 是无法在应用市场安装,因为我的Mac电脑系统太老了不支持,我们可以到官网下载旧版本的 Xcode,【传送门】
找到对应版本的 XCode 下载即可,我这里安装的是 14.3.1 版本。
之后我们就安装,切记要手动的移动到 Application 中。我们可以输入 flutter doctor 查询是否有效。
如果没有找到 XCode,那么可以手动的指定一下路径
sudo xcode-select -switch /Applications/Xcode.app
sudo xcodebuild -license
启动 Xcode 的模拟器也很简单:
在 Android Studio 中,我们选择设备这里也可以直接打开 iOS 模拟器了:
运行 HelloWorld 的效果:
3、VSCode
这一点和 Android Studio 是一样的,到官网下载安装即可,内部插件的使用也是和 Windows 的操作类似,只是快捷键不同,需要大家自己设置,由于我用 VSCode 用的不多就没有设置改建了。
四、其他工具
1、系统录屏或软件录屏
特别是对于我这样写博客的作者来说,截屏和录屏是很重要的很高频的使用。
系统本身就自带截屏和录屏,我设置了自定义的快捷键。
我个人还是更喜欢 QQ 的截屏,它的功能更多也很丰富,可以高亮与标注,可以马赛克,可以输入文本标识。
其次我还喜欢 Utools 中的截屏与录制功能,它甚至还能免费的转换各种格式。
当然应用市场中还有各种各样的录屏软件,比如 Omi 录屏专家,他是比较专业的录屏软件,可以录屏屏幕和麦克风,还能进行二次创作。
应用市场还有各种专业截屏的软件,比如 Snipaste 截取工具,也是很专业的软件,各种功能,各种自定义。
我目前用的比较多的还是比较简单的功能,用 QQ 的和系统的截屏录制就够了。
2、ADB录屏
ADB 的 Android 设备录制,我们可以用 Android Studio 的自带录制软件,但是它录制出来时 MP4 格式比较大,还需要我们手动的转为 GIF 文件,并且一些低版本的测试机是无法支持录制的。所以我们可以使用 ADB 的录屏工具,我这里使用的是 Qt Scrcpy 软件。
他是跨平台的,如果你在 Wnidows 上面使用过,应该是很容易入门的。
它的页面长这样:
我们的低系统版本的手机也能录屏了,配合录屏软件或者 GIF 录制软件就能录制出 MP4 文件和 GIF 文件了,对我来说是很方便的。
并且它还支持 ADB 命令,可以直接操作多个设备进行 ADB 操作,比传统的终端中操作要方便一点。
3、Utools
按照我的思路就是尽量使用浏览器插件,跨平台插件和工具,可以和 Windows 的功能尽量保持一致,所以我用的 Google 浏览器,Edge 浏览器,工具也是使用 Utools 。
它的内部有一些很好用的小插件,比如录屏,GIF制作,图片压缩,代码格式化与小工具,视频格式转换等等免费的工具。
这是我安装的一些插件,大家如果有需求直接官网下载即可。
4、终端应用
关于终端大家有很多的选择,原生Mac的终端也挺好用,大家用的多的有 iTerm2、Fish等,还有其他的终端工具太多了,而我这里使用的是 Warp 终端。
如图,我喜欢它的原因是够大,够明显,每次的命令执行完毕之后都有分割线,一目了然,如果出错了会有报错的提示,会有命令的提示和历史记录,和AI代码提示。并且支持复制粘贴,不管是复制进去还是复制出来都很方便。
再一个就是它的自定义UI了,我可以自定义背景颜色和自定义背景图片与透明度,看起来比较舒服。
安装也很简单
brew install --cask warp
5、超级右键
我的痛点是无法快速的创建文本文件,MD文件,WPS文件,无法快速获取到当前类的路径,文件的路径,无法快速的复制文件到指定的文件。
安装的话可以在 Mac 的 App Store 中搜索下载。
安装了超级右键的应用,可以很方便我解决这些问题,大家按照自己的需求自己设置即可。
我的电脑效果如下:
当然我肯定不止下载了这些软件和工具,还有更多的工具都是个人的一些习惯就不推荐给大家了,到此你已经能很熟练的使用 Mac 电脑了,这些软件和工具已经难不倒你了。
总结
总体来说我的迁移经历还是比较顺畅的,并且我个人也是比较满意的,并没有后悔什么的。目前也是 80% 的时间使用 Mac 电脑,20% 的时间使用 Windows,在按键和快捷键和一些软件同步之后也没有感受到冲突,等于是把 Mac 当 Windows 用了。(可以说我是山猪吃不了细糠 😄)
关于 Android 开发和 Flutter 开发的效率感觉比 Window 有提升,同样的 CUP 性能下编译速度也有提升,XML的预览也更快速,目前感觉还行。
剩下的还有一些编辑器的快捷键设置,系统的调度,返回桌面等 Mac 专用的一些快捷键大家可以按照自己的习惯在系统设置中配置。
个人感觉如果想要双平台双修的话,还是统一按键,统一工具比较合适,比如一些网页工具,插件,Utools跨平台工具,Google/Edge浏览器等。尽量减少跨平台的学习成本。
当然,我真的是 Mac 小白,如果我有什么小白的操作或者错误的理解,还望各位大佬指点一下,如果有 Mac 的小技巧也可以指点一下,我听劝。
如果我的文章有错别字,不通顺的,有错漏的地方,同学们都可以指出修正。
如果感觉本文对你有一点的启发和帮助,还望你能点赞
支持一下,你的支持对我真的很重要。
Ok,这一期就此完结。