More Related Content Similar to Visual studio 2012 與 asp.net 4.5 (新功能與開發介紹) 第一天 (20) Visual studio 2012 與 asp.net 4.5 (新功能與開發介紹) 第一天8. Visual Studio 2002/2003
.NET 1.0 與 .NET 1.1
第一個 .NET 整合開發工具
龐大的函式庫
ASP.NET 1.0/1.1 引進Code-Behind的開發方式
Common Language Runtime
C#/VB.NET/JScript
9. Visual Studio 2005 加了什麼東西?
為.NET 2.0,而在ASP.NET 2.0 主要加強了
網站管理工具
樣板設計 (Master Page)
權限管理機制 (MemberShip、Role、Profile)
AJAX 開發的支援 (Ajax Extensions、UpdatePanel…)
ADO.NET 2.0
網站安全性
ASP.NET 2.0主要訴求:
快速開發網際網路應用程式
新的 WebSite 動態編譯模式、更簡化與加快網站部署方式
強化程式之安全性與可靠性、修復1.0/1.1相關安全性issue
提供絕佳的效能與擴充性
10. Visual Studio 2008又做了什麼改變?
Web Form 又稱為ASP.NET 3.5
延續之前 ASP.NET 2.0主體精神
C# 3.5 、VB.NET 9.0
開始支援 Silverlight 開發
整合 AJAX 及 支援呼叫 Silverlight RIA Services 的開發
Dynamic Data 動態資料開發、(開始支援Web Site)
增加 LINQ 、Entity Framework
ADO.NET Data Services 現身
MVC 1.0 現身
WPF、WCF、WWF、Card Space 現身
11. 那麼Visual Studio 2010呢?
增加 ClientIDMode 屬性
GridView或DataList等元件當中又包了許多的 WebControl 時,子元件 Render 到前端的IE可
能會變成ctl00_ContentPlaceHolder1_ControlState等一長串的問題。
新增ViewStateMode屬性
加強並改良既有 Web Form 控制項ViewState,Page上的Control不再繼承 Page 的
EnabledViewState 屬性。即使Page 的 EnabledViewState 設為False,頁面上的Control可以
透過 ViewStateMode 屬性決定自身是否開啟ViewState。
內建支援.NET Chart 3.5 控制項。
支援 jQuery
新的 WCF Data Service (前身為 ADO.NET Data Services)
改良 Silverlight RIA Service
12. Visual Studio 2012
.NET Framework 再推進到 4.5
改進了Visual Studio 2010 載入速度慢的缺點
支援新作業系統 Windows 8 App 的開發
全新的雲端平台 Windows Azure
支援手機 Windows Phone App 開發/Mobile Services
前端功能大進化-jQuery Mobile
支援 SignalR
新的非同步開發框架 await/async
擁抱Scrum、ALM(Application Lifecycle Management)的進
13. 所有 .NET 的版本
.NET 4.5 base on .NET 4.0
它只允許你安裝在Win Vista/7/2008 等.(不支援WinXP)
如果您安裝的是Windows 8或Windows Server 2012,那麼
它會內建在作業系統中.
.NET 1.1 .NET 2.0
3.0
3.5
.NET 4.0
2002 2003 2005 20102005-08
4.5
.NET 1.0
16. 分別建立UI與程式檔
利用 Page 指令連結兩個檔案
呼叫 Code-Behind Page 的程式
碼
<%@ Page Language="c#"
Inherits="myDemo"
Codebehind="demo.cs"%>
ds = getData()
public class myDemo : Page {
public DataSet getData() {
…
}
}
demo.cs
<%@ Page
Language="c#"
Inherits="myDemo"
Codebehind= "demo.cs"
%>
Page.aspx
20. .NET Framework 4.5 新增功能簡介
.NET for Windows Store apps
Portable Class Libraries (Windows Phone, Xbox360)
Core New Features and Improvements
Tools (Resgen.exe, Mpgo.exe)
Parallel Computing
Web
Networking
Windows Presentation Foundation (WPF)
Windows Communication Foundation (WCF)
Windows Workflow Foundation (WF)
(本次重點)
21. .NET for Windows Store apps
Windows 8 市集應用程式
.NET Framework 4.5 的子集合
可使用C#、Visual Basic、JavaScript、C++
23. Core New Features and Improvements
可選擇性用於多核心處理器以改善應用程式 Just-in-Time
(JIT) 在背景編譯效能
支援在 64 位元平台上大於 2 GB 的陣列
在安裝部署.NET Framework 4期間藉由自動偵測方式,減少
系統重新啟動
背景記憶體回收
新的 MEF (Managed Extensibility Framework )
…
28. Windows Presentation Foundation
新的 Ribbon 控制項
INotifyDataErrorInfo 介面支援同步和非同步資料驗證
藉由存取非 UI 執行緒上的集合來改善顯示大量群組資料時
的效能
並新增VirtualizingPanel 和 Dispatcher 類別
即時圖形,隨著值變更重新調整資料的位置,並自動更新資
料繫結的來源
新增繫結靜態屬性的功能
…
29. Windows Communication Foundation
在.NET 4.5 維護 WCF 又更簡單了
參考時自動產生用戶端組態檔
也可讓可攜式類別庫DLL加入服務WCF參考
輕鬆地設定 ASP.NET 相容性模式
支援撰寫單向 UDP 服務
WebSockets 的支援
資料流效能改進,新增非同步資料流,且不受
maxRequestLength管控,指定maxAllowedContentLength
即可
…
30. Windows Workflow Foundation
狀態機器工作流程
可以設定狀態的中斷點
Workflow Designer 的複製貼上轉換的功能
設計工具支援共用的觸發程序轉換建立。
建立狀態機器工作流程活動,包括:StateMachine、State 和 Transition。
增強的 Workflow Designer 功能
增強的工作流程搜尋功能,包括 [快速尋找] 和 [檔案中尋找]。
能夠同時在第二個子活動加入至容器活動時自動建立序列活動。
平移支援,使工作流程的可見部分變更,而不使用捲軸。
新的 [文件大綱] 檢視,這個檢視以樹狀樣式檢視顯示工作流程元件,並讓您
在 [文件大綱] 檢視中選取元件。
能夠將註釋加入至活動。
33. 什麼是MVC?
MVC 是(Model View Controller) 的簡稱。MVC不是一種程
式語言,有些人會說MVC是一種架構。但嚴格來說,MVC
應該是一種設計模式,一種撰寫程式的一種框架、設計樣式
(Design Pattern)。
他希望透過一種權責分明的架構來增加軟體開發的可維護
性、可擴充性、延展性等,並可多人同時開發。
理論上來說,M、V、C 三個部分可以完全拆開來開發,因
為Controller 也是一個獨立的類別。
在實際開發的情形中,Model會另外開一個Visual Studio的
專案來開發,再提供給Controller參考使用。
35. MVC 的誕生
MVC 最早是在1974年由Trygve Reenskaug 所提出,並直接
應用在當時最流行的Smalltalk中。
透過MVC,使『商業邏輯層』、『資料表現層』在開發的時
候,完全的切割開來。
Model
模型
View
檢視
Controller
控制器
主要負責定義資料的格式、資料的存取界面、DAL
等。通常會將商業邏輯定義在此。
直接與使用者互動的使用者介面,UI。通常只負責
資料的呈現,與使用者輸入資料。或在加上畫面資
料的驗證等。
負責控制系統流程,操作面的邏輯,畫面如何跳轉
等。也負責接收View傳過來的資料。
44. ASP.NET MVC 4 提供什麼新功能?
在微軟這次推出的 ASP.NET MVC 4.0 的版本,新增的功能如下:
1. ASP.NET Web API
2. 使用Bootstrap加強的預設站台的Style,透過CSS的增強來呈現加強
一些效果。
3. Bundling and Minification
4. 增加了 Mobile WebSite 開發的範本。
5. 新增 Display Modes ,可以針對特定用戶的Browser 類型加以回傳
特定的 View。
6. jQuery Mobile 版本, 增加 View Switcher 與 Browser Overriding 功能。
7.
8. 支援新的非同步Controller 解決方案。
9. 支援 Azure SDK 的開發。
47. ASP.NET MVC 的特點
關注點分離(Separation of Concerns)
已習慣取代配置(Convention over Configuration)
直接操控HTML,所以這樣更方便使用jQuery、AngularJS、
knockout.js等套件
不再有Server控制項,取而代之的是 HTML Helper等物件
網頁執行效率更好,不再有複雜的頁面生命週期
網頁流量降低,因不再有 ViewState
易於分工的架構,適合多人開發
容易測試
48. ASP.NET MVC
• 沒有Web Form如 PostBack的
複雜的事件處理流程
• 關注點分離
• 易於測試
• 效能較佳
• 沒有 ViewState,網路流量降
低,適合開發3G行動裝置網站
• 易於分工,多人開發
• 容易開發行動裝置服務,如:
Web API
• 沒有如Web Form拖拉控制項
• 需要較多的HTML/CSS/
JavaScript的基礎知識
• 需要了解較多的HTTP基礎原理
• 初學者較難入門,因為沒有控
制項,前端的UI,也就是View
都得要自行撰寫
優點 缺點
49. ASP.NET Web Form
• 開發類似WinForm一樣的拖拉
控制項
• 不是很了解HTTP也可以完成應
用程式的開發
• 許多伺服器控制項與第三方元
件的支援,資源較多
• 擁有事件驅動與狀態管理機制,
可讓初學者不必花太多時間處
理
• 透過UpdatePanel控制項,不需
要了解AJAX原理也可以開發
AJAX網站
• 後端事件驅動生命週期複雜,
出現問題時,初學者較難以偵
錯
• 沒有習慣取代配置概念,開發
自由度高,初學者容易開發出
沒有切割、分層的龐然大物,
不易維護
• 當畫面欄位多,資料量多時,
ViewState將成為系統的負擔,
吃網路流量的怪物,不適合3G
行動裝置
優點 缺點
52. 補充:什麼是 LocalDB?
SQL Server 2012 Express 所提供的功能
內建在Visual Studio 2012 之中
具備原本 SQL Express 的所有功能
可以有多個 Instance
透過 SqlLocalDB.exe 啟動,依附在主行程中,因此不同的使用者可
以擁有同名的執行個體
不像原本的SQL Express 2008以前,一台機器只可以安裝一個執行
個體,LocalDB 可任意的建立新執行個體,且建立一個執行個體的時
間不超過 3 秒
簡化管理,非常適合在開發的時候使用
不支援 Windows XP/2003 等.. 以下的系