在開發環境上,有mac是不是可以完全不用ubuntu了?


不是。只是比較像而已。很多開發工具和庫的細節都不完全一樣。


如果你是做web開發的話,是可以借用mac的開發環境的,不過仍然需要在與部署環境相同的OS上測試,首先要測試的是部署腳本。其實由於伺服器多是部署在CentOS上,所以即便用Ubuntu開發,最後還是要找CentOS的機器測試的。


看需求

至少Android開發從framework層到app層都是沒有任何問題的。Ubuntu和Mac都是官方推薦的開發環境

服務端開發的話,如果是寫Php,Nginx配置等等,都是無所謂的,完全一樣。如果是運維需要搭建環境什麼的,那往往伺服器是Centos或者redhat,和Ubuntu以及Mac都不太一樣,所以一般都是ssh遠程開發選哪個系統也無所謂

至於其他的一些,比如j2ee的,必然也是無所謂的(除了環境配置略有區別,最後跑的程序都是一樣的)


提問者這個問題問的不夠詳細,比如說,你主要是業務開發還是基礎架構,是用的是python、java等跨平台的語言,還是c等較底層的語言,這裡只是說說我的現狀吧,順便普及一下Linux和Unix的激情史。

我現在在公司主要做後端開發,個人機器是mbp,系統式ml。開發所用語言大部分是python以及命令行,最近開始接觸到c。

使用python的話,因為是跨平台的,其實都差不多,主要還是和python版本有關係,和操作系統倒是關係不大了,內置方法還有一些通用庫不同系統都一樣。但是一些可能牽涉到底層的第三方庫在不同的操作系統上會有些許差異,我曾經用到過的一個第三方庫psutil(一個可以獲取當前機器資源使用情況的庫)在mac上就無法獲取到單個進程的磁碟IO,但是在linux上面就可以。

其實就底層而言,apple的os核心是基於Berkeley Software Distribution (BSD)的,基於的是Unix核心,而Ubuntu的核心是基於Linux的,這就不得不去挖Linux的祖墳了。當初Linux剛剛誕生的時候,Linus為了unix上面的軟體可以在自己機器上跑,就參照了POSIX規範,那這個規範又是什麼呢?這個規範主要就是針對Unix核心和應用程序運行時的介面制定的,所以說,Linux有了這個良好基礎,就基本上兼容了Unix的很多系統調用了。

扯著扯著就扯遠了,雖然基於以上Linux和Unix的激情史,感覺兩個系統都差不多,但是建議在正式運行之前,在和線上機器OS一致的機器上測試一下,這裡指的OS一致,是嚴格的一致,不能說CentOS和Ubuntu都是使用linux核心,所以他們是一致的,因為他們雖然都是使用的Linux內核,但是是不同的Distribution,一些工具,還有一些系統服務可能會有差異。


我選了mac

1 mac 比ubuntu 各種好用

2 生產環境是CentOS,開發用Ubuntu還是各種差異

所以直接mac了


編譯uboot和kernel好像不會那麼順利的


裝個虛機就好了啊


mac的brew不是很強大


不是,沒有mac也可以完全不用ubuntu。

開個玩笑~不過說實話,mac作為開發機確實不錯,只是生產環境大多是linux,看你搞什麼開發了,有時候儘管你用mac,為了獲取和生產環境一致的測試環境,還需要在上面安裝虛擬機。所以可以不用ubuntu,但不一定能完全不用linux。


最合理的莫過於,還是把小黑留著,mac主打開發,小黑留著測試。


推薦閱讀:

TAG:macOS | 互聯網 | Linux | Ubuntu | 開發環境 |