標籤:widnows 作業系統 互連網 微軟
在這樣一個移動當道的年代,我跟大家討論Windows用戶端開發,似乎有些倚老賣老的意思了。然而我卻覺得無論什麼時候,Windows用戶端開發其實還是有著不少實用經典的技術的。對了,確切說我是要說說Windows C++用戶端開發,什麼WinForm,WPF,並不在討論範圍之內,我承認用.NET ,C#做Windows用戶端對開發人員來說確實是件輕鬆愉快的事,但是因為這些技術由於種種原因(主要還是效率問題)在經典的Windows用戶端程式採用的少之又少,所以我打算把他們略過。
我並不是什麼微軟技術的狂熱者,但是因為從畢業開始就選擇了微軟這條路,所以一直以來接觸的都是以微軟的技術居多,所以可以說我從一而終,當然也可以認為我認知狹隘,這都隨您怎麼看了。
微軟的這些技術,用的人很多,恨的人更不在少數,現在依然有不少人一聽說微軟帝國日落千丈就歡欣鼓舞。但是無論你怎麼樣討厭他,排斥他,你也無法改變一個事實:Windows始終是有史以來最成功的商業作業系統,圍繞這個OS建立的生態圈,改變了數以億計平凡人的生活,這其中不僅僅有像我這樣的Windows開發人員,還包括了我們的Windows程式的使用者,這個世界許許多多人都經曆著由於Windows和微軟帝國的崛起而對他們的生活帶來的巨大改變,這是鐵的事實,類似什麼“垃圾”,“無用”之類的詞藻在這一事實面前其實根本都是蒼白無力的。
通常所說的Windows開發並不是如字面上表述的那種所有在Windows平台上進行的開發活動。比如你可以在Windows伺服器上架設PHP網站,開發PHP程式,但是這其實並不屬於Windows開發範疇,你也可以在Windows平台上安裝JRE和開發環境來開發Java程式,但這也不屬於Windows開發,至於安卓,雖然對大部分人而言,也是在Windows完成開發活動的,但是依然不屬於Windows開發。
一般而言,所謂的Windows開發,我認為有一個標準就是是否是在Windows平台上採用微軟自己專有的技術,比如你用VC++/MFC/COM或者WinForm、WPF 開發一個用戶端程式,用WinSocket,IOCP程式開發伺服器端程式,用ASP.NET開發網站服務程式,用Direct3D開發遊戲用戶端,這些都可以歸屬於Windows開發的範疇。
而我在這個系列裡要討論的,是Windows開發下的一個分類:Windows C++用戶端開發。所謂的Windows C++用戶端是指什麼呢?首先用戶端是相對於伺服器端而言的,所以所謂的Windows 用戶端一般是指互連網軟體下的一個分類,對於早期的單機軟體,一般性的工具程式,其實是不能算在Windows用戶端分類下的,因為不具備連網功能嘛。舉個例子:Windows版的QQ是個Windows用戶端程式,PPTV的Windows版也是個Windows用戶端程式。諸如此類的還有瀏覽器程式,比如Chrome,IE,FireFox,Safari,還有QQ音樂,迅雷,YY語音之類的程式也算作是Windows用戶端軟體。
開發Windows用戶端程式,其實這裡面要涉及的技術點也很多,我打算分別羅列,逐個介紹,有一些比較痛點的地方我會細緻的展開,盡量讓有志於從事Windows開發的人心裡有個大致的概念,不至於在進入這一行的時候感到一頭霧水,我希望我的語言是淺顯易懂的,如果做的不好,大家可以盡量指出。
其實我的這篇文章也能給一些我的獵頭朋友們做個參考,因為我發現他們很多人分不清Windows開發,Windows用戶端開發和Windows C++用戶端開發的區別^_^。
第一篇先寫到這裡,接下來的文章我會以一個典型的互連網用戶端架構展開,簡單介紹一下Windows用戶端程式的基本結構,然後羅列出分別要用到哪些技術。
Windows用戶端開發簡介(一)