<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12
      代碼改變世界

      從Knockout到Angular的架構演變

      2015-06-30 23:37  圣殿騎士  閱讀(15712)  評論(53)    收藏  舉報

      2008年第一次在WPF中使用MVVM模式之后,就一直熱衷于耦合隔離、模塊化與重構、UI和邏輯分離、單元測試以及后面的領域模型。談及MVVM模式,自己也開發過一套框架,但沒有長期更新和維護,所以索性就一直使用Prism和MVVM Light。到2012年的時候,看到HTML5的大行其道和Silverlight的衰落,果斷把主要精力投入到ASP.NET MVC和Knockout的開發和研究當中,雖然Knockout比較容易上手且方便使用,但總覺得沒有在WPF和Silverlight中使用MVVM那么酣暢淋漓。

       

      WPF/Silverlight

      Web

      MVVM框架

      · Prism

      · MVVMLight

      · Caliburn(Caliburn.Micro)

      · MVVM Helpers

      · Cinch

      · MVVMFoundation

      · AngularJS

      · Knockout (or use Durandal)

      · Backbone.js

      · Ember.js

      · Epitome

      · Agility.js

      盡管后面嘗試過其他框架,比如通過Durandal 實現SPA讓我之前對Knockout的種種不便有所改觀,但始終還是有所缺憾,直至現在使用Angular,尤其是Angular + TypeScript才發現一切問題都不復存在了。

      (之前使用WPF/Silverlight的最大問題其實是很難招到合適的人員做美工和設計,因為很少人會專門投入到Blend和XAML的研究當中,但現在使用Web就會發現資源是那么的豐富,不管是人力資源還是開源社區)

      功能

      WPF/Silverlight

      AngularJS

      UI

      XAML

      HTML+CSS

      設計工具 Design/Blend and Visual Studio All professional design tools

      控件模板和自定義控件

      Control Templates or Custom Control

      Custom Directives (Element)

      動畫

      System.Windows.Media.Animation

      CSS3 Animations and/or JavaScript via ngAnimate

      樣式和模板

      XAML/Resources

      CSS3 and LESS

      樣式繼承和關聯

      Implicit Styles and/or BasedOn

      LESS Mixins

      轉換和過濾

      IValueConverter

      Filters

      綁定Model到UI

      ViewModel and DataContext

      Controller and Scope

      服務重用

      Prism Service Locator

      Custom Services/Service Factory

      事件

      Routed Events

      $emit and $broadcast

      模塊化

      MEF and/or Prism Module Catalog

      Angular Modules

      Services

      WCF or WCF RIA Services

      RESTful services (accessed via the Angular $http/$resource Services)

      導航與路由

      UriMapper

      Routing

      內部組件通信

      Prism Event Aggregator  or Messager

      Shared Services

      視頻

      MediaElement

      HTML5 Video Element

      脫離瀏覽器運行

      Yes

      Yes, via Chrome Apps

      封裝UI邏輯

      Behaviors

      Custom Directives (Attribute)

      UI與邏輯分離

      Control or Data Templates

      CSS/LESS

      跨域請求

      Access-Policy

      CORS

      單向數據綁定

      BindingMode.One

      Ng-Bind

      雙向數據綁定

      BindingMode.TwoWay

      Ng-Model

      單向數據源綁定

      BindingMode.OneTime

      Ng-Model

      開源模板

      Modern UI or MahApps

      Bootstrap or Foundation

      瀏覽器支持

      Need silverlight plugin or XBAP

      All supported

      所以現在將架構由Knockout到Angular的調整并使用到新項目的開發,具體如下:

      http://images0.cnblogs.com/blog/47784/201408/312227322046408.png

       

      image

       

      image

      到目前為止,還沒有發現Angular有什么大的技術難題或者性能問題,如果有Angular項目經驗的朋友,不妨留言討論,學習共勉!

      另外,很多人發郵件問WPF是否會像Silverlight一樣消亡,其實這個問題很難回答,尤其在目前這個不光是微軟主導的開發環境下(HTML5流行度遠甚于XAML,IOS和Android的大行其道與Windows Phone的不溫不火,Windows的命運尚不知曉),可能連微軟自己也不能很好地解答這個問題,所以一切只能由市場和時間來慢慢決定。

      主站蜘蛛池模板: 国产精品福利自产拍久久| 久久波多野结衣av| 久久中文字幕无码专区| 国产精品麻豆成人AV电影艾秋 | 亚洲国产成人无码AV在线影院L | 搡bbbb搡bbb搡| 国产一区二区三区18禁| 377p日本欧洲亚洲大胆张筱雨| 中文字幕乱码十国产乱码| 日韩不卡1卡2卡三卡网站| 国产精品三级黄色小视频| 亚洲AV永久无码一区| 国产精品青草久久久久福利99| 国产日韩久久免费影院| 精品人妻一区二区三区蜜臀| 国产精品中文字幕二区| 精品中文人妻在线不卡| 中文字幕无线码中文字幕| 青岛市| 国产乱码精品一区二区麻豆| 被灌满精子的波多野结衣| 少妇人妻偷人精品免费| 国产日产免费高清欧美一区| 嫩b人妻精品一区二区三区| 国产精品亚欧美一区二区三区| 黑人巨大粗物挺进了少妇| 国产精品视频一区二区亚瑟| 农村老熟妇乱子伦视频| 久久精品国产清自在天天线| 国产精品久久中文字幕| 在国产线视频A在线视频| 国产中文字幕精品免费| 亚洲av高清一区二区三| 柳州市| 无码av中文字幕久久专区| 色播久久人人爽人人爽人人片av | 亚洲一区二区三区蜜桃臀| 在线国产你懂的| 在线看片免费人成视频久网| 99在线精品免费视频| 日本熟妇乱一区二区三区|