主打一个听劝,移动端开发从Windows迁移到Mac的历程

5,247 阅读11分钟

移动端开发从Windows到Mac的迁移记录

前言

为什么要从 Wnidows 迁移到 Mac 平台?

主要是为了 Fultter 开发能运行 iPhone 模拟器 / iPhone 真机。

以前接触过 Mac 平台吗?

没有,完全的纯小白。

换到什么配置?M1? M2? M3?

No,只是7代I7处理器,32G + 512G 的老款 iMac 而已。之前公司给配的 Wnidows 电脑也是是7代i7,32G + 1T 的,所以其实两者性能是接近的,这样就很有对比效果了。

image.png

XCode能安装吗?能打包吗?

AppStore的 XCode 肯定是无法安装的,系统版本太老无法更新系统,下面会更新如何安装 Xcode,打包是需要 iOS 同事用新版 Mac book pro 打包,我这边只是开发阶段能跑iOS模拟器和真机即可。

截屏2024-05-29 16.16.42.png

迁移一段时间之后体验如何?

实话说,有痛点有爽点,但就开发体验来说目前是正向的,页面清爽了,编译更快了,体验更好,难受的是一些“免费”软件使用不了,需要一些插件替代。

后期打算自己买一台 Mac 家用吗?

并没有,自用还是 Wnidows(在家里主要是打游戏),平常有紧急的事也需要在 Wnidows 开发。不过后期可能在某鱼上淘个二手的 Macmini 什么的,谁知道呢 (主要还是穷)

下面介绍下我的迁移过程,和一些环境搭建和软件推荐,希望对和我一样的 Mac 小白有些帮助,也希望有各位老师给点意见,我主打的就是听劝。

一、按键映射

首先第一个问题,实在是不习惯 Mac 键盘,并且我还会偶尔用到 Windows 的系统开发,两边的键盘不统一,我简直要发疯,所以第一步就是统一按键,按照 Windows 的按键习惯来。

最重点其实就是 Mac 的操作键,Command / Option / Ctrl 的三个按键。对应 Windows 的 Win / Alt / Ctrl。

怎么实现改建呢?让 Mac 平台用 Wnidos 的按键习惯呢? 我们需要用到 Karabiner Elements 这个软件。

安装之后会需要一些系统权限,我们按照指引开启权限即可,我们用到的其中两种功能:

image.png

一个是简单的该键盘,一种是组个按键,因为我们 Windows 的很多操作都是 Ctrl + X 实现的,所以最方便的是把键盘的 Ctrl 映射为 Mac 的 Command 按键。

image.png

由于我个人只使用左侧的操作键所以我就只设置了左侧的。

