.NET 開源三部曲(三):如何迎接新的 .NET 時代

看完前面兩篇(1, 2),應該已經能慢慢瞭解,現在所謂的「.NET 開源」、「.NET Open Source」並不是完全把現有的 .NET Framework 整個打開(雖然這裡有個子集的參考版),而是引入開源的精神,並且設計一個新的 .NET Core,除了用於優化 App model(client-side) 以及 ASP.NET (server-side)應用程式,也以開源的模式進行——藉由開源及社群化來向全球的開發人員吸取回饋及創新,並且帶領正式產品的快速更迭,更安全更符合使用者(開發者)的需求。 面對這樣的一個大轉變,身為開發人員究竟應該怎麼迎接這個新的世代呢?這篇文章不多說廢話,直接幫大家整理懶人包: 下載使用 Visual Studio Community 版 在這次 Connect(); 大會上也宣佈了在 Visual Studio 的產品中推出免費的 Community 版本,現在已經可以免費下載安裝使用 Visual Studio Community 2013 了,只要你是個人開發者、學術研究或是為了開源專案開發都可以免費合法使用(見 Q&A),它的功能如同 Professional 版,可以用來完整開發桌面應用程式、Windows 市集應用程式、跨平台 app、ASP.NET 應用程式、雲端應用程式等等之外,也可以安裝各種擴充套件來強化功能(如安裝 Python Tools for Visual Studio 就變成強大的 Python IDE;或是 Node.js Tools for Visual Studio 變成 Node.js…

0

.NET 開源三部曲(二): ASP.NET vNext 開源及 .NET Core

在今年的 Connect(); 技術大會上,Scott Guthrie 在 Keynote 上宣佈了目標會釋出 ASP.NET Server Framework for Mac/Linux 以及開源的 .NET Core 執行環境,簡單地講,基於 ASP.NET 這些開發的 Web 應用程式、伺服器上的應用程式將可以在非 Windows 平台上運行,這樣的願景,是希望讓 .NET 開發人員可以有更多發揮的平台,也因為這樣,我們已經看到甚至是現在火紅的 Docker 生態圈中都有了微軟官方製作 ASP.NET 環境的 Docker Container,這樣跨時代的改變,都要從 ASP.NET vNext 以及 .NET Core 的開源細節談起。 ASP.NET vNext 在現在的 ASP.NET 執行環境中,因為許多部份跟 IIS 相依性非常高,如果要為雲端環境優化,或是要走向開源之路都會變得困難且複雜,所以整個 ASP.NET team 決定要改寫核心,從去年(2013)開始,先起草了 OWIN (Open Web Interface for .NET)的規格,然後基於這個規格實作了 Katana 這個 ASP.NET 及其相關技術(如:ASP.NET Web…

0

在 Mac/Linux 上執行 ASP.NET 5 (ASP.NET vNext, ASP.NET MVC 6)的網站應用程式

在 ASP.NET vNext 重新設計 ASP.NET 核心並且開源之後,要在非 Windows/IIS 的環境下執行 ASP.NET 的應用程式不再是不可能的事,這篇文章介紹如何在 Mac OSX 環境下執行 ASP.NET 5(或是 ASP.NET vNext、ASP.NET MVC 6)的網站或應用程式。 新的 ASP.NET 核心代號是 K,而一切的操作都是透過 K Version Manager(kvm) 完成,若是在 Mac OSX 下,可以透過 Homebrew 簡單快速安裝 KVM,當然你也可以直接從 https://github.com/aspnet/home 這裡取得,透過 Homebrew 安裝可以執行下面的指令: brew tap aspnet/kbrew install kvm 順利安裝完成後,視你的 shell 是 base、zsh 就在 ~/.bashrc、~/.zshrc 裡加上一行 source kvm.sh 才會有一個 kvm 的函式可以完成後面的操作。 先執行 kvm upgrade…

0

.NET 開源三部曲(一): .NET 基金會及 Roslyn 編譯器

Microsoft 在今年 11 月的 Connect(); 活動中,在多項新消息中包括開源了 .NET Framework 的核心(.NET 官方部落格的文章),於是引發了很多 Microsoft 擁抱開源、.NET 開源的討論,但其實這並不是 Microsoft 或 .NET 開始開源的第一天,不論是將開源專案融入 Microsoft 的產品之中(使用 jQuery、Bootstrap 等做為網站專案範本)、抑或是將 Microsoft 的技術開放源碼(e.g., IronPython, ASP.NET MVC 等)都已經行之有年,而比較正式的官方宣示,應該要算是今年稍早在 4 月的 //build/ 2014 開發者大會中,宣佈成立 .NET 基金會以及 .NET 編譯器(代號:Roslyn)平台的開源。 .NET 基金會 為什麼宣示開源要成立基金會?我們可以先看看其它開源專案、社群的作法,首先,很多人熟悉的泛 UNIX 系統(包含 Linux、BSD 等)中的 GNU 計劃的開源軟體,就是由自由軟體基金會(Free Software Foundation)來管理;而許多網際網路重要的開源軟體專案,如:Apache HTTP 伺服器、Apache Hadoop 分散式運算平台等,都是由 Apache 軟體基金會來管理維護;還有堅持網路為開放平台的 Mozilla 基金會也主持了許多漫遊網際網路的軟體專案,如:Firefox…

0

在 Microsoft Azure 部署 Python/Django 網站應用程式(二)

話說在前一篇文章中,我的開發環境是在 Mac OSX 10.10 下操作,遇到了一點小亂流,雖然解決了,但也想看看其它工具是不是有不一樣的解法。於是我換回 Windows 的開發環境,然後安裝了 Python 2.7,再安裝 Python Tools for Visual Studio 這個擴充套件,讓 Visual Studio (2012 or 2013) 可以有開發 Python 應用程式的環境。 安裝完成之後,在新增專案時就有了 Python 的範本: 而建立好專案時,可以選擇在專案中建立 virtual environment,讓專案自己包進需要的函式庫,也比較不受全域環境的影響。 也可以做一些設定,包括選擇 Python 版本(如果系統同時有裝 Python 2 及 Python 3 的話可以選擇,Microsoft Azure 都支援) 有了這個 django 專案後,透過 Python Tools 整合的功能,也可以在專案總管中用圖形介面來操作 pip 或 easy_install 或是利用 requirements.txt 來安裝需要的 Python 函式庫: 像如果要使用…

0

在 Microsoft Azure 部署 Python/Django 網站應用程式(一)

Microsoft Azure 的網站服務(可見我之前的文章)支援運作 Python 的應用程式已經有一段時間了,主要的方式是透過 FastCGI 的方式來執行 Azure 上的 Python 直譯器(2.7 or 3.4)來執行 Python-based 的 Web 應用程式(如:Django、Flask 等)。 而過去我一直都是按照官網上的 tutorial 一步一步來部署 Django 應用程式,沒發生過什麼問題,一直到最近想拿 Django 1.7 來弄個小玩具,才發現這份 tutorial 好像會有點問題,簡單地說就是按照這個作法部署上去不太 work,試著自己 trouble shooting 一陣子後不見改善,於是我就利用 Azure 官方網頁中的「Azure Web 應用程式庫」的頁面來直接部署一個 Django 的 Web 應用程式,看看怎樣才會 work,結果讓我發現它部署到 Azure 的網站服務後,目錄結構長得是這個樣子的 (透過 FTP 的方式連上去看的): wwwroot/ django/ mysite/ handler.fcgi manage.py web.config 看到這裡我突然覺得很怪,怎麼會多了 handler.fcgi 以及…

0

以 Office 365 為開發平台開發加值應用

今天開始的 TechEd Europe 2014 宣佈了一些關於 Office 365 的新聞,包含了幾個重點: 運用 Office 365 API 開發應用 從今天起 Office 365 API 正式營運服務,目前提供了關於郵件、檔案(商務用 OneDrive)、行事曆以及聯絡人的資料操作,透過這些 API 您便能夠直接開發出加值在 Office 365 上的應用,相要瞭解如何運用這些 API 作開發,可以參考官方的 Office 開發中心。 提供 Windows, iOS, Android 等 SDK 而除了提供 Visual Studio 的 SDK (for Windows)之外,MS Open Tech 也開發了 iOS 及 Android 的 SDK,方便開發人員可以輕鬆在 iOS、Android 平台上開發 Office 365 的延伸應用。 新的…

0

使用 Microsoft Azure 網站服務架設網站服務或網站應用程式(適用 ASP.NET, PHP, Python, Node.js, Java)

文章更新: 2014/10/13 Microsoft Azure 是微軟推出的雲端平台,它並不是單一功能的產品或平台,而是數十種用來建置雲端服務平台產品的集合。而 Microsoft Azure 網站服務是一個可以快速建置網站(靜態網站或網站應用程式)的平台服務(PaaS, Platform-as-a-Service),而且具有雲端平台的特性——用多少付多少,所以您不必事先估算需要的機器資源而進行採購,在網站運行的任何時間都可以動態調整資源,有需要時調高、沒需要時調低,更有效地花費服務的預算。此外,這個平台服務有著開放、跨平台的使命,不論原本是使用 ASP.NET、PHP、Python、Node.js 還是 Java 撰寫的網站都可以直接放在這個平台上運行,而且支援多種部署網站的方式,所以也不限制開發人員要用什麼平台(PC、Unix-like、Mac 等皆可)、開發工具來開發網站。以下是我在 Channel 9 上錄製的影片,用來簡介 Microsoft Azure 網站服務是什麼樣的平台: 這裡我將影片提到的部份分為幾個重點來逐一介紹: 做為網站的虛擬主機 部署網站 延展網站所需的資源 Staging/Production 的部署環境分離 背景程式的運作 網站的備份及還原 跨資料中心的流量管理 為網站提供 CDN 與企業網路混合連接 使用其它服務強化網站應用程式 開始瞭解 Microsoft Azure 帳號之前,可以先註冊一個免費試用的 Microsoft Azure 訂閱帳號,並且試試看網站服務來運作您的網站。 做為網站的虛擬主機 使用 Microsoft Azure 來架網站最大的好處就是不必自己管理伺服器,當然也不用安裝維護作業系統或是伺服器軟體,只要把網站程式寫好了部署上去立刻就開始服務了,對於網站開發人員來說相當方便快速。 當有了 Microsoft Azure 訂閱帳戶後,便可以直接在管理後台中建立多個網站服務,一個網站就建立一個 此外,也可以安裝 Azure 跨平台命令列工具,在 console mode 下面用…

0

Visual Studio "14" CTP3 釋出

之前介紹過 Visual Studio “14″ CTP 1 釋出的消息,轉眼間就釋出了 CTP 3 的版本,簡單地說,VS14 是下一版的 Visual Studio,目前僅供測試及評估使用,可以免費下載(MSDN 訂閱亦可),或是擁有 MSDN 訂閱的用戶可以在 Azure 上建立一個 Visual Studio “14″ CTP3 的虛擬機器來測試。 而在 CTP3 的更新有: ASP.NET vNext 及 Web 開發更新 在 VS14 CTP3 中的 ASP.NET vNext 來到了 alpha 3 的版本,而在工具面則是加入在 Visual Studio 2013 Update 3 中關於 Web 開發工具的增強(詳情見此),這樣一來,ASP.NET vNext 的檔案不必在 .kproj 檔案裡設定建置及編譯的選項,就可以完成專案建置,並且在這一個版本中加入了 .NET RyuJIT…

0

在 Azure 上的 PHP 網站使用 Azure 的 Redis Cache 服務

Microsoft Azure 的網站服務可以讓 PHP 網站開發人員架設網站(參考教學課程),如果要在網站系統中使用 Cache 來提升系統效能,可以考慮 Azure 上的 Redis Cache 服務(目前在預覽階段)。 建立 Redis Cache 服務 要使用 Redis Cache,目前需要到預覽中的新版 Azure 管理介面來操作,在新增服務的選項中選擇 Redis Cache。 然後選擇要用哪一個訂閱、什麼方案(Basic or Standard)、還有快取服務要用哪一座資料中心(建議與您的服務放在同一座資料中心,以減少網路的延遲)來提供服務。 建立完成後,Azure 需要一些時間把服務建立起來,一旦建立完成便能立即使用,而也可以在管理介面中看到它的一些狀態,可以點開 KEYS 來看金鑰或是 Properties 來看它的設定 點開 Properties 就會看到連線資訊,還有連接埠號碼。 搭配 KEYS 裡面顯示的金鑰就可以來使用 Redis Cache 服務了。 在網站服務上的 PHP 網站如何使用 如果您使用 Azure 的網站服務來運作 PHP 網站,要連接 Redis Cache 服務也很容易,只要下面幾個步驟: 先到這裡下載編譯好的,給 Windows 環境的…

0