為什麼要考慮使用Linux進行Web開發
如果您為網路設計和/或開發,很可能您正在使用執行OS X的Mac。您使用Windows的機會略少,但仍然相當不錯。無論哪個,你可能對你的環境感到滿意。這很好,因為OS X和Windows都可以創建出色的開發環境。我這篇文章的目的不是試圖說服你為什麼你選擇的作業系統很差而且我的優越。但我寧願提出第三種選擇,一種你可能沒有嘗試過的,甚至可能都沒有考慮過的選擇。
根據我的經驗,Linux出於多種原因非常適合Web開發。我想提出一些這樣的理由,試圖啟發並告知那些喜歡嘗試新事物的人。也許你會發現Linux不適合你,這沒關係。但是你可能只是發現了一個方便和高效的全新世界,轉而使用Linux並且永遠不會回頭。你不會是第一個。
關於Linux的誤解
首先,我想奠定一些關於Linux的常見誤解和誤解。
Linux很難安裝和使用
新Linux使用者需要了解的第一件事是沒有名為“Linux”的作業系統。Linux是一個作業系統核心 - 作業系統的基本核心元件。當我們談論使用Linux時,我們談論的是使用Linux的許多發行版之一。Linux發行版(或“發行版”)是圍繞Linux核心構建的作業系統。為簡單起見,我們經常將作業系統本身稱為“Linux”。
沒有兩個發行版是完全相同的,並且它們在進入障礙方面變化很大。有些是為那些在家中配置引導載入程式,安裝檔案系統和手動編譯軟體的核心Linux極客建立的。正是這種Linux的風格使它具有極其難以使用的聲譽。但其他發行版則面向那些想要功能齊全,功能齊全的系統的使用者,該系統無需任何手動配置或深入的系統專有技術即可執行。最受歡迎的Linux發行版屬於第二類。
我將假設大多數可能考慮轉換到Linux作業系統的Web開發人員屬於第二類。在這種情況下,我推薦任何這些發行版:Linux Mint,Ubuntu,基本作業系統,Zorin作業系統和openSuse。所有這些都將使Windows或OS X使用者感到賓至如歸。一切都會奏效。
Linux是“便宜的”
當你告訴某人他們認為應該花費很多錢的東西實際上是免費的時候會發生一件奇怪的事情。他們的第一直覺是假設它的質量低於他們支付大量現金的類似物。我想這是可以理解的。如果我為一輛新吉普車支付30,000美元,然後有人向我展示了一輛類似的外觀類似功能的車輛,它不需要任何費用,我將假設有一個重要的問題。但關於Linux的事實是,沒有一個問題。軟體分發與汽車行業(或大多數其他行業)的工作方式不同。有時人們只想創造出令人敬畏的東西並與世界分享。作為Web開發人員,我們應該熟悉這個概念,因為我們許多人都喜歡併為開源軟體做出貢獻。我們是否認為jQuery“便宜”,因為我們不需要付錢?不。這與Linux的處理方式相同。
一切都在命令列完成
這與第一點類似。那裡有開發人員 - 如果你是其中之一,也不會感到羞恥 - 他們很快就會得到根管,而不是在命令列上工作。雖然我個人並不理解這種對終端的蔑視,但我可以提供好訊息。我上面推薦的發行版(以及許多其他發行版)不需要比你已經習慣的命令列使用更多的命令列。許多工,如安裝新軟體或使用構建工具,一旦習慣了命令列,就會更快,更容易,但絕對需要它的任務是例外而不是規則。
Linux與我的鍵盤/滑鼠/印表機/圖形卡/USB驅動器/任何東西不相容
這在十年前可能已經部分正確,但大多數現代Linux發行版都像Mac或Windows一樣具有即插即用功能。我在Windows上安裝新硬體比在Linux上遇到更多困難。現代Linux發行版的建立者和貢獻者通常將裝置相容性作為其首要任務之一。
為什麼我使用Linux進行Web開發
我們來吧。以下是我最喜歡Linux的東西。
你可以讓自己的環境
向任何粉絲詢問他們最喜歡Linux的內容,他們的第一個答案可能是“可定製性”。作為一名設計師,我喜歡創造獨特的東西。作為開發人員,我希望我的環境能夠如此。如果你在這方面和我一樣,那麼你會喜歡Linux提供給你的可定製性。我們不只是談論桌面桌布和圖示大小。一切可以在Linux中自定義,從更改菜單面板的位置到選擇完全不同的桌面環境。不喜歡用於啟動Sublime Text的命令?更改。不喜歡你的窗戶相互對立的方式嗎?更改。如果您發現自己受限於所提供的選項,您可以破解程式碼並建立自己的選項。這就是在開源作業系統中工作的美妙之處。
Linux是免費的
大多數發行版都是在GNU通用公共許可證(GPL)下發布的,這意味著它們可以免費使用並可以自由複製,分發和修改。試用Linux作業系統就像下載您感興趣的發行版的影象檔案一樣簡單,將其刻錄到CD並將其彈出到您的計算機中。如果您喜歡所看到的內容,可以將其與現有作業系統一起安裝。如果你厭倦了它,只需下載一個不同的發行版,然後給它一個旋轉。
就像我之前提到的那樣,不要把自由與廉價混淆。“你得到你付出的代價”通常在生活中成真,但不是在這裡。現代Linux發行版快速,優雅,功能豐富,穩定且高度可用。
您的開發環境將與您的生產環境相匹配
這是一個很大的問題。您的生產伺服器在Linux上執行Apache有一個非常好的機會。當您在本地執行Linux時,您可以完全模仿此生產環境。相同的檔案系統許可權,相同版本的PHP / Ruby,相同的Web伺服器等。這意味著當您在本地測試您的站點時,可以確保它在部署之後正好像它一樣執行,並且您可以更少可能會遇到特定於平臺的問題。這使得部署更簡單,更可預測,更無錯誤的過程。
Linux在較小的硬體上執行良好
Linux作業系統比Windows或OS X更輕,資源更少,這意味著您可以從2003年啟動舊的戴爾Inspiron膝上型電腦,啟動Linux,並且您可以順利完成所有開發任務。甚至有一些Linux發行版如此輕量級,它們可以完全駐留在小型USB驅動器上。當你考慮Linux的價格(零美元)時,這一點就會被放大。Linux使它變得便宜而且易於為硬體注入生命,而這些硬體本來就是垃圾。
Linux像地獄一樣穩定
當你正在解決一個棘手的問題時,沒有比讓你的程式碼編輯器崩潰更糟的了。或者更糟糕的是,作業系統本身會凍結並需要重新啟動。現在,每個作業系統和每個軟體都有可能崩潰,但根據我的經驗,Linux作業系統是最不容易出現意外軟體崩潰和錯誤效能的。這是許多人將它們用作Web伺服器的主要原因。
有些發行版比其他發行版更穩定。Debian的聲譽是最穩定的發行版之一。在堅如磐石的表現方面,我對Xubuntu運氣不錯。執行Xubuntu,我至少在九個月內不必重新啟動計算機。
您的許多工具在Linux上都能更好地執行
許多流行的Web開發工具和語言都是為類Unix系統(例如Linux)設計的。Ruby,Jekyll,Grunt,Git(由Linux的建立者Linus Torvalds建立)僅舉幾例,在Unix和基於Unix的系統上都表現得更好。您無需安裝額外的shell軟體或擔心繫統相容性。在Linux上,一切都將像絲綢一樣流暢。好吧,停止在螢幕上尖叫 - 我意識到Mac OS X是一個Unix系統,幾乎所有在Linux上執行的東西都可以在Mac上執行。所以公平地說,這一點只適用於Windows使用者。
為什麼你不應該使用Linux
我只能想到一個原因,但這是一個很糟糕的事情:
您無法在Linux上執行Adobe軟體
哎喲。這一個很痛。但是,讓我向您介紹一些安慰:您可以在Linux中執行VM軟體VirtualBox,沒有任何問題。然後,您可以將Windows安裝為VirtualBox中的虛擬機器,安裝任何您喜歡的Adobe軟體,它將在您的虛擬Windows安裝中執行良好。這就是我的工作,我幾乎每天都使用Photoshop。由於您在作業系統中有效地執行作業系統,因此您需要具有相當大記憶體量的計算機(我說最少8GB)。
你可能認為這個解決方案有點麻煩,我明白為什麼。本地執行軟體比在VM中執行它感覺更好。但這裡的原因,至少對我來說,這個解決方案是完全充分的:我需要執行的虛擬機器反正我的Internet Explorer的測試。我有四種不同的Windows虛擬安裝,每種安裝都有不同版本的IE。因為我無論如何都住在這些虛擬機器中,使用一臺作為我的Photoshop機器是沒有汗水的。我通常會讓我的Photoshop VM不斷執行,因此切換到它很簡單。