搭載M1晶片的MacBook能不能當開發主力機?程式設計師半個月的親身體驗...

2020-12-01 澎湃新聞

曉查 發自 凹非寺

量子位 報導 | 公眾號 QbitAI

MacBook換成ARM晶片後,它還是程式設計師的開發利器嗎?

經過國外程式設計師半個多月來的嘗試,一些常見開發工具的兼容狀況也得到披露。

Xcode、VS Code、Homebrew……等常用工具能夠完美運行嗎?如果你還在因為這些問題猶豫要不要買,那麼看了這篇文章或許能得到答案。

代碼編輯器

Vim是通用二進位文件,因此它已經能在M1上直接運行。

VS Code可以通過Rosetta 2轉換來運行,而insider版已經原生支持ARM平臺的MacBook,相信正式版也不會太遙遠。

Xcode

蘋果第一方開發工具Xcode自然不必擔心兼容性,而且它在M1晶片上的運行效率很高。

編譯PSPDFKit PDF SDK,在2019年16英寸MacBook Pro上耗時7分31秒,在M1版MacBook Air上則耗時8分49秒,而後者是無風扇的。

不過Xcode在測試低於iOS 14版的應用程式時,會出現一些問題。WebKit會在內存分配器中崩潰,Xcode有時會定期卡死。

因此如果你要測試較低iOS版本程序,還是在Intel版的MacBook上運行,或者希望下一次Xcode更新時,蘋果能解決這個問題。

Docker

現在Docker無法在M1晶片上運行,也無法通過Rosetta 2轉換的方式使用Docker Desktop。

但是同樣使用ARM晶片的樹莓派卻能做到。

所以在MacBook上運行Docker最好的方法是:運行ARM版Linux虛擬機,在虛擬機中運行Docker。

具體操作方法請參照這篇教程:

https://finestructure.co/blog/2020/11/27/running-docker-on-apple-silicon-m1

至於Docker官方何時將提供支持,可以註冊Docker ID來獲取最新進展。

Homebrew

Homebrew可以通過Rosetta 2轉換的方式進行安裝,方法也很簡單,只需在過去的安裝命令前加上arch -x86_64即可。

$ arch -x86_64 /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"

這種通過轉制的Homebrew在某些軟體上可能有一些兼容性問題,因此建議安裝另一個手動編譯版:

$ sudo mkdir -p /opt/homebrew

$ sudo chown -R $(whoami):staff /opt/homebrew

$ cd /opt

$ curl -L https://github.com/Homebrew/brew/tarball/master | tar xz --strip 1 -C homebrew

第一種方式安裝的Homebrew在/usr/local/bin目錄下,而第二種方式安裝的在/opt/homebrew目錄下,後者不會自動添加到PATH環境變量中,因此需要手動設置:

export PATH="/opt/homebrew/bin:$PATH"

這樣,你的Mac裡就有了兩個Homebrew:一個是Rosetta轉換的,一個是原生的。原生的目錄在前面,那麼brew命令將默認運行這個版本。

如果想運行Rosetta轉換版怎麼辦?我們可以單獨設置一個ibrew命令:

alias ibrew='arch -x86_64 /usr/local/bin/brew'

目前,Homebrew尚未提供用於ARM Mac的預編譯軟體包,因此最好使用brew install -s 命令進行安裝。

具體有哪些軟體包不兼容,可以到GitHub項目頁的issue中查詢:

https://github.com/Homebrew/brew/issues/7857

其他常用軟體

說到編程必備,怎麼能少得了Chrome,現在Chrome 87版已經開始支持M1版的MacBook。

還有微軟的Office三件套,若使用Rosetta 2轉譯,啟動時間可能需要20秒。官方建議安裝針對macOS Big Sur優化的16.43版。

微軟官方表示,已經開始將Mac應用程式遷移到通用二進位文件,未來Office三件套的兼容性不成問題。

如果是基於Electron的應用程式,經過Rosetta 2轉譯後速度會變得很慢。原因可能是V8 JavaScript編譯器似乎阻止了提前翻譯。

現在最新版的Electron(Version 11)已經支持了M1晶片,還需要等其他開發者更新軟體。

由於Rosetta 2轉譯的程序會變成只讀文件,因此自動更新將被禁止,此類程序需要用戶手動更新。

虛擬機和Windows

雖然VMware和Parallels可以在M1晶片的MacBook上使用,但是所有Mac虛擬化解決方案均不支持Apple Silicon。免費開源的虛擬機Virtualbox更是無法運行。

現在ARM版Windows可以仿真x86應用程式,而微軟正在研究x64仿真。

最近模擬器軟體CrossOver展示了,但這只是運行單個程序,而非運行虛擬機和整個系統。

