V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
zhongbeyond
V2EX  ›  程序员

请问在企业里使用 M1/M2 开发的朋友,兼容性如何?

  •  
  •   zhongbeyond · 2023-06-22 12:33:52 +08:00 · 6073 次点击
    这是一个创建于 512 天前的主题,其中的信息可能已经有所发展或是发生改变。

    大家好:

    本人最近打算升级一下苹果电脑,因为预算有限而且没有移动办公需求。

    目前写代码的主力机是十年前的 mac mini 2014 Late 8GB 内存的乞丐版,平时主要进行普通开发,目前勉强能用,用久了发热严重,速度会感觉变慢,可能是被降频;目前打算升级一下硬件,需求是内存最少 16GB 。

    目前想到以下几种方案,想跟大家交流一下。

    1. Mac Mini M1 16GB

    此方案对我来说,按道理是最优方案,小黄鱼二手价格在 3700 左右,从性能和以后的系统支持方面来说都够用。

    但我最担心的问题就是兼容性。

    比如企业里还是在用 java8 ,Oracle Jdk8 目前还没有 ARM 的版本,目前倒是 Zulu 基于 OpenJdk 提供了 ARM 版本,但是 OpenJdk 跟 Oracle Jdk 还是有差别的,有的应用就是只能用 Oracle 编译运行。

    还有,比如 Node.js ,我在企业项目里,碰到很多还在用过期的 8 ,10 和 12 的版本,为了不背锅,这些版本不能轻易更新到最新版本。 听说 15 开始才有 ARM 原生版本,那这些旧版本怎么办,nvm 和 asdf 这种多版本管理方案能不能正常用也是未知数。

    再举个例子,PG 数据库有个好用的 postgresapp ,也没有 ARM 版本的。 我知道有个罗塞塔转译方案,但转译毕竟是转译,先不说性能损失,还不知道有什么未知的问题等你去折腾

    上班已经很累了,开发最害怕折腾,请问有在企业里重度使用 M1/M2 的朋友吗,实际体验如何,有没有什么兼容性的问题?

    2. Macbook 无头骑士 /下半身

    目前看中 A1990 的 MR932/MR942/MV902 ,目前市场价 2000 到 2500 。

    x86 白苹果兼容性好,不折腾。

    这个方案的问题是,散热不行,看了一些黑帖,用久了发热严重,甚至降频到 1.1 G ,这几乎没法玩;听说可以改装散热,但效果未知。

    3. 黑苹果

    10 代或者 13 代苹果,10 代兼容性最好,13 代需要 amd 独显。

    这个方案性能是满足的,但是需要花时间去折腾安装,不知道后续实际体验怎样。

    大家觉得哪个方案可行,感谢。

    第 1 条附言  ·  2023-06-24 11:46:26 +08:00
    补充一下开发过程中的项目类型:
    1 、项目类型非常多,Web 项目( Java ,Golang ,Nodejs, PHP, Ruby )
    2 、移动端(安卓,iOS ),新老版本都会有;甚至有的版本很老,比如 node8, java 8, ruby 2.4x ;
    3 、系统类 C/Rust ;前端( React/Vue )
    60 条回复    2023-06-25 11:13:51 +08:00
    elechi
        1
    elechi  
       2023-06-22 12:59:55 +08:00
    windows
    aptx4689
        2
    aptx4689  
       2023-06-22 13:03:35 +08:00   ❤️ 4
    如果你不确定你要不要用 mac ,那就别买,80%需求是不需要用 mac 的
    tulongtou
        3
    tulongtou  
       2023-06-22 13:04:16 +08:00
    m1 max 首发买的,用到现在没有不兼容的。
    前端、后端、app 都开发,遇到过不兼容也是工具太老了,升到最新稳定版都在 m1 上完美适配
    chenxiankong
        4
    chenxiankong  
       2023-06-22 13:06:37 +08:00   ❤️ 1
    强烈推荐黑苹果,配置照着现成的买。EFI 也是现成的。
    现在说实话黑苹果很完善了。
    推荐个 b 站 up:小明和他的女朋友
    按照他视频里的推荐配置买就可以了。
    zhongbeyond
        5
    zhongbeyond  
    OP
       2023-06-22 13:07:26 +08:00 via Android
    @aptx4689 不不,我现在就是确定用 Mac ,我现在有两台,一台 windows ,用来打游戏和编辑文档。
    Mac 我专门用来开发,比如有可能开发 ios 应用。
    asdf 这个工具 windows 版本都没有,我没法用。
    zhongbeyond
        6
    zhongbeyond  
    OP
       2023-06-22 13:08:36 +08:00 via Android
    @elechi
    我现在有两台,一台 windows ,用来打游戏和编辑文档。
    Mac 我专门用来开发,比如有可能开发 iOS 应用。
    asdf 这个工具 windows 版本都没有,我没法用
    dayeye2006199
        7
    dayeye2006199  
       2023-06-22 13:10:04 +08:00
    万年 java8 ,node 8 的公司,我觉得还是别折腾 ARM 架构了。
    jackge0323
        8
    jackge0323  
       2023-06-22 13:28:10 +08:00
    m1 max 到现在遇到的问题主要是 mac 的 docker 是不能直接和宿主机通讯的,其次是有些镜像不支持 arm 架构,剩下倒是都挺好。
    ql562482472
        9
    ql562482472  
       2023-06-22 13:31:37 +08:00
    怕折腾建议不买 等 10 年之后再说 java8 到今年也就 10 年把
    byte10
        10
    byte10  
       2023-06-22 13:37:52 +08:00
    直接上 air M1 你就知道什么冰冷😄,X86 预计未来 5-8 年 都达不到的这样冰冷。

    至于你担心的一些软件无法使用的话,可以直接上搞一个 N100 小主机,1000 元全套,啥问题都没有。
    javaisthebest
        11
    javaisthebest  
       2023-06-22 13:43:41 +08:00
    没什么感觉 M1X 不过可能是我没用上 docker 原因。
    zhongbeyond
        12
    zhongbeyond  
    OP
       2023-06-22 14:12:54 +08:00 via Android
    @tulongtou 对,新的是没啥问题,最担心就是老版本的项目和相关依赖
    imnpc
        13
    imnpc  
       2023-06-22 14:16:45 +08:00
    X86 的不要买了 马上就会停止支持 最新的测试版 博通的网卡几乎都不能用了
    zhongbeyond
        14
    zhongbeyond  
    OP
       2023-06-22 14:19:31 +08:00 via Android
    @dayeye2006199 是这个道理。感谢建议
    zhongbeyond
        15
    zhongbeyond  
    OP
       2023-06-22 14:26:13 +08:00 via Android
    @ql562482472 这个建议可行。将就用看看👀
    Inn0Vat10n
        16
    Inn0Vat10n  
       2023-06-22 14:47:23 +08:00
    很多大厂 mbp 是标配,如果你不是有 windows 开发需求,兼容性应该不是主要考虑的问题
    bxqqq
        17
    bxqqq  
       2023-06-22 15:03:32 +08:00
    如果只在这 3 个里选,我选第二个。
    littlewing
        18
    littlewing  
       2023-06-22 15:33:37 +08:00
    没影响,因为开发调试都是在开发机上
    Biggoldfish
        19
    Biggoldfish  
       2023-06-22 15:45:35 +08:00
    如果贵司的开发流程只需要一个上网本或者用于连接远程机器的 client ,那 ARM Mac 是挺不错的,发热小续航强,缺点就是太重

    如果需要本地编译本地调试,ARM 上网本讲兼容性哈哈哈哈
    zhangshine
        20
    zhangshine  
       2023-06-22 16:13:55 +08:00
    黑苹果,但是要照着别人的配置来买,其实也就 cpu 和主板要和别人的匹配
    zhongbeyond
        21
    zhongbeyond  
    OP
       2023-06-22 17:31:13 +08:00 via Android
    @chenxiankong 好的,谢谢,我去学习一下看看
    theliang
        22
    theliang  
       2023-06-22 19:03:16 +08:00 via iPhone
    黑苹果 自己加到了 48g 内存,用了一年多了,开发很愉快
    murmur
        23
    murmur  
       2023-06-22 19:29:03 +08:00
    我们内部的 android 和 ios 项目换 m1 都没法编译,哭
    ChicC
        24
    ChicC  
       2023-06-22 19:36:58 +08:00
    远程开发
    swulling
        25
    swulling  
       2023-06-22 19:47:51 +08:00
    那要看你们什么项目了。老项目就用公司的在线 VSCode 开发机,新项目反正不管什么语言,新版本都可以很好的支持 ARM 。
    SeeYouNextTime
        26
    SeeYouNextTime  
       2023-06-22 20:01:14 +08:00 via iPhone
    ts 全栈。 目前没啥不兼容的
    PainAndLove
        27
    PainAndLove  
       2023-06-22 20:02:03 +08:00
    如果没有移动办公的场景, 建议 13 代黑苹果
    Caelan
        28
    Caelan  
       2023-06-22 20:59:18 +08:00
    去年年度自组 Hackintosh, 12100f + 6600 + 32g Ram + 1T ssd ,才 3500 左右。一直是最新 Mac os 系统,除了 airdrop 不行其他地方稳如老狗
    beginor
        29
    beginor  
       2023-06-22 21:10:00 +08:00 via Android
    还玩 JDK8 和 node8 的话就不要考虑 arm 了,直接黑果吧
    chenzhe
        30
    chenzhe  
       2023-06-22 21:58:08 +08:00
    比较纳闷的是,既然都已经吃饭的工具了,怎么预算不能稍微提一提呢?
    我一个业余写代码的都整了个 Studio 。
    不过 Node.js 我一直是跟着最新的稳定版走,目前没遇到什么兼容性的问题。
    murmur
        31
    murmur  
       2023-06-22 21:58:49 +08:00
    @beginor zulu 好像有 jdk8 的 arm 兼容版
    CEBBCAT
        32
    CEBBCAT  
       2023-06-22 22:32:23 +08:00 via iPhone
    标题写的是兼容,进来框框三个选型,老乡,厚道点。我写 Golang 的,一点问题没有。你不如列出来平时要用的语言、工具,然后再问。另外问之前也可以 Google 一下有没有劝退的,对不对?最后,Apple silicon 是未来趋势,凡是用 Mac 开发的,都会做适配的
    beijinglowb
        33
    beijinglowb  
       2023-06-22 22:36:26 +08:00 via iPhone
    单车变摩托啊
    neoblackcap
        34
    neoblackcap  
       2023-06-22 23:35:28 +08:00
    没记错 zulu 的 jdk 是给 Oracle 交过钱的,能拿兼容性认证那种,所以质量有一定保证
    zhongbeyond
        35
    zhongbeyond  
    OP
       2023-06-23 00:02:14 +08:00 via Android
    @imnpc 是指黑苹果吗
    zu1y
        36
    zu1y  
       2023-06-23 00:06:46 +08:00
    jdk8 没什么兼容性问题,开发 Java 唯一碰到的问题是早期版本 protobuf 的 protoc 没有 mac 版本,升级一下版本就解决了。
    zu1y
        37
    zu1y  
       2023-06-23 00:08:38 +08:00
    说错了,早期版本 protoc 没有 osx-aarch 版本
    thin0
        38
    thin0  
       2023-06-23 00:14:14 +08:00
    话说现在 m 芯片对虚拟环境的支持怎么样了,虚拟机、docker 之类的。我记得以前不是说 vmware 都不能用吗
    pengdirect
        39
    pengdirect  
       2023-06-23 00:21:04 +08:00 via iPhone
    怎么寄回国内呢?
    isbase
        40
    isbase  
       2023-06-23 00:37:34 +08:00 via iPhone
    一线大公司默认就是最新的 Mac
    levelworm
        41
    levelworm  
       2023-06-23 00:54:40 +08:00 via Android
    没啥问题,公司配的 M1 32GB 很够用了。
    FightPig
        42
    FightPig  
       2023-06-23 01:28:42 +08:00
    现在就别买啥 x86 了吧,m1 m2 随便搞
    zhongbeyond
        43
    zhongbeyond  
    OP
       2023-06-23 10:32:07 +08:00 via Android
    @byte10 m 系列性能和散热确实是可以的。功耗比有很大优势
    pusidun
        44
    pusidun  
       2023-06-23 12:20:45 +08:00
    有虚拟机需求吗,有还是不要用 arm ,太麻烦了
    zhongbeyond
        45
    zhongbeyond  
    OP
       2023-06-24 11:17:54 +08:00 via Android
    @theliang 方便分享一下黑苹果配置吗。
    zhongbeyond
        46
    zhongbeyond  
    OP
       2023-06-24 11:18:35 +08:00 via Android
    @murmur 这么悲催吗,是 OC 那种老项目,还是 swift 新项目
    zhongbeyond
        47
    zhongbeyond  
    OP
       2023-06-24 11:34:44 +08:00
    @Caelan 感谢分享。有进行过大版本升级吗。稳定性如何
    murmur
        48
    murmur  
       2023-06-24 11:42:01 +08:00
    @zhongbeyond oc 的,报 deprecated api 有 600 多个,现在 xcode 停留在 12.x 不敢升,怕炸了
    zhongbeyond
        49
    zhongbeyond  
    OP
       2023-06-24 11:43:29 +08:00
    @CEBBCAT
    我的内容并没有偏题啊,确实是兼容性方便的一些讨论。
    公司+个人的项目,项目类型非常多,Web 项目( Java ,Golang ,Nodejs, PHP, Ruby ),移动端(安卓,iOS ),新老版本都会有;甚至有的版本很老,比如 node8, java 8, ruby 2.4x 。
    我碰到过不少项目,项目已经年久失修,开发人员已经全部离职,没地方问,比如还在用 ruby 2.x 和 node8 ,你用新一点的版本都无法构建通过。当时排查了差不多十几天。 那如果还要去看看是不是 ARM 的问题,那都没法干活了。
    评论区的 v 友,甚至碰到连 iOS 在 m 上都无法编译的问题。 这种问题无法 Google 出来的,Google 搜索出来,基本都是啥啥软件支持 arm ,啥啥不支持。这种搜索是徒劳的。
    zhongbeyond
        50
    zhongbeyond  
    OP
       2023-06-24 11:50:04 +08:00
    @pusidun 有,还经常用到虚拟机,比如装个 win7 ,Linux 。 之前就听说 VMWare/PD ,这类对 ARM 支持有问题,现在还是没改善吗?
    pusidun
        51
    pusidun  
       2023-06-24 12:09:25 +08:00
    @zhongbeyond vmware fusion ,你装 windows 需要专门找 arm 版的镜像,装完还不一样没问题,很麻烦。我需要 windows 环境都是直接申请的云主机,然后远程桌面
    zhongbeyond
        52
    zhongbeyond  
    OP
       2023-06-24 13:54:21 +08:00 via Android
    @Inn0Vat10n 我还有不少安卓和苹果 ios 的老项目,oc 的,你看评论区的 v 友,都编不过去。
    zhongbeyond
        53
    zhongbeyond  
    OP
       2023-06-24 13:59:12 +08:00 via Android
    @pusidun 对对,V 佬有经验。我两年前有一些项目,是做应用移植的项目,移植到 ARM 平台,比如 Java8 Node 等项目。
    首先要做的事情就是相关 Docker 镜像的移植。
    很多基础镜像都没有 ARM 版本的,需要手动从底层开始,从下往上,不断地手动重新构建镜像。非常麻烦。
    theliang
        54
    theliang  
       2023-06-24 14:24:20 +08:00
    @zhongbeyond 我在某宝买的黑果小兵的产品,系统是它给装好的,配置是 i9 10 代 16+500 ,然后自己加了 32G 内存
    nutting
        55
    nutting  
       2023-06-24 15:19:51 +08:00
    13 代黑果:rx580+双 27 寸 4k + 64 内存,很爽
    yc8332
        56
    yc8332  
       2023-06-24 17:37:25 +08:00
    需要 x86 。就买个二手的算了。
    zhongbeyond
        57
    zhongbeyond  
    OP
       2023-06-24 20:52:19 +08:00 via Android
    @nutting 感谢分享
    zhongbeyond
        58
    zhongbeyond  
    OP
       2023-06-24 20:57:51 +08:00 via Android
    @theliang 感谢分享。目前用什么版本,大版升级正常吗?
    theliang
        59
    theliang  
       2023-06-25 10:51:53 +08:00
    @zhongbeyond 目前 13.0 (22A380), 我买来后升级到的 13 ,支持直接升级,基本和 mac mini 差不多了
    zhongbeyond
        60
    zhongbeyond  
    OP
       2023-06-25 11:13:51 +08:00
    @theliang 如果这样,黑果真不错,内存硬盘现在都是白菜价了,随便加。 苹果就是赚这个钱,跟奢侈品一样。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5321 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 07:58 · PVG 15:58 · LAX 23:58 · JFK 02:58
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.