2012/09/20

TechDay Taiwan Day 3 Note

Windows Phone 開發及管理概論

WP8 目前還不能說,有幾個重點:

  • App相容WP7
  • 與跟windows8共享核心
  • 三種解析度:WVGA,WXGA,720p
  • NFC及電子錢包
  • In-App-Purchase
  • 公司專屬應用程式
  • 可用Native C++開發
  • 有語音辨識
  • 離線地圖,整合Skype

開發

     安裝SDK 7.1.1

     256MB的記憶體對於APP是很嚴苛的考驗,很容易就跳出直接關閉

規劃工具

  • 手繪
  • 下載範本PDF:Wireframe Paper Sketch Template
  • 便利貼的方式
  • 白板
  • PPT:很容易表現全景式的版面規劃
  • WireFrame Template for VIsio ,OmniGraffle for Mac & iPad
      不要讓User點太深的層次,最多的層級是四層,更嚴格為3層,這不是迷宮,太多結構時會昏頭轉向

封面設計

     以雜誌首頁為例:重點有產品商標,主題,主題相關描述,主題相關視覺元素,次主題,次主題相關描述

     而不是先列出功能Icon,應該是列出有什麼對使用者有幫助的資訊才對

     UI設計重點:排版的整齊,字型大小,配色。

                         請不要Button,漸層,陰影,3D物件

     Panorama全景畫面,適合首頁運用

     Pivot,適合用在同類型的資料分類呈現

     XAML(發音:zammel)

DataBinding

     資料物件ViewModel,要實作INotifyPropertyChanged,跟WinForm新版的資料更新方式相同

     連接資料庫,WP7.1.1內建SQLCE,執行於應用程式的執行緒之中,使用Linq to SQL,存放於Isolated Storage:每個App獨立,移除時就清除

     模擬器可以安裝Isolated Storage Tool取出SQL CE資料庫

行動裝置管理

品質衡量準則

商業智慧的全新視覺體驗--設計Power View 報表

Power View 是什麼?

  • Reporting Service 內的全新產品
  • 未來整合進Excel2013
  • 基於 Silverlight 5<==怎麼不是HTML5? 可能還會有下一個版本出現
  • 並非取代原本的工具,而是資料視覺化的工具
  • 針對平板手勢最佳化???? (這個部份SL5可以在iPad上運用?)
  • 很像PPT

可以整合

  • Power Pivot
  • Tabular 資料模型,SQL2012 SSAS 新功能
  • BISM,Business Intelligence Semantic Model ,商業智慧語意模型
    • DAX 用來取代MDX
    • 可以有Having子句的篩選功能
    • 明細會比OLAP慢一點
    • 例如:原本只能單筆交易超過10萬元,現在可以找最近一年內加總交易金額超過5千萬的客戶

系統需求

  • SQL2012
  • Sharepoint2010
  • 或未來Sharepoint2013
  • 或未來Excel2013 Power View 活頁簿,可以維護多個Table的資料

限制

  • 需要Sharepoint2010,明年可能會整合至SharePoint2013

卡片檢視方式

並列分析:不同年度,水平/臿直圖表及分析

可以直接匯出成PPT

有迷你工具列可以再進行篩選

交叉分析篩選器,同一個投影片中,可以放好多層的篩選器

並排顯示=動態磚,有Tab的方式,也有CoverFlow的方式

圖片的方式有兩種:Binary存放,或者是URL超連結

動態的泡泡圖,依時間播放,泡泡的大小會變化

Excel2013有重大的改版

M$ BigData 解決方案與案例分享

講師認為 BigData 過去的觀念都有用,只是沒有包裝

預測:資料每5年,會成長一倍

各種資料都會出現,例如:XML,JSON,IMAGE....

Hadoop,分散式運算的代表,創辦人兒子的玩具名稱

  • Grid Computing
  • Map & Reduce

Volume,容量

  • TB變PB

Velocity,:每個人有4.3個裝置連接

  • 批次跑,現在變成要串流的方式來進行處理

Variety,變異:很多新的型別的資料

  • 非關聯性,非結構化資料

Walmart:「以前我們將尿布和啤酒放在一起而創造新的業績」==>現在我們將比老爸更早一步知道他女兒懷孕

  •      搜尋記錄中就知道你想要做什麼事情,進一步寄一些行銷DM刺激消費

LOG都保留下來進行分析,放在資料庫之外

BigData 不等於 Big Databae

當我們的資料量,已經沒有辦法在指定時間內處理完成時,那這就是BigData了!!!!

  • 設備升級
  • 處理技術升級
  • 在外面處理好資料後再轉進資料庫