而且M1最高只支持16GB內存,對虛擬機來說顯得有些捉襟見肘。

在運行並行測試時,Mac開始大量在硬碟和內存之間進行數據交換,性能確實下降了。對於運行的虛擬機,這會帶來更多的問題。

結論

新款搭載M1晶片的MacBook速度快、運行安靜,但是在軟體方面還需要做很多工作,才能趕上搭載Intel晶片的MacBook。

你可以拿它作為第二臺開發電腦使用,如果作為主力開發機,可能會遇到這樣那樣的問題。想要更好的兼容性需要等到明年軟體廠商更新,或者是M2發布。

另外,最高16GB的內存對程式設計師來說可能還是不夠,希望未來的Mac有32GB內存可選。

參考連結:

https://news.ycombinator.com/item?id=25238608

https://steipete.com/posts/apple-silicon-m1-a-developer-perspective/

https://soffes.blog/homebrew-on-apple-silicon

https://github.com/mikelxc/Workarounds-for-ARM-mac

— 完 —

本文系網易新聞•網易號特色內容激勵計劃籤約帳號【量子位】原創內容,未經帳號授權,禁止隨意轉載。

原標題:《搭載M1晶片的MacBook能不能當開發主力機?程式設計師半個月的親身體驗都在這裡》

閱讀原文

