精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

搭載M1芯片的MacBook能不能當開發主力機?入手半月的程序員告訴你

工程師鄧生 ? 來源:量子位 ? 作者:曉查 ? 2020-11-30 15:36 ? 次閱讀

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。

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

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

Homebrew

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

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

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

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

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

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

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

其他常用軟件

說到編程必備,怎么能少得了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展示了在Mac上運行Windows軟件的能力,但這只是運行單個程序,而非運行虛擬機和整個系統。

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

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

結論

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

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

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

責任編輯:PSY

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 芯片
    +關注

    關注

    454

    文章

    50444

    瀏覽量

    421922
  • 開發
    +關注

    關注

    0

    文章

    367

    瀏覽量

    40811
  • macbook
    +關注

    關注

    0

    文章

    496

    瀏覽量

    41657
收藏 人收藏

    評論

    相關推薦

    程序能不能同時兼容ADS131M03和ADS131M04?

    請教一下,程序能不能同時兼容ADS131M03 和ADS131M04,我只需要3個ADC采集,但是這兩個芯片一直供貨不太穩定。
    發表于 11-25 08:05

    Linux驅動程序程序員指南

    電子發燒友網站提供《Linux驅動程序程序員指南.pdf》資料免費下載
    發表于 11-22 15:53 ?0次下載
    Linux驅動<b class='flag-5'>程序</b><b class='flag-5'>程序員</b>指南

    AI編程工具會不會搶程序員飯碗

    AI編程工具可輔助編程,減少手動編碼,提升效率,對程序員有積極影響也有挑戰。程序員需深化技能、拓寬知識應對。長遠看,AI與人類程序員將共生共榮。
    的頭像 發表于 11-08 10:17 ?112次閱讀

    用STM32進行bootloader開發時,能不能將boot和app程序的hex合成為一個hex進行燒錄?

    大家好,請問用STM32進行bootloader開發時,能不能將boot和app程序的hex合成為一個hex進行燒錄?我之前分別燒錄兩個hex,是可以實現功能的,不知道合成一個hex燒錄行不行。 我
    發表于 04-01 08:20

    stm32mp135f的開發環境能不能像普遍的mp1系列去搭建呢?

    我們要使用stm32mp135f芯片,它的開發環境能不能像普遍的mp1系列去搭建呢(例如stn32mp157)
    發表于 03-20 06:32

    蘋果發布搭載M3芯片的新款MacBook Air

    蘋果近日在線上發布了搭載全新M3芯片MacBook Air,這款電腦在性能上有了顯著的提升。據官方數據顯示,相比之前的M1
    的頭像 發表于 03-13 17:05 ?930次閱讀

    M1芯片M3芯片相差大嗎

    M1芯片M3芯片在性能和應用上確實存在一定的差異。
    的頭像 發表于 03-13 16:41 ?2953次閱讀

    蘋果研發搭載M4芯片MacBook Pro

    現行MacBook Pro于2023年10月首次問世,搭載M3芯片,該芯片采用與iPhone 15 Pro中A17 Pro同款的3納米制程工
    的頭像 發表于 03-13 09:24 ?1172次閱讀

    M1芯片M3芯片的區別

    M1芯片M3芯片都是蘋果自家研發的處理器,它們在性能和設計上各有特點。
    的頭像 發表于 03-11 16:37 ?3280次閱讀

    M1M2和M3芯片是什么意思

    M1M2和M3芯片都是蘋果公司推出的自研處理器芯片,具有不同的特點和發布時間。
    的頭像 發表于 03-08 15:51 ?5516次閱讀

    搭載M3芯片的新款MacBook Air發布

    新款MacBook Air系列筆記本電腦搭載M3芯片,這一舉措進一步提升了該系列機型的性能和續航能力,為用戶帶來了全新的使用體驗。
    的頭像 發表于 03-07 17:18 ?921次閱讀

    蘋果發布搭載M3芯片MacBook Air

    蘋果于2024年3月4日晚在其官網推出了新款MacBook Air,這款筆記本搭載M3芯片,并于3月8日起正式發售。新款MacBook A
    的頭像 發表于 03-06 10:12 ?829次閱讀

    同VLAN不同的網段能不能互通?

    同VLAN不同的網段能不能互通? 同一個VLAN中的設備擁有相同的網絡地址范圍,因此它們可以通過該VLAN進行通信。而不同VLAN中的設備擁有不同的網絡地址范圍,它們通常不能直接互通。然而,在某些
    的頭像 發表于 02-04 11:21 ?2956次閱讀

    pcb壓合緩沖墊,究竟能不能的電路板更安全?

    pcb壓合緩沖墊,究竟能不能的電路板更安全?
    的頭像 發表于 12-27 10:13 ?841次閱讀

    C語言中結構體能不能相加

    C語言中,結構體能不能相加?
    的頭像 發表于 12-19 17:04 ?1218次閱讀
    C語言中結構體<b class='flag-5'>能不能</b>相加