Linux有很多優點。它是大量發行版的核心組件,是一個大型移動平臺賴以生存的平臺,比其他更流行的操作系統更好(絕對不是一個觀點)。
不過,它的一個缺點是在桌面上不太受歡迎:程序的可用性。幸運的是,有一些事情可以幫助這一點,莫諾是其中之一。
軟件框架不是最令人興奮的東西,但它們以自己的方式很有用,在幕後工作。它們允許人們輕鬆地為他人開發應用程序,而不必完全從頭開始。Mono就是其中之一,就像.NET框架一樣。
這些框架可以用於特定的桌面環境,也可以用於多個操作系統。例如,KDE Pla**a desktop有多個軟件,這有助於更輕鬆地編寫集成的本機應用程序。這包括他們自己的集成開發環境KDevelop。
這對最終用戶也有很多好處。開發人員能夠更快、更容易地創建應用程序,因此可以更快地推動更改和改進。當你站在巨人的肩膀上時,到達那個額外的高度就不會那麼痛苦了。
有些框架本質上是跨平臺的——用它們編寫的程序可以在不同的操作系統之間工作。這對開發人員和最終用戶都很有用。一方面,這樣的程序可以接觸到更多的人,另一方面,更廣泛的用戶群提供了更高的可靠性。
Mono是Windows、macOS、Linux等平臺上提供的跨平臺框架的一個例子。它最初是作為.NET框架在Linux上的開源實現而設計的。從那時起,它變成了更多的東西,支持多種不同的操作系統。
Mono(如.NET)與C#編程語言緊密相連,以其高度的可移植性而聞名。例如,Unity遊戲引擎使用C#作為創建視頻遊戲的跨平臺方式。這在一定程度上是由於語言的設計。C#可以轉換成CIL(公共中間語言),既可以編譯成本機代碼(更快,更不易移植),也可以通過虛擬機運行(更慢,更易移植)。Mono提供了編譯和運行C程序的方法,類似於.NET框架。
如今,它是由它試圖仿效的軟件的所有者開發的:微軟。隨著.NET框架的開源,Mono比以往任何時候都更像它,能夠將其代碼集成到自己的設計中。該項目還包括一個名為MonoDevelop的特殊IDE(集成開發環境),有點類似於visualstudio的Linux等價物。
考慮到所有這些,很明顯Mono的跨平臺特性對於從Windows遷移到Linux的用戶非常有用。它充當了兩個操作系統之間的另一個橋接點,以消除切換中的一個更大的問題:獨佔軟件。
有許多程序是用Mono編寫的。這些應用程序很有可能是跨平臺的,可以在多個操作系統之間使用。除此之外,Mono實際上還支持許多現成的.NET二進制文件(即在visualstudio中編寫的C#EXE文件)。因此,還沒有在Linux上運行的.NET程序很可能會在將來出現。
您甚至可能在不知不覺中使用了其中一個應用程序!
KeePass是一個優秀的離線密碼管理器。這意味著,與LastPass不同的是,為了方便起見,您的信息不會綁定到服務器。但這可能是一個值得付出的代價,更高水平的控制在你手中。
它也是用Mono編寫的,可以跨多個不同的平臺運行。雖然它主要針對Windows,但也意味著macOS和Linux都受它的支持。雖然它看起來不是很土生土長,但它工作得很好。另外,讓你的密碼可以訪問是足夠的好處。
描述Pinta的最好方法是跨平臺版本的油漆.NET(這反過來又是Microsoft Paint的更好版本)。這是一個相當簡單的應用程序,具有相當大的編輯和創建圖像的能力。與KeePass不同的是,它在不同的操作系統之間看起來更好一些。
可悲的是,它也證明了Mono的一些侷限性。油漆.NET它的靈感來源於一個應用程序,它畢竟是使用.NET框架編寫的,但仍然只限於Windows。雖然大多數事情可以在兩者之間工作,但如果程序依賴於框架**定於Windows的組件,則需要尋找替代方案。
Mono還可以通過擴展Wine來幫助Windows切換器,Wine是一個允許用戶運行Windows應用程序的兼容層。Wine逆向工程設計了許多Windows功能,並將這種行為轉化為它們的Linux等價物。因此,它可以運行許多不是為Linux設計的程序,就好像它們是為Linux設計的一樣。
實際的Mono安裝文件包含許多軟件庫,其他程序可以利用這些庫構建組件。它們的設計目的是儘可能多地實現.NET框架(儘管是跨平臺的)。正因為如此,許多使用該框架為Windows編寫的東西也可以在Mono下工作。
Wine可以利用Mono多年來所做的所有工作,使用它來幫助運行.NET應用程序,甚至是其中包含上述組件的程序。例如,有些遊戲在某種程度上依賴於框架。
如前所述,大部分.NET框架現在都是開源的,還有更多。已經有可能在Windows以外的平臺上(某種程度上)利用它。那麼,人們可能會想,單核細胞增多症怎麼可能仍然對人們有用。
答案很簡單:許多可用的.NET組件對最終用戶是不可見的。僅僅使用微軟現在的開源框架來構建跨平臺的圖形應用程序仍然相當困難。另一方面,Mono已經很成熟了,它有多種方法來編寫具有本地風格的程序,幾乎沒有什麼麻煩。它只會繼續增長,
當然,當.NET的開源組件更加成熟時,它將獲得Mono目前提供的許多好處。這對Linux來說是件好事,對那些想轉用它的用戶來說也是如此。畢竟,更多的可移植應用程序總是受歡迎的。
如何處理Linux上的應用程序缺口?
圖片來源:OndrejProsicky/Depositphotos
...Windows系統相同。事實上,Windows和Linux版本之間幾乎沒有什麼區別。 ...
...失敗前幾天,我剛剛開始了一個“死空間”遊戲。我能做什麼?好吧,明智的答案是檢視WineHQ遊戲資料庫,看看葡萄酒是否有幫助。如果是這樣,請使用我們的指南來調整Wine和PlayOnLinux,以開始您在Linux上最喜歡的遊戲。 ...
...子,或者其他不熟悉電腦的人嗎?如果沒有,你認為缺點是什麼?它的優勢是什麼?在下面的評論中與我分享! ...
... 從bash是什麼、不同的模式(互動式和非互動式)以及它是如何產生的基礎知識開始,這個站點提供了一個全面的背景知識來幫助您理解命令列的機制。 ...
...他們如何安裝軟體的細微差別。看看你的程式真正執行的是什麼,就是看看它們在多大程度上是相似的。 ...
...文章關注的是您選擇的Linux版本在開箱即用的情況下安裝什麼桌面,但您也很可能在其他Linux作業系統發行版上安裝它們。你可以在你的系統中載入你想要的任何東西:例如,一個用來玩遊戲的最小的視窗管理器,一箇中等複雜...
...windows7的外觀和感覺,具有Linux核心的強大功能。瞭解為什麼這個發行版是從Windows切換到Linux的最簡單的方法! ...