OpenSource 在微軟原本是不能談的,現在心胸變寬大了,擁抱Hadoop!!

Streaming的搜尋

  • 找影片裡面有Microsoft Logo
  • 現在有車牌辨識系統eTag

Excel 可以直接拿 Hadoop 資料來進行分析

  • Hive Query

海量資料怎麼來的?

  • 搜尋
  • 裝置
  • 爬蟲程式
  • 記錄檔

需不需要買Appliance?

     見仁見智,講師認為因為海量,所以初期會無法預估,可以先租用雲端。

DEMO

     上傳文字檔,用javascript來分析,回存JSON

     將Join的想法實作在Hadoop上,這是海量資料很難做到的地方,因為要分散式運算,以前的觀念要轉變一下

案例分析

     T-Drive:設計好一點的GPS,有即時的交通資訊加入進行路徑規劃分析

     跟北京市政府合作合作

打造跨Windows8與Windows Phone 應用

Windows Store App vs Windows Phone App

差異

  • 裝置特性差異:平板,桌上型,手機
  • 開發的API範圍不同,支援的namespace範圍大小不同
  • WS App 以FlipView取代Panorama/Pivot
  • WS App 以ListView取代ListBox
  • 動態磚的Logo路徑上有很大的不同
  • 非同步的寫法也不同 await + even

跨裝置的建議:

  • 採用ICommand/MVVM + Portable Class提高可維護性
  • 用XAML寫UI,少寫CODE
  • 能放在雲端就別寫在CLIENT
  • 不要期待write one run everywhere,而是期待新裝置/平台寫得快一點
  • 請多花一點時間在XAML上

展示層開發技術的持續改變是必然的趨勢

愈容易跨平台,也愈容易失去平台特性

推送訊息差異

     Notification extension很好用

     Toast(推送訊息) Enable=Yes

     排程訊息

檔案存取差異

     IsolatedStorage:WP7,Sliverlight,winform,web form

     新增加Application Data:有Local,Roaming ,temp

     windows.storage.applicationdata.current.local/roaming

     Url 很好用:ms-appx=安裝目錄,ms-appdata=appdata目錄

     FileOpenPicker,FileSavePicker

DataBinding

     沒有WebClient,要改為HttpClient

     有SyndicationClient來抓RSS/Atom資料

     非同步的寫法: var result = await hc.GetStringAsync(<uri>);

如何開發PortableClassLibrary

  • 整理前端可重用的邏輯,再用MVVM
  • 不應該Focus在UI處理的部份,而是資料的部份
  • 通訊錄的例子
    • 很棒的範例,手機與平板的UI中都沒有寫程式,均用PortableClassLibrary
    • 定義屬性Item及Collection
    • 維護功能 RelayCommand:ICommand 用XAML Binding技巧
    • 查詢功能
    • XAML Binding=> StaticResource
      • Mode=two way,會寫到記憶體中,就會在查詢中直接出現

ASP.NET MVC4

新功能

  • 可建立空白範本
  • 靜態檔案CSS/Javascript的最佳化(壓縮)
    • debug=false 就會啟動壓縮
    • 支援CDN,若CDN失效的話,就會採用本機的
    • 自定忽略檔案清單
      • min.js
      • -vsdoc.js
      • debug.js
  • 網際網路應用程式範本(初學者必看)
    • 驗證採用oAUTH
    • ActionFilter範例
    • ErrorMessage傳至前端的方式
  • 響應式設計:不同的視窗大小都支援
  • Web API範本
    • Restful
    • 習慣取代配置
    • oData目前獨立一個專案:原因為不太完整,先使用Nuget下載「發行前版本」
  • 行動開發,Display Mode來區分桌上版及行動版
    • 在原本的VIEW Name加上mobile即可,若有支援wp7的話,就將檔名改wp7
    • jqMobile有Cookie的話就可以切至桌上版
  • windows Azure SDK 支援
  • 非同步簡化支援,此部份使用.net4.5新功能
    • public async Task<string> GetWebDataSync
    • 程式內部寫 await
  • Controller 可以不用放在Controller目錄中
    • 命名的習慣,去搜尋Class
  • AllowAnonymous
    • 可以在Class層級中定義了ActionFilter後,在Method層級中有[AllowAnonymous]時,也可以跳過
  • javascript intellisense 可以設定在_reference.js 即可,粉貼心吶
  • PageInspector,可以快速的找到UI上的程式碼,及CSS,還有Partial View
    • 因為低耦合性,所以常常會找不到…XD

沒有留言: