天天看點

嘗試HTML + JavaScript 編寫Windows App

  一直以來博文中使用最多的就是C# + XAML。進入Windows App時代,又多了一對 Javascript + HTML組合,這對于Web開發的程式員來說再熟悉不過了。其實小編也做過幾年的Web開發,算不上什麼大拿,但那時無時不刻的在網絡上尋找Javascript、AJAX、JQuery代碼,研究各種動态Web效果。每次打開VS總是看到Javascript項目選項,但從來也沒建立過。随着Windows 8.1 Preview、Visual Studio 2013 Preview釋出,我也來體驗一下Javascript開發Windows App是什麼感覺。

  打開Visual Studio 2013 Preview,建立一個空Javascript項目,在工程目錄中有三個default檔案,字尾分别為css、js、html,看到這三個檔案不用打開就應該知道是幹什麼的。Default.css控制界面顯示效果,比如字型大小、間距、顔色等。Default.js程式邏輯處理,如事件、動态效果等。Default.html這個就是界面展示了,程式的UI效果都通過它來展示。

  在Default.html的<Body>标簽裡添加一些簡單的代碼,我們的目的是當點選Go!按鈕時,顯示username填寫的名字。個人喜好用Blend進行界面編輯,用起來比VS友善一些。

<body>

  <div class="apptitle">Hello World!</div>

  <div class="appname" id="showname"></div>

  <div class="appinput"> 

    <input id="username" type="text" />    <button id="nameBtn" type="button">Go!</button>

  </div> 

</body> 

  接下來,需要在Default.js裡定義按鈕點選事件,事件寫好後需要在app.onactivated中注冊該事件,這樣才能使點選按鈕生效。

function showNameBtnClick(eventInfo) {

 var userName = document.getElementById("username").value; 

 var showString = "This is " + userName + "!"; 

 document.getElementById("showname").innerText = showString; 

}

app.onactivated = function (args) {

 if (args.detail.kind === activation.ActivationKind.launch) { 

  if (args.detail.previousExecutionState !== activation.ApplicationExecutionState.terminated) { 

  // TODO: This application has been newly launched. Initialize 

  // your application here. 

  } else { 

  // TODO: This application has been reactivated from suspension. 

  // Restore application state here. 

  } 

  args.setPromise(WinJS.UI.processAll()); 

  var nameBtn = document.getElementById("nameBtn"); 

  nameBtn.addEventListener("click", showNameBtnClick, false); 

 } 

}; 

運作F5啟動程式,在Input中輸入名字,點選Go!按鈕,達到預期效果。

本文轉自Gnie部落格園部落格,原文連結:http://www.cnblogs.com/gnielee/p/build-windows-app-using-html-javascript.html,如需轉載請自行聯系原作者

繼續閱讀