国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

開發者角度看Windows Phone8.1

移動開發
WP8.1和Win8.1的WinRT已經高度統一了,不像WP8的WPRT不但大量API缺失,還有不少是Windows.Phone.xxx手機專用命名空間。MSDN上也統一為Windows Runtime APP開發文檔了,開發者有必要遷移到WinRT平臺以使用更多的新特性。

Windows Phone8.1之后,開發者有三種選擇。

  1. 繼續用silverlight 8.0,反正向下兼容,如果APP也不需要新功能就這樣吧。
  2. 升級到silverlight 8.1,如果需要8.1提供的新功能,silverlight8.0項目可以直接升級到8.1,然后開發新功能即可。
  3. 遷移到windows phone Store APP(也就是Windows Runtime),這個推薦,這個可以最大化和Windows共享代碼,Win/RT/WP 8.1的通用程序也需要遷移到Windows Runtime。

后面就不討論silverlight了,只討論Windows Runtime,之前泄露的SDK還分別稱Windows Phone Runtime和Windows Runtime,也就是WPRT和WinRT。

而這次的RC版,微軟已經統稱Windows Runtime,已經淡化Windows Phone Runtime了。

一張圖說明問題,windows.winmd,也就是Windows Runtime提供的API:

圖中分別列出了Win8.1,WP8.1,和WP8的windows.winmd的API,下原圖對著看一幕了然:

(點擊看大圖)

看了這張圖,就明白微軟為何不刻意區分WPRT和WinRT了,因為已經高度統一了。

WP8.1和Win8.1的WinRT已經高度統一了,不像WP8的WPRT不但大量API缺失,還有不少是Windows.Phone.xxx手機專用命名空間。