由于快速切换应用,在 Wnidows 平台是 Alt + Tab 组合按键,所以我们需要映射为 Mac 的 Command + Tab,应用内的多窗口切换也是同样的原理,我们切换为 Command + ~ 改为 Ctrl + `

效果为:

image.png

其中需要的配置文件为:

{
    "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 保存并关闭。

最终配置如图:

image.png

环境配置好了之后,我们需要执行刷新的指令让它生效:

由于我的 shell 的路径是 zsh , 所以我用 source ~/.zshrc 如果你的 shell 路径是 /bin/bash 那么你的命令是 source ~/.bash_profile

此时我们输出对应的命令看看是否生效了:

image.png

三、编辑器安装

安装应用就很简单了,有些可以在应用市场下载,有些需要到官网下载,有些应用安装会提示我们复制到 Application 目录,有些是不提示的我们需要自己移动到Alppication中去。

1、AndroidStudio

这个我是在官网下载的,直接复制到 Application 目录,启动之后设置好代理,直接就很顺畅,配置好SDK,自动下载Gradle,直接就运行起来了,没有什么坑。

其次就是 Android Studio 的编辑器插件安装,编辑器的快捷键的一些修改,这些大家都是比较熟悉的了。

每个开发者都有自己的习惯,这就无法推荐了,这是我安装的一些插件,仅供参考:

image.png

2、Xcode

Xocde 是无法在应用市场安装,因为我的Mac电脑系统太老了不支持,我们可以到官网下载旧版本的 Xcode,【传送门】

找到对应版本的 XCode 下载即可,我这里安装的是 14.3.1 版本。

之后我们就安装,切记要手动的移动到 Application 中。我们可以输入 flutter doctor 查询是否有效。

image.png

如果没有找到 XCode,那么可以手动的指定一下路径

sudo xcode-select -switch /Applications/Xcode.app
sudo xcodebuild -license

启动 Xcode 的模拟器也很简单:

image.png

在 Android Studio 中,我们选择设备这里也可以直接打开 iOS 模拟器了:

QQ20240528-161301@2x.png

运行 HelloWorld 的效果:

截屏2024-05-28 17.12.54.png

3、VSCode

这一点和 Android Studio 是一样的,到官网下载安装即可,内部插件的使用也是和 Windows 的操作类似,只是快捷键不同,需要大家自己设置,由于我用 VSCode 用的不多就没有设置改建了。

四、其他工具

1、系统录屏或软件录屏

特别是对于我这样写博客的作者来说,截屏和录屏是很重要的很高频的使用。

系统本身就自带截屏和录屏,我设置了自定义的快捷键。

image.png

我个人还是更喜欢 QQ 的截屏,它的功能更多也很丰富,可以高亮与标注,可以马赛克,可以输入文本标识。

其次我还喜欢 Utools 中的截屏与录制功能,它甚至还能免费的转换各种格式。

当然应用市场中还有各种各样的录屏软件,比如 Omi 录屏专家,他是比较专业的录屏软件,可以录屏屏幕和麦克风,还能进行二次创作。

应用市场还有各种专业截屏的软件,比如 Snipaste 截取工具,也是很专业的软件,各种功能,各种自定义。

我目前用的比较多的还是比较简单的功能,用 QQ 的和系统的截屏录制就够了。

2、ADB录屏

ADB 的 Android 设备录制,我们可以用 Android Studio 的自带录制软件,但是它录制出来时 MP4 格式比较大,还需要我们手动的转为 GIF 文件,并且一些低版本的测试机是无法支持录制的。所以我们可以使用 ADB 的录屏工具,我这里使用的是 Qt Scrcpy 软件。

他是跨平台的,如果你在 Wnidows 上面使用过,应该是很容易入门的。

它的页面长这样:

image.png

我们的低系统版本的手机也能录屏了,配合录屏软件或者 GIF 录制软件就能录制出 MP4 文件和 GIF 文件了,对我来说是很方便的。

并且它还支持 ADB 命令,可以直接操作多个设备进行 ADB 操作,比传统的终端中操作要方便一点。

3、Utools

按照我的思路就是尽量使用浏览器插件,跨平台插件和工具,可以和 Windows 的功能尽量保持一致,所以我用的 Google 浏览器,Edge 浏览器,工具也是使用 Utools 。

它的内部有一些很好用的小插件,比如录屏,GIF制作,图片压缩,代码格式化与小工具,视频格式转换等等免费的工具。

截屏2024-05-29 19.14.44.png

这是我安装的一些插件,大家如果有需求直接官网下载即可。

4、终端应用

关于终端大家有很多的选择,原生Mac的终端也挺好用,大家用的多的有 iTerm2、Fish等,还有其他的终端工具太多了,而我这里使用的是 Warp 终端。

image.png

如图,我喜欢它的原因是够大,够明显,每次的命令执行完毕之后都有分割线,一目了然,如果出错了会有报错的提示,会有命令的提示和历史记录,和AI代码提示。并且支持复制粘贴,不管是复制进去还是复制出来都很方便。

再一个就是它的自定义UI了,我可以自定义背景颜色和自定义背景图片与透明度,看起来比较舒服。

安装也很简单

brew install --cask warp

5、超级右键

我的痛点是无法快速的创建文本文件,MD文件,WPS文件,无法快速获取到当前类的路径,文件的路径,无法快速的复制文件到指定的文件。

安装的话可以在 Mac 的 App Store 中搜索下载。

安装了超级右键的应用,可以很方便我解决这些问题,大家按照自己的需求自己设置即可。

image.png

我的电脑效果如下:

image.png

image.png

当然我肯定不止下载了这些软件和工具,还有更多的工具都是个人的一些习惯就不推荐给大家了,到此你已经能很熟练的使用 Mac 电脑了,这些软件和工具已经难不倒你了。

总结

总体来说我的迁移经历还是比较顺畅的,并且我个人也是比较满意的,并没有后悔什么的。目前也是 80% 的时间使用 Mac 电脑,20% 的时间使用 Windows,在按键和快捷键和一些软件同步之后也没有感受到冲突,等于是把 Mac 当 Windows 用了。(可以说我是山猪吃不了细糠 😄)

关于 Android 开发和 Flutter 开发的效率感觉比 Window 有提升,同样的 CUP 性能下编译速度也有提升,XML的预览也更快速,目前感觉还行。

剩下的还有一些编辑器的快捷键设置,系统的调度,返回桌面等 Mac 专用的一些快捷键大家可以按照自己的习惯在系统设置中配置。

个人感觉如果想要双平台双修的话,还是统一按键,统一工具比较合适,比如一些网页工具,插件,Utools跨平台工具,Google/Edge浏览器等。尽量减少跨平台的学习成本。

当然,我真的是 Mac 小白,如果我有什么小白的操作或者错误的理解,还望各位大佬指点一下,如果有 Mac 的小技巧也可以指点一下,我听劝。

如果我的文章有错别字,不通顺的,有错漏的地方,同学们都可以指出修正。

如果感觉本文对你有一点的启发和帮助,还望你能点赞支持一下,你的支持对我真的很重要。

Ok,这一期就此完结。