相關焦點

  • 蘋果M1 Mac設備無法禁用電池健康管理功能、軟體兼容性怎麼樣?
    最近許多用戶都在使用體驗並親測蘋果M1 處理版的MacBook 系列,我們都知道搭載蘋果 M1 晶片的 Mac 不能通過 Boot Camp 安裝 Windows 作業系統,也不能通過虛擬機安裝 Windows。
  • 蘋果M1晶片:如何開啟一個時代
    這場壓軸大戲上,發布了蘋果自研晶片Apple Silicon的第一代產品:M1晶片。首批搭載M1晶片的Mac機器共有三款:MacBook Air、13寸MacBook Pro和MacMini。不管是發布會上公布的性能提升,還是這幾天關於這幾款機器的實際評測紛紛出爐,M1晶片的性能和功耗完全超出人們預期,用「顛覆」來形容也不為過。今天的文章就來聊聊蘋果的M1晶片。
  • 搭載M1晶片的蘋果筆記本要是不能安裝windows,你還買嗎?
    而如今蘋果新款的筆記本是搭載M1晶片,是ARM架構的,而之前windows系統是不支持的!所以很多人在購買之前就在網上問了這樣一件事,那麼搭載M1晶片的蘋果筆記本會支持windows晶片嗎? 最近終於得到了蘋果官方的回應: 蘋果軟體工程主管Craig Federighi日前接受媒體採訪時表示,首先明確了一點,目前M1處理器不支持Windows,也沒有像Intel Mac上那樣的Boot Camp功能,但很多人都在期待M1 Mac能支持
  • 蘋果留一手:迄今為止最便宜MacBook亮相 搭載M1處理器
    這搭載M1處理器的新終端才陸續剛上市,蘋果這塊已經在做調整,具體來說就是悄悄加入了更便宜的版本。現在,蘋果官網上出現了一款新版本的M1 MacBook Air,其售價799美元,約合人民幣5300元左右,存儲空間是128GB版本,而之前的常規版M1 MacBook Air只有256GB、512GB、1TB或2TB的存儲空間。
  • 蘋果老用戶想換 M1 晶片 MacBook,這神器別錯過
    儘管蘋果通過 Rosetta 2 轉換層來試圖解決 x86 軟體在 ARM 硬體上運行的兼容問題,但 Rosetta 2 並不是萬能的,不少老軟體仍不能完美運行。作為一名蘋果的老用戶,想要知道手中 Mac 上滿滿的軟體,到底有幾個能在新 MacBook 上跑起來,至關重要。今天,就給大家介紹一款神器,分分鐘就能知道這個問題的答案!
  • 蘋果M1 性能詳細分析:一萬字的總結
    M1 電腦的實際體驗Rosetta 2 真的這麼好嗎沒有適配 M1 的軟體是通過 Rosetta 2 運行的,Rosetta 2 就像一位翻譯,它把 M1 不能直接識別的代碼翻譯為 M1 能識別的代碼。
  • 蘋果M1芯MacBook還能這麼玩:完美運行iPhone App
    提到蘋果自研的M1處理器以及首批搭載的MacBook筆記本產品,人們總是把視線聚焦到性能和價格之上,從而忽略了應用層面可能存在的突破。而就在蘋果M1晶片MacBook筆記本正式發售後,很多玩家發現驚人可以完美兼容iPhone和iPad的IOS生態的App。
  • 搭載海思麒麟晶片的華為P40系列手機
    華為P40從4月份上市截止到現在,已經過去5個多月時間,銷量還是非常樂觀的,華為P40搭載海思麒麟990 5G SoC晶片。該款手機分為P40、P40 Pro、P40 Pro+,三款參數都不盡相同。華為P40顏色分為亮黑色、晨曦金、深海藍、零度白、冰霜銀,屏幕採用6.1英寸的OLED全面屏,後置攝像頭採用超感知萊卡三攝1/1.28英寸超感知傳感器,鏡頭擁有三倍光學變焦,30倍數字變焦, P40採用用華為海思麒麟990 5G SoC晶片。
  • 用蘋果M1電腦,打Windows遊戲,是種什麼體驗?
    除了CPU、GPU等性能指標外,國外一些極客朋友們,也陸續展開了一些好(zuo)玩(yao)的測試:在蘋果M1電腦上,運行Windows x86程序,是一種什麼體驗?不賣關子,先公布「答案」——飛一樣的感覺。
  • 蘋果M1 晶片首次為 Mac Mini 和入門級 13 英寸 MacBook Pro 帶來...
    IT之家 11 月 11 日消息 蘋果新推出的 Mac mini 和 13 英寸 MacBook Pro 機型採用定製設計的 M1 晶片,最高可兼容 6K 顯示屏,包括蘋果的 Pro Display XDR。
  • 新款MacBook Pro M1晶片版詳細技術規格參數 續航、內存尺寸等參數
    新款MacBook Pro M1晶片版詳細技術規格參數 續航、內存尺寸等參數 蘋果在11月11日發布了最新款搭載
  • 蘋果macbook pro花屏怎麼辦 蘋果macbook pro花屏解決方法
    在蘋果官方論壇裡,去年2月1日的一個帖子如今已經被頂到了338頁、5069樓,訪問量接近54萬,回帖者幾乎遍布中國、美國、英國、荷蘭、日本等全球各地,全是在反映「MacBook Pro花屏事件」。但遺憾的是,時至今日,蘋果官方仍未做出任何回應。
  • 程式設計師及嵌入式的一些學習建議
    但是又有幾個人能走到設計師、經理的位置,這使得好多想做程式設計師的畢業生很猶豫,不知道到底該不該做程式設計師。其實大部分職業都一樣,有能力的自然會往高處走,沒能力的自然就被淘汰。優勝劣汰的原則大家都知道,幹別的行業三四十歲無所建樹不也玩完嗎?
  • M1 版 MacBook 系列的實際上手體驗如何?
    2.但近十年來,行動裝置的崛起,讓兩個廠商的晶片聲名鵲起,這就是高通的驍龍系列,還有蘋果的 A系列,比如在最新 iPhone 12 上搭載的 A14。它們的優勢在於集成度高,能耗控制強,但相對性能較弱。而這兩種晶片,採用的是一種叫做「Arm」的框架。
  • 全球首款搭載5G模組防爆AR智能頭盔,搭載北鬥定位和高性能國產AI晶片
    打開APP 全球首款搭載5G模組防爆AR智能頭盔,搭載北鬥定位和高性能國產AI晶片 映維網 發表於 2020-11-30 16:18:40
  • 搭載3500ANSI,白天到底能不能看?堅果新品投影簡單體驗
    那麼,今天給大家分享的智能硬體體驗,就是一款來自堅果智能影院近期發布的:堅果L6_H智能投影儀!好了,閒話我就不多說了,下面就讓我們一起來看看「堅果L6_H」簡單的使用體驗吧!目前的智能投影儀,大致可以分為:LED投影,燈泡投影,以及雷射投影!而LED投影體積小,但是流明亮度低!燈泡投影儀雖然流明亮度高,但體積大,噪音大!
  • 蘋果首款 Apple Silicon 晶片為12核,MacBook Pro首發搭載
    7月19日消息,據國外爆料人 a_rumors0000 最新透露,Apple Silicon 目前已確定將擁有 12 核配置,今年蘋果新款 MacBook 將首發搭載,徹底代替存續多年的 Intel x86 處理器。
  • 搭載U1晶片集成AR功能,離線也能用 - 智東西
    ▲視頻第1分40秒顯示,當在蘋果手機中依次點擊「設置>查找>查找我的iPhone>」時,會出現「啟用離線查找」選項。在這一選項下寫出了:在未接入Wifi和蜂窩網絡時,本設備和AirTags也能被找到。
  • 你知道高級程式設計師必備的Java開發工具嗎?
    Java程式語言的流行趨勢,帶動了一批Java程式設計師,而每一位Java程式設計師都會有套工具來應對工作上的挑戰。多年來,Java程式設計師使用軟體來完成他們的工作。有很多工具對他們是有用的,而今天小編將列出六款Java程式設計師必備的工具。1.