MSDN上也統一為Windows Runtime APP開發文檔了,不過手機PC畢竟還有一些區別,所以有PC和手機圖標表明該功能的適用場景(如圖

下面我首先看了下自己比較關注的方面,文件訪問。

WP8.1已經有和Win8/RT同樣的文件選擇器,Windows.Storage.Pickers.FileOpenPicker。

看看效果,兩個使用方式基本沒有差別,不過實際效果嘛:

  • Win8.1:可以選擇SkyDrive,本機磁盤,網上鄰居的共享文件,甚至第三方應用提供的接口的文件選擇。
  • WP8.1:不錯,沒Win8.1這么強,但已經可以自由瀏覽可訪問的目錄,包括SD卡,而且SD卡已經有寫入權限,不用走后門了。

以后第三方軟件,就可以自由打開保存文件了,例如下載視頻歌曲等文件,就可以下載到SD卡,其他軟件也可以訪問。

雖然說表面看來,WP8.1和Win8.1的WinRT已經非常接近了,但實際還是有所不同的。例如Windows.UI.Xaml.Controls.Pivot是WP上的樞紐視圖控件,在Win8.1上就木有。例如Windows.UI.Xaml.Controls.Hub在WP8.1和Win8.1上都有,但展現形式不同。WP8.1上就是以前的全景視圖的樣子,Win8.1嘛,你知道的。

就跟Windows.Storage.Pickers.FileOpenPicker,都是文件選擇器,用法也基本一樣,但功能和展現形式不見得一樣。

PS:winmd是什么,可以認為是新一代的dll,winmd程序集可以被C++,C#,JS調用。winmd包含元數據,意思就是調用winmd程序集就像調用Net的類庫一樣簡單。

反正我覺得8.1開始,是很有必要遷移到Windows Runtime了,特別是要跨平臺(Win8/RT/WP)開發的。Windows Phone和Windows 8.1的Windows Runtime既然已經如此靠近了。未來就算改也是更接近而已,繼續加強Windows Runtime而已。基本不可能退到Windows Runtime。

還有就是Windows Runtime本身就是Native Code,而Silverlight是Managed Code。目前,微軟的C#也開始支持直接編譯Native Code了,這個已經開始beta了。感覺上技術還是那些技術,silverlight是XAML+C#,Windows Runtime也是XAML+C#,但本質已經有所不同了。未來C#可能不再運行在.Net框架上,而是直接編譯native code了。

可以理解為C++的運行效率,C#的開發效率么?

唉,C#可以編譯Native Code的工作早點想起來做,讓C#可以脫離Net框架運行,或許Winform早占領桌面程序了。至少我最關心的一點,第三方程序,可以打開有權訪問的任意目錄了,第三方程序不用走后門,也可以讀寫寫SD卡了。

反正我覺得8.1開始,是很有必要遷移到Windows Runtime了,特別是要跨平臺(Win8/RT/WP)開發的。但我覺得silverlight可能到頭了,雖然WP8.1新加的功能,silverlight8.1仍然提供支持,8.0項目可以直接升級silverlight 8.1享受新功能。但我很擔心未來WP8.2如果帶來新特性,有可能木有silverlight 8.2了。就像當年的XNA,只是兼容XNA開發的已有程序而已,XNA本身已經不會更新了。

未來不需要兩種不同的C#+XAML。

當年Windows Phone和Windows不是一個部門,而且WP部門的理念完全不同于Windows。不然WP8.0就該兼容WP7的silverlight時,保留盡量完整的Windows Runtime了。畢竟WP8.0和Win8同期開發的,Win8一開始是完整的Windows Runtime,而WP8.0卻是個渣。同期開發的東西故意把WP的Windows Runtime搞的面目全非,現在才來補全,根本說不過去。

你看RT和Win8都是Windows 部門的,多好,除了ARM不兼容舊桌面程序外。它們從內到外都做成一個樣子,月經補丁一起打,8.1,8.1 Update都同時升級。我覺得5年前也就是Win8和WP8開始開發的時候,WP和Windows屬于一個部門。那么WP8.0一出生,Windows Runtime就不可能相對Win8如此殘缺需要現在慢慢補回來。

如果WP一開始就是Windows 團隊開發,Windows團隊一定是想著怎么盡量共享代碼。去掉桌面,精簡體積,為手機優化界面功能,兼容WP7的silverlight應用。記得當年,live.com上面維護的聯系人分組和頭像,和Windows Phone 7同步到人脈的分組和頭像,完全不相干。你就知道,大公司病多嚴重,各部門溝通多差。

Windows Runtime是Native code,是Win32 com的新的封裝形式。但加入一個很重要的特性,就是元數據,使得調用WinRT如同Net 類庫一樣簡單方便。以前C#就算預編譯,仍然無法脫離Net框架,是因為框架本身的程序集都是運行在Net虛擬機上。所以以前只是所謂的預編譯,不能整整的Native code,所以C#直接編譯和所謂預編譯沒有本質區別了。只是先后的問題,比預編譯再早一點而已,類似的還有云編譯,都是先后問題,沒解決本質問題。

所以以前談C#直接編譯Native code是根本沒有意義的,都要運行在.net框架下。而現在,一套類似Net的原生庫已經有現成了就是WIndows Runtime,雖然其目前無法代替Net框架。所以C#直接編譯Native code,也就變成順理成章的事情。

Windows Runtime絕對不是.Net升級版,基本上除了借鑒Net的元數據,讓開發友好跨語言調用,其他方面沒有任何相同點。winrt和.net不存在合并,否者就不會發展獨立發展Windows Runtime了。一個是在.Net虛擬機上提供了一套API。一個是Win32 com基礎上實現了一套API。借鑒了Net的元數據,使開發更加容易。意思就是把本質根本不同的東西。做的表面上一樣,使用Windows Runtime和使用Net框架一樣友好。

開發者以前用C#開發Net程序,現在用C#開發Windows runtime程序,除了API的了解,可以說沒有學習成本。而讓Net程序員從winform開發桌面程序改為用C++開發桌面程序,可以說是非常高的學習成本。但這兩個本質不同的東西,功能存在大量重疊,開發者使用起來也差不多。就像VB和C#都可以做Net開發的感覺,共存。但共存總有一個熱門一個變得冷門。

可能隨著Windows Runtime的成熟,桌面也就是Windows Runtime的天下了。Net退居于服務端了。因為基于Net的第三方資源不可能都重建。例如MVC,例如Entity Fremework,基于Net框架的很多項目都是獨立在發展而且已經有很大市場。所以Windows Runtime并非要取代.Net框架,也沒有打算去實現Net框架的那一面。

Windows Runtime應該沒有打算去參合Net用于網站那一部分。由于Windows Runtime并未去重復Net框架的很多功能。所以做開發,可能一邊用Net框架, 一邊用Windows Runtime。例如你想要用到的一個第三方組件Json.Net是基于Net框架的等等。Windows Runtime是原生代碼,Windows Runtime可以被C++,C#,JS調用。意思就是未來基于Windows Store開發,C#可能擁有和C++類似的地位。

以前都是C#快速開發, 核心算法部分可能還是C++。未來更多的東西可以C#通吃。

Windows Runtime有些功能仍然是通過Win32 API實現不能脫離Win32 API,但就Windows Runtime本身來說是如同Net框架一樣友好的

總結就是:Windows Runtime是新時代的Win32 api,借鑒了net的易用性。

但目前沒發現,要用它取代Net的的想法。

Windows Runtime主要是Windows本身的開發,就像以前Win32做桌面應用,現在WIndows Runtime做跨平臺觸屏應用。現在乃至未來可以預見的時間,都不會取代Net。微軟自己維護的一些基于Net的開源項目,例如MVC3,4,5框架,Entity Framework等,都不會基于Windows Runtime重建。Windows Runtime絕對不是.Net升級版,基本上除了借鑒Net的元數據,讓開發友好跨語言調用,其他方面沒有任何相同點。和Net完全沒有繼承性,所有API都是與Net無關的重建的一套原生的實現。

首先第一點,根本的一點,Windows Runtime本身都是原生代碼,并非運行在虛擬機上,原生的實現或是對Win32 api之類的直接調用。簡單粗暴的理解,就是com加上元數據,沒有什么中間語言,所以除了C++加Windows Runtime,自始至終是原生代碼。之前用C#+Windows Runtime就會出現一個很尷尬的局面,就是同時在用Net框架和Windows Runtime。本質有點類似于以前Net程序Interop調用Win32 API的感覺,只是說現在使用的是更友好的Windows Runtime。

所以C#能像C++一樣編譯原生代碼,脫離Net框架,在WIndows Runtime出現后,也就變得順理成章。

以前Net的本身是中間語言,本是運行時的即時編譯,所謂的優化手段例如安裝后或后臺預編譯,甚至后來的云編譯。

無非是編譯的時機不同,把運行時影響速度的即時編譯改在了運行前準備好,沒有改變運行在Net框架上的本質。

而這次,Net Native時C#基于Windows Runtime,是真的徹底的原生代碼,至始至終都可以獨立于Net框架了。

責任編輯:徐川 來源: 智機網
相關推薦

2013-11-19 12:23:42

Windows 8.1PC

2012-06-05 14:25:46

Windows Pho

2012-06-29 10:51:44

Windows Pho

2011-02-22 14:07:52

2010-12-16 10:06:31

Windows Pho

2013-12-05 10:44:19

TechEd2013

2014-03-07 11:16:12

2010-12-14 09:55:44

注冊Windows P

2012-05-16 17:36:36

Windows Pho

2013-11-07 17:08:39

微軟Windows StoWindows Pho

2013-08-29 13:41:42

Windows 8.1

2012-05-03 09:54:01

Windows Pho

2012-05-18 20:17:15

Windows Pho開發者

2011-10-20 13:29:02

Windows Pho應用商店

2012-05-23 23:34:29

Windows Pho

2010-10-14 09:41:10

Windows Pho

2012-03-27 22:56:36

Windows Pho

2013-08-13 14:22:33

開發者微軟Windows Pho

2013-07-17 09:08:15

2013-08-29 11:40:06

Windows 8.1
點贊
收藏

51CTO技術棧公眾號

强制捆绑调教一区二区| 最近2019中文字幕一页二页 | 亚洲自拍小视频| 情趣网站视频在线观看| 亚洲人成小说| 久久影院一区| 欧美日韩免费观看一区三区| 亚欧洲精品在线视频免费观看| 高清不卡亚洲| 亚洲日本韩国一区| 久久99精品久久久久久久久久 | 91蝌蚪porny九色| 久久久久久久久久久网站| 久久久久久久久久久久久久久久久久久 | 国产成人精品最新| 大地资源中文在线观看免费版| 久久男女视频| 中文字幕久热精品视频在线| 在线看的黄色网址| 色琪琪久久se色| 日韩亚洲欧美在线| 欧美精品在欧美一区二区| 青青一区二区| 欧美日本国产视频| av基地在线| 成人不卡免费av| 成人在线中文字幕| 成人免费一区| 日本黄色一区二区| 午夜免费福利小电影| 日韩av在线中文字幕| 国产精品ⅴa在线观看h| 亚洲日本三级| 欧美精品一区二区三区久久久 | 手机精品视频在线观看| 日本精品一区| 国产欧美日韩在线观看视频| 精品sm在线观看| 制服丝袜专区在线| 五月激情六月综合| 国内自拍中文字幕| 国产精品av久久久久久麻豆网| 伊人久久久久久久久久久| 日韩成人黄色| 欧美国产一区二区| 人妖精品videosex性欧美| 国产白丝在线观看| 亚洲成av人片一区二区三区| 狠狠干视频网站| 久久麻豆一区二区| 水蜜桃一区二区| 99久久久免费精品国产一区二区| 国产精品久久久久久久免费大片| 婷婷激情成人| 欧美精品一区二区三区高清aⅴ | 色婷婷亚洲mv天堂mv在影片| 久久精品成人一区二区三区蜜臀 | 久久国产精品免费一区二区三区| 欧美色男人天堂| 亚洲这里只有精品| 国产在线不卡一区| 亚洲综合色激情五月| 美女一区二区视频| 18成人在线| 香蕉久久99| 中文字幕亚洲无线码a| 色婷婷久久久| 日韩精品一线二线三线| 女同性一区二区三区人了人一| 国内外成人免费激情在线视频| 成人小电影网站| 欧美综合在线观看| 青娱乐精品视频| 快色在线观看| 亚洲欧美日本另类| 男女羞羞在线观看| 欧美日本韩国一区二区三区视频 | 日韩精品在线看片z| 四虎影视在线播放| 亚洲国产成人av网| 调教视频vk| 亚洲欧洲成人精品av97| 国产一二三区av| 欧美精品一区二区三区一线天视频 | 欧美专区中文字幕| 国产一区二区三区四区五区美女| 免费网站www在线观看| 精品一区二区三区电影| 婷婷在线播放| 91精品国产麻豆| av在线三区| 欧美激情乱人伦一区| 99综合久久| 久久国产精品视频| 999久久久精品一区二区| 日韩少妇与小伙激情| 日本三级一区| 91亚洲va在线va天堂va国| 99国产精品视频免费观看| 91午夜在线观看| 不卡电影免费在线播放一区| 免费在线超碰| 欧美人成免费网站| 精品久久ai| 国产精品三级美女白浆呻吟| 成人精品久久| 成人免费视频网址| 99精品久久久| 一区二区三区四区久久| 激情五月婷婷综合网| 国产经典久久久| 777a∨成人精品桃花网| 老色鬼在线视频| 国产九色精品| 婷婷国产在线综合| 亚洲区小说区图片区qvod按摩| 国产淫片免费看| 亚洲欧美国产77777| 视频二区在线| 欧美在线视频免费| 国产午夜亚洲精品羞羞网站| 粉嫩tv在线播放| 91精品国产丝袜白色高跟鞋| 午夜国产一区二区| 亚洲免费久久| 91在线porny国产在线看| 日本在线视频www鲁啊鲁| 国产精品伊人日日| 欧美视频第二页| 宅男噜噜噜66国产日韩在线观看| 免费在线观看一区二区| 国精品**一区二区三区在线蜜桃| 黄色成人在线| 日韩网站免费观看| 国产精品亚洲а∨天堂免在线| 天堂av在线网站| 色综合中文字幕| 欧美人与性动交xxⅹxx| 国产不卡在线观看| 1024精品合集| 欧美理论视频| 在线亚洲美日韩| 亚洲日本成人在线观看| 香蕉久久精品日日躁夜夜躁| 黄色网址三级| 亚洲国产婷婷香蕉久久久久久| 99久久99九九99九九九| 男人亚洲天堂网| 日本道在线观看一区二区| 婷婷六月综合| 污污污污污污www网站免费| 亚洲欧美日韩区| 99re视频精品| 国产成人高清精品免费5388| 久久国产精品一区二区三区| 精品捆绑美女sm三区| 亚洲国产精品嫩草影院久久av| 污版网站在线观看| 91精品入口蜜桃| 91麻豆精品国产自产在线观看一区| 视频在线观看一区二区三区| 日韩网站中文字幕| 精品一区二区不卡| 综合分类小说区另类春色亚洲小说欧美 | 日本蜜桃在线观看视频| 成人免费在线网| 欧美大片网站在线观看| 一区二区三区精品视频| free性m.freesex欧美| 国产精品www网站| 国产成人免费视频| 日本高清中文字幕二区在线| 国产一区二区三区av在线| 国产精品久久综合| 欧美成人精品三级网站| 亚洲国产精品久久久久婷蜜芽| 欧美一级视频一区二区| 国产一区二区三区久久久| 天堂av一区| 成年人网站国产| 秋霞午夜一区二区| 日韩亚洲欧美成人一区| 久久久久国产精品人| 免费看男女www网站入口在线 | 在线亚洲免费| 亚洲图片小说区| 国产特黄在线| 日韩免费不卡av| 91色视频在线| 亚洲最新色图| 蜜桃臀av在线| 在线观看日韩羞羞视频| 欧美国产在线电影| 91精品国产色综合久久ai换脸| 国产亚洲1区2区3区| 91精品国产91久久久久久黑人| 日韩欧美一区二区三区在线观看| 最新中文字幕在线视频| 国产精品av电影| 日韩黄色高清视频|