前陣子因為接了一個前端工程的案子,但是因為後端是.net所寫,為了避免來回一直上傳FTP或SVN等等,所以我上網找了一些資料,才知道去年.net已經推出跨平台版本,目前還在RC版,所以說.net不在是windows only的東西了,這倒是一個好消息,不過我們家目前還是專精於PHP上,目前沒有要拓展.net事業的想法。
PHP的話在本機上架環境,懶人版大概就是裝一下XAMPP或MAMP,我個人是用MAMP架本機的環境,所以我在想也許已經有人做好懶人包,可以很快的在Mac上寫 .net 程式了。果然Google了一下我找到了Mono。
Mono目前支援Mac OS、Windows、Linux,所以跨平台性不錯,比起需要一直用windows官方提供的資源來說,更沒有拘束,也可以實現在使用非windows系統開發 .net 程式的夢想,可以說是解救了不少人,也可以讓 .net 跳脫平台限制,增加未來參與開發的人員,目前 .net環境下的開發語言其實還蠻多的,有人會用VB但是現在最紅的應該是C#,有機會可以研究一下。
下載Mono後,只要按照安裝流程指示安裝,就差不多可以完成了,過程大約不會花到3分鐘左右,因為要安裝的套件其實還蠻多的,所以比一般其他程式安裝起來還要久一點。
安裝好了之後要如何使用呢?其實官網有個簡單教學,不過對於有英文障礙的人來說還是非常有障礙,簡單來說,步驟如下:
1. 將以下範例程式用文字編輯器(例如:Sublime text)儲存於您想用來開發的 .net城市的資料夾中,檔名儲存為hello.cs
using System;
public class HelloWorld
{
static public void Main ()
{
Console.WriteLine ("Hello Mono World");
}
}
2. 開啟終端機terminal,切換到開發的資料夾位置,切換指令為” cd 資料夾位置”。輸入資料夾位置時,可以開始finder切換到該資料夾再直接拖曳到終端機terminal裡面,終端機terminal就會自動出現資料夾位置,可以節省您key in的時間。
3. 輸入編譯指令“mcs hello.cs”,然後再輸入執行指令“mono hello.exe”,就會看到執行結果顯示在終端機terminal中。
以上就是最簡單的 .net執行步驟,如果你希望你的程式可以開個視窗,請照以下步驟:
1. 將以下範例程式儲存於測試資料夾中,並將檔名存成hello.cs
using System;
using System.Windows.Forms;
public class HelloWorld : Form
{
static public void Main ()
{
Application.Run (new HelloWorld ());
}
public HelloWorld ()
{
Text = "Hello Mono World";
}
}
2. 在終端機terminal切換到該資料夾並輸入以下編譯指令“mcs hello.cs -pkg:dotnet”,然後再輸入執行指令“456,就會看到執行結果有個小視窗跑出來。
以上都是壓成exe封包的方式,那如果是網頁呢?要如何打開測試頁面的內容?很簡單,請照以下步驟:
1. 將以下程式碼儲存於開發資料夾中,並將檔案名稱儲存成default.aspx。
<%@ Page Language="C#" %>
<html>
<head>
<title>Sample Calendar</title>
</head>
<asp:calendar runat="server" showtitle="true">
</asp:calendar>
</html>
2. 在終端機terminal切換到該資料夾並輸入以下編譯指令“xsp4 –port 9000”,即可使用http://localhost:9000/default.aspx 這樣的網址在瀏覽器中預覽。
3. 只要在終端機terminal按個enter就可以停止server運行了。