跳到主要內容

[ASP.NET] 簡介ASP.NET 的進化史


「asp.net core」的圖片搜尋結果


在網站開發的領域,ASP.NET絕對是站有一席之地。Terry在這些年承接的網站開發的案子中,大多數的大公司都是接受甚至是指定要以ASP.NET進行開發的。


本篇簡單介紹一下ASP.NET的發展演進的過程和一些基本的觀念:

ASP.NET 是自 2002 年一月推出的一套網頁開發框架,早期只有 ASP.NET Web Form 架構,直到 2009 年推出以 MVC 為主的開發框架 ( ASP.NET MVC 1.0 ),後續微軟在 2014推出ASP.NET 5 (新一代從頭開始打造的 ASP.NET 核心功能) ,2016 推出 ASP.NET Core (基於 ASP.NET 5 的更名),直到現在。

版本種類:

目前已推出的 ASP.NET 版本
ASP.NET 1.0 (2002-1-16)
ASP.NET 1.1
ASP.NET 2.0
ASP.NET 3.5
ASP.NET 4.0
ASP.NET 4.5
ASP.NET 4.6
ASP.NET 4.7
ASP.NET 4.8 (2019-4-18)

目前已推出的 ASP.NET MVC 版本
ASP.NET MVC 1.0 (2009-3-13)
ASP.NET MVC 2.0
ASP.NET MVC 3.0
ASP.NET MVC 4.0
ASP.NET MVC 5.2  (2014-12-25)

目前已推出的 ASP.NET Core 版本
2014/05/12ASP.NET 5 
2014/07/06ASP.NET 5 Alpha2
2014/08/17ASP.NET 5 Alpha3
2014/10/07ASP.NET 5 Alpha4
2014/11/12ASP.NET 5 Beta1
2015/01/14ASP.NET 5 Beta2
2015/03/13ASP.NET 5 Beta3
2015/05/01ASP.NET 5 Beta4
2015/06/30ASP.NET 5 Beta5
2015/07/27ASP.NET 5 Beta6
2015/09/02ASP.NET 5 Beta7
2015/10/15ASP.NET 5 Beta8
2015/11/19ASP.NET 5 RC1
2016/01/19ASP.NET 5 更名為 ASP.NET Core
2016/05/16ASP.NET Core 1.0.0 RC2
2016/06/27ASP.NET Core 1.0.0 RTM
2016/09/14ASP.NET Core 1.0.1
2016/10/25ASP.NET Core 1.1.0 Preview 1
2016/11/16ASP.NET Core 1.0.0 RTM
2017/03/08ASP.NET Core 1.1.1 RTM
2017/05/18ASP.NET Core 2.0.0-preview1
2017/08/14ASP.NET Core 2.0.0 RTM

從上面的版本列表來說明,

在開發庫的部分:(ASP.NET framework、ASP.NET Core framework)

ASP.NET的framework從最初的1.0進化到現在的4.8,這個framework是屬於封閉式的開發庫,微軟還是持續在更新維護。而在2014/05/12的ASP.NET 5系列(ASP.NET Core的前身),微軟重新建構新的framework,並在2016/01/19將ASP.NET 5 更名為 ASP.NET Core,並將其framework設定為開放式的framework,讓所有開發者都可以基於 ASP.NET Core開發第三方的功能,這與原本的封閉式ASP.NET的framework獨立開來了。所以在開發ASP.NET網站時,需要決定網站的framework是要用封閉式ASP.NET的framework或是ASP.NET Core的framework。兩者各有優缺,本篇重點不在此就不多加描述。

在網站架構的部分:(Web Form、MVC)

早期的ASP.NET在網頁的UI設計開發上,微軟是提供延續應用程式的模式,就是有一堆的工具列讓你可以用滑鼠拖曳到一個版面上進行編排,操作上與開發Windows應用程式無縫接軌,稱之為Web Form。
直到約2010年開始風行MVC的網站開發架構,此架構將網頁、控制、資料存取的code分開,讓整個網站程式更方便擴充與除錯。因此微軟也跟上這個腳步,推出基於ASP.NET的framework的MVC開發架構,ASP.NET MVC 1.0 (2009-3-13)。
至此開始就越來越少人用Web Form進行專案開發了。

在程式語言的部分:(C#、VB)

創建專案時可以決定要用C#或是VB來進行開發。網頁端的部分就可自行決定要用哪種方式開發,如html, javascript, jquery, css......

PS. 現在主流的ASP.NET搭配為:ASP.NET Core + MVC + C#



留言

這個網誌中的熱門文章

[Python] 管理多個執行緒(thread)的運作與結束

在開發應用程式中,幾乎所有的專案都會用到thread,不同的程式語言有不同˙的叫用方法,但都大同小異。Thread的使用上最重要的不是在產生一個thread,而是如何結束一個thread,或是如何結束好幾個threads,以下介紹在Python中如何叫用並管理一或多個thread: 一般來說,create thread如下: def job(): while 1: print("Child thread:", i) time.sleep(1) #In main code thread = threading.Thread.__init__(job) thread.start() 這樣可以開始一個thread執行job()中的動作,但若job中的迴圈是如上範例的無限迴圈,必須要加上能讓其退出的機制: stopped = 0 def job(): global stopped while stopped == 0: print("Child thread:", i) time.sleep(1) #In main code thread = threading.Thread.__init__(job) thread.start() 這樣在主程序先將stopped設成1,再調用 thread.join() 就可以將thread完整關閉並釋放記憶體空間。 多執行續的處理: 基於這樣的方式,下面是進化版本,創建一個thread專用的class,並同時處理多個thread的執行與結束: class EventHandleThread (threading.Thread): def __init__(self, fun, name): threading.Thread.__init__(self) self.name = name self.fun = fun self.stopped = [0] def run(self): self.fun(self.name, self.stopped) print ("Exiting "

[Python] 將程式設定為全螢幕顯示(full screen)和永遠在最前景、最上層(topmost)

這裡以創建一個tkinter 的 Application物件為例 EX: app = Application() app.master.title("WaferCheckApp") app.master.geometry("1100x720") 將UI顯示在最上層: app.master.attributes('-topmost', True) 將UI以全螢幕顯示: app.master.attributes('-fullscreen', True)

[Python] 以.py檔案產生Windows EXE 執行檔

如何開發能在Windows下執行的Python程式?你當然可以在Windows下安裝Python之後用command line運行你的 .py source code來直接執行程式,但是這方法基本上只適合開發中的程式,或是自己寫好玩只在自己的PC上執行的程式,也許適用。 但若你的需求是要在每個Windows的OS下都可以執行、且是不公開程式碼的,那就必須要將你的 .py source code包裝成EXE執行檔了,下面就介紹如何進行: –下載 auto-py-to-exe-master https://github.com/brentvollebregt/auto-py-to-exe 1. 解壓縮auto-py-to-exe-master.zip到想要的路徑下(路徑不能有空格或".") 2. 開啟Cmd console 到auto-py-to-exe-master路徑下 3. 在console下執行"pip install -r requirements.txt" 4. 在console下執行"python run.py" 運行完畢後就可以選取你要轉成執行檔的 .py 檔案,進行製作。 可參考下面的影片: 產生出來的檔案包含執行檔與其程式中會用到的相關Lib檔案,所以要將整個output資料夾中的檔案一併提取出來 (不要只拿執行檔出來)。 如此你就可以在任意的Windows上執行你的程式了。