四虎精品视频-四虎精品成人免费网站-四虎黄色网-四虎国产视频-国产免费91-国产蜜臀97一区二区三区

Win8探索學習筆記

  目錄

  “程序”的“安裝”

  基于JS的metro程序基礎

  基于C++的metro程序基礎

  WinRT(desktop)之Hello, World

  WinRT之語法擴展

  “程序”的“安裝”

  傳言win8改變了很多,恩,廢話。我希望試圖從開發(fā)人員關心的角度來了解一下win8,對于用戶而言,其實我覺得win8改變真的不多,無非就是修改了一下開始界面,然后程序會使用metro風格的界面,對于開發(fā)人員來說,可能變化的比較多,多了很多新名詞,我希望能對其有所了解,所以記錄一下我所看到的,當然,由于win8其實只是一個預覽版,很多東西我覺得還是會變的,所以真正的東西出來的時候或許還會有些不一樣吧。

  首先關于變化,我想到的是“程序”是如何“安裝”和“運行”的,之所以用這么多引號,是因為變化太多,我甚至不知道該不該用“安裝”等來表達。有點亂,慢慢來吧,有新的發(fā)現(xiàn)就更新下面的內(nèi)容。

  (1) win8程序的類型

  win8新增了metro,主要是希望便于平板等觸摸設備上使用。從大的類別分,win8上的程序分為desktop和metro程序(暫且,我就這么分吧,因為據(jù)說win8會有多個版本,支持arm和x86處理器,并不是所有處理器都支持desktop和metro版本,PS:我所使用的是MS的64bit+VS11的preview 版本,安裝在VBox中)。

  對于desktop程序,只能運行在“desktop”環(huán)境下,metro風格的程序,只能運行在“metro”環(huán)境下。desktop環(huán)境,就和我們的win7類似。至于“metro",在后面還會慢慢的研究。

  (2) desktop程序如何"安裝"到"開始界面“中

  參考怎樣在Windows8桌面上創(chuàng)建自定義快捷方式

  說明:這里說的程序是desktop的。

  簡單來說,對于一個exe文件,通過創(chuàng)建其快捷方式(假設為hello.exe - shortcut),將快捷方式放到:

  C:/ProgramData/Microsoft/Windows/Start Menu/Programs

  中,或者在這里創(chuàng)建一個文件夾,放到文件夾中也是可以的。然后,到win8的start界面中,查找這個程序的名字hello.exe,就會出現(xiàn)了,用右鍵選中這個程序,就可以將其pin到start界面中。

  問題一:一個程序pin到start界面,這些pin的信息保存在哪里的?

  只要在C:/ProgramData/Microsoft/Windows/Start Menu/Programs,那么在start界面搜索都是可以出現(xiàn)的,那么這個比較容易理解了,搜索會自動去這個目錄下遍歷。那么哪些程序被pin了,這些信息保存在哪?相信肯定是某個注冊表項的吧,具體就不去找了。

  問題二:所有能在start界面搜索到的程序(的快捷方式)都是在上面這個目錄下保存的嗎?

  事實上,C:/Users/<username>/AppData/Roaming/Microsoft/Windows/Start Menu/Programs目錄下也是可以保存的。至于還有沒有其它目錄也可以被start界面搜索到,那就不清楚了。

  總結:傳統(tǒng)的desktop程序在win8下都是沒有問題的,win32的API那些東西都還是支持的,什么MFC都是可以用的,弄個快捷方式到metro風格的start界面上也是可以的,只是運行還是會自動切換到desktop模式下。下面的內(nèi)容開始探索metro程序到底是怎么”運行“的。到底是二進制本地運行還是在.NET虛擬機上運行,還是在一個所謂的native實際上還是“虛擬機”的解釋環(huán)境下執(zhí)行,慢慢來吧。

  基于JS的metro程序基礎

  (1) Metro程序支持的開發(fā)方式和語言

  對于Metro風格應用開發(fā),可以使用JS實現(xiàn)程序邏輯,結合HTML5/CSS3設計用戶接口;也可以使用C++, C#或VB結合XAML來實現(xiàn)用戶接口,使用Native C++或托管C#或VB來實現(xiàn)應用程序邏輯。對于Metro風格的C++游戲,可以使用Native C++的DX11庫和HLSL等。

  對于Win8,本地擴展允許用戶構建可重用的組件庫,可以使用C++、C#或VB構建組件,然后使用JS或者其它的支持的語言在程序中調(diào)用這些組件

  (2) 下面是Win8提供的VS11預覽版對Metro支持的工程選項

  (3) 使用JS實現(xiàn)的hello, metro

  實現(xiàn)hello, metro很簡單了,用VS 11新建一個最簡單的JavaScript工程,默認的工程模板如下:

  簡單分析一下,這里有css文件夾、images文件夾、js文件夾、winjs文件夾和default.html和一個manifest文件。其實,和一般的web程序是一樣的,default.html是“起始頁”,css和images和js文件夾是對應的一些引用的文件了。winjs文件夾,重點說明一下,是win8為基于JS的metro程序創(chuàng)建的一個JS庫吧,暫且理解這么多。然后package.appxmanifest,對于開發(fā)人員都很熟悉了,打包用的一個列表文件,在VS中,雙擊打開可以使用UI的方式編輯了。打開default.html,里面其實就是對其它的css/js文件的一些引用了,就是提供了一個簡單的模板工程了。

  到了這里,我已經(jīng)大概猜測到了,基于JS的metro程序最后還是打包一下,放到一個“虛擬機"/"runtime"上去跑而已,原本以為MS會把JS編譯到二進制,成為native程序的,下面會進一步證明這一點。

  簡化上面的工程,刪除css、js、和winjs文件夾,最后只剩下images、default.html、package.appxmanifest的內(nèi)容。事實上,這才是一個”最簡單“的基于JS的metro工程。default.html內(nèi)容如下:

<!DOCTYPE html>  
<html>
<head>
<title>Hello,metro </title>
</head>
<body>
<button>
Hello, Metro with JS!
</button>
<p>
This is an metro app implemented by JS!
</p>
</body>
</html>

NET技術Win8探索學習筆記,轉(zhuǎn)載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 羽毛球壁纸| 颁奖典礼图片| 2024头像| 五月天诺亚方舟| 饥饿站台豆瓣| 铁血丹心吉他独奏谱完整版| 女友电影| 有关动物的成语| 日韩欧美动作影片| 永井大| 告别信| 色戒.| k总直播间| 安多卫视直播在线观看| 萱草花合唱谱二声部| 爆操在线观看| 艳女tv在线播放| 齐力电影| 蒋锐| 什么水果是热性的| 巴黎最后的探戈| 培根《谈读书》原文及翻译| 舌吻做爰视频舌吻| 舞法天女朵法拉第二季免费观看全集| 李采潭全部作品| 幼儿园一日活动的组织与实施| 按摩私处| 间宫祥太朗| 网络谜踪| 一个馒头引起的血案| 消失的她电影免费收看| 田园个人简历| 《魔女之旅》动漫| 钱串子图片| 中央七套| 18岁在线观看| 色戒在线观看完整版免费| 飞虎神鹰1-42集免费| 噜啊噜在线视频| 香港艳情电影| 杨紫和肖战演的电视剧是什么|