自己寫即時通訊軟體

最近因想要嘗試 C# 這個程式語言,所以找了一個主題來自我挑戰一下,寫一個給公司內部使用的即時通訊軟體,目標很簡單,只要能雙方對話並且能使用公司帳號登入,登入後會定期的通知最新的待簽的電子簽核文件就好。

在網路上可以找到這個簡單的範本,雖然簡單但該有的都有,可以大幅度的節省很多開發的功夫,內容請自行參考以下網址。http://www.codeproject.com/Articles/429144/Simple-Instant-Messenger-with-SSL-Encryption-in-Cs

該程式分成兩段,一端是 Server 端,是一個純 Console 的軟體,要看了解程式可能需要點 網路通訊 及 Multi-Thread 的觀念,自定義與 Client 通訊的標準,因為我要增加功能,所以這一段我還有加上一些進去;但我不需要可以自動註冊變成使用者,所以關於註冊這段我是全部 Remark 掉。

Continue reading “自己寫即時通訊軟體”

試用 Xamarin, 使用C#來寫 Android / iOS App

前一陣子想要試試看有沒有開發 App 的快速方式,同時公司內部都是使用 C# 作為開發工具,在廣告上看到了 Xamarin 這套可以架設在 Visual Stduio 的開發套件,所以花了一點時間來嘗試一下,看看能不能用最少的代價來把部分資源轉到 App 上。

這個套件都可以在 http://xamarin.com/ 網站上抓取,相關的安裝程序依照網站上的文件應該都可以順利完成,不過我也是屬於開發 APP 菜鳥,所以也花了大量的時間在嘗試,應該都可以很簡單的環境建立起來。

不過在建立 iOS 的環境就有點棘手,它還是必須要透過 Apple 的開發工具去把產生安裝檔,首先公司內部沒有Mac 電腦,要先想辦法弄一個可以執行環境起來,設定好 App 開發套件,然後跟 xamarin 的開發環境兩台電腦做連結,這樣才可以編譯後傳到 Mac 上面的 iOS 模擬器執行。

在 Android 就簡單許多,不過讓人困擾的是它的 Android for Windows 模擬器效能很差,簡單的套個物件上去來執行,通常需要等個一兩分鐘才能在模擬器看到成果,當然如果你的電腦強一點,或者可以自己換個效能好一點的模擬器,可以改善這個問題。

不過我最大的期望是能夠像 Visual Studio 一樣能夠拖拉元件進程式來使用,但很不幸的,Android 能拖拉 Xamarin 的原件來使用,但受限於 iOS 開發環境,仍然需要靠指令的方式來建置 UI,這一點就跟我的期待差別很大。

依照我找到的文件說明,這幾個不同平台的 App 仍需要個別去處理 UI 介面,但可以共用一些程式庫或處理資料的邏輯,我想這個才是最大的賣點吧。

在1個月後的測試期間終了,我還是沒有選擇付費繼續來使用,對我的目的而言還希望這個套件能夠更加的聰明一點,使得開發工作能夠盡量地貼近之前的 Windows 軟體開發一樣。