ASP.NET 概觀
ASP.NET 是一款免費的 Web 架構,可使用 HTML、CSS 和 JavaScript 建置絕佳的網站和 Web 應用程式。 您也可以建立 Web API 並使用 Web Sockets 等即時技術。
ASP.NET Core 是 ASP.NET 的替代方案。 請參閱如何在 ASP.NET 和 ASP.NET Core 之間選擇的指南。
開始使用
安裝 Visual Studio Community 版,這是一款適用於 Windows 的免費 ASP.NET IDE。
網站與 Web 應用程式
ASP.NET 提供三種架構來建立 Web 應用程式:Web Web Form窗體、ASP.NET MVC 和 ASP.NET Web Pages。 這三個架構都非常穩定和成熟,您可以使用任何一個架建構立出優秀的 Web 應用程式。 無論您選擇哪種架構,您都將獲得 ASP.NET 的所有優點和功能。
每個架構都針對不同的開發風格。 您選擇的架構取決於您的程式設計資產 (知識、技能和開發經驗)、您所建立的應用程式類型以及您所熟悉的開發方法的組合。
以下是各個架構的概觀,以及如何在它們之間進行選擇的一些想法。 如果您想要影片簡介,請參閱「使用 ASP.NET 製作網站」和「什麼是 Web 工具?」
架構 | 如果您有以下方面的經驗 | 開發風格 | 專長 |
---|---|---|---|
Web Form | Win Forms、WPF、.NET | 使用封裝 HTML 標記的豐富控制項庫進行快速開發 | 中級、高級 RAD |
MVC | Ruby on Rails、.NET | 完全控制 HTML 標記,程式碼和標記分離,並且易於編寫測試。 最適合用於行動應用程式和單頁應用程式 (SPA)。 | 中級、高級 |
網頁 | 傳統 ASP、PHP | HTML 標記和您的程式碼一起放在同一個檔案中 | 新手、中級 |
Web Form
透過 ASP.NET Web Forms,您可以使用熟悉的拖放功能、事件驅動模型來建置動態網站。 設計介面及數以百計的控制項和元件可讓您迅速建置精緻、功能強大且具備資料存取權限的 UI 驅動網站。
MVC
ASP.NET MVC 提供功能強大、以模式為基礎的方式來建置動態網站,可讓您清楚地分離顧慮點並提供對標記的完整控制,讓您享受靈活的開發體驗。 ASP.NET MVC 包含許多功能,可實現快速、TDD 友善的開發,以建立使用最新 Web 標準的複雜應用程式。
ASP.NET Web Pages
ASP.NET Web Pages 和 Razor 語法提供了一種快速、易於使用且輕量級的方法,可以將伺服器端程式碼與 HTML 結合,建立動態網頁內容。 連接到資料庫、新增影片、連結到社交網站以及更多功能,協助您建立符合最新 Web 標準的精美網站。
關於 Web Forms、MVC 和 Web Pages 的說明
這三個 ASP.NET 架構都是以 .NET Framework 為基礎,並共用 .NET 和 ASP.NET 的核心功能。 例如,這三個架構都提供以成員資格為基礎的登入安全性模型,並且都共用相同的設備來管理要求、處理工作階段等,這些都是核心 ASP.NET 功能的一部分。
此外,這三個架構並不是完全獨立的,選擇其中一個並不妨礙使用另一個架構。 由於架構可以共存於同一個 Web 應用程式中,因此在應用程式的不同組件中使用不同架構的情況並不少見。 例如,應用程式面向客戶的部分可能會在 MVC 中開發以最佳化標記,而資料存取和管理部分則在 Web Forms 中開發,以利用資料控制和簡單的資料存取。
Web API
ASP.NET Web API 是一個架構,可輕易建置 HTTP 服務並擴及廣大的用戶端範圍,包括瀏覽器和行動裝置。 ASP.NET Web 應用程式開發介面是在 .NET Framework 上建置 RESTful 應用程式的理想平台。
即時技術
ASP.NET SignalR 是一個新的程式庫,旨在幫助 ASP.NET 開發人員更輕鬆地開發即時 Web 功能。 SignalR 允許伺服器和用戶端之間的雙向通訊。 伺服器可以在內容可用時立即將內容推送到連接的用戶端。 SignalR 支援 Web Sockets,並在舊版瀏覽器中回退到其他相容技術。 SignalR 包括用於連接管理 (例如,連線和中斷連線事件)、分組連線和授權的 API。
行動應用程式和網站
ASP.NET 可以支援具有 Web API 後端的原生行動應用程式,以及使用回應式設計架構 (如 Twitter Bootstrap) 的行動網站。 如果您要建置原生行動應用程式,則可以輕鬆建立基於 JSON 的 Web API 來處理應用程式的資料存取、驗證和推播通知。 如果您要建置回應式行動網站,您可以使用您喜歡的任何 CSS 架構或開放式網格系統,或選擇強大的行動系統 (如 jQuery Mobile 或 Sencha),以及使用 PhoneGap 建立優秀的行動應用程式。
單頁應用程式
ASP.NET 單頁應用程式 (SPA) 可協助您使用 HTML 5、CSS 3 和 JavaScript 建立包含重要用戶端互動的應用程式。 Visual Studio 包含一個範本,用於使用 knockout.js 和 ASP.NET Web API 建置單頁應用程式。 除了內建的 SPA 範本外,還可以下載社群建立的 SPA 範本。
Webhooks
Webhooks 是一種輕量型 HTTP 模式,提供簡單的發佈/訂閱模型將 Web API 和 SaaS 服務編寫在一起。 當服務中發生事件時,通知會以 HTTP POST 要求的形式傳送給已註冊的訂閱者。 POST 要求包含事件的相關資訊,讓接收者能夠據以採取行動。
許多服務都提供 WebHooks,包括 Dropbox、GitHub、Instagram、MailChimp、PayPal、Slack、Trello 等。 例如,WebHook 可以指出 Dropbox 中的檔案已變更,或 GitHub 中已認可程式碼變更,或在 PayPal 中已起始付款,或在 Trello 中已建立卡片。