设为首页 收藏本站
查看: 925|回复: 0

手把手玩转win8开发系列课程(3)

[复制链接]

尚未签到

发表于 2015-5-20 11:09:08 | 显示全部楼层 |阅读模式
  上节,我们已经搭建了他的开发环境,这节,我们对UI层大一统的技术——XAML技术进行一个概览。
  先来搞清楚什么是XAML?所谓XAML是eXtensible Application Markup Language的英文缩写,相应的中文名称为可扩展应用程序标记语言,它是微软公司为构建应用程序用户界面而创建的一种新的描述性语言.  特别提醒,xaml中含有ML两个字,因此可以看出来他属于ML(mark Language)家族,这里有必要揭秘一下他的前世今生。     
  在xaml出现之前,微软技术的使用者曾经遇到过以下几个难题。
  ①在开发一个应用程序时,开发工作开发人员和设计人员两个团体同时进行时候,负责后台程序代码逻辑和前台程序界面的设计要混淆在一起,这样就使得开发人员和设计人员之间的协作十分的不通畅,抑制发挥了他们各自的专长,大大的降低了开发效率。
  ②在做普通的winform程序时候,我们要做一个很炫的按钮,比如对按钮进行了旋转,扭曲,除非美工给力,否则十分的麻烦。
  ③我们做web的程序的时候,做许多动态,渲染的效果,没辙,我们只有需要flash帮助,则似乎加大开发人员的学习成本。
  于是,在这大环境下,xaml技术在千呼万唤中始出来. 2006年, xaml是伴随着wpf(Windows Presentation Foundation),  WPF相对于Windows客户端的开发来说,向前跨出了巨大的一步,它提供了超丰富的.NET UI 框架,集成了矢量图形,丰富的流动文字支持flow text support,3D视觉效果和强大无比的控件模型框架。在wpf做界面上取得巨大的成功的同时,对设计人员来说,那xaml语言类似与html的风格,几乎不用花任何的学习的成本,这样子设计人员工作效率大大的提高。同时在开发一个应用程序时,开发工作开发人员和设计人员两个团体同时进行时候,负责后台程序代码逻辑和前台程序界面的设计完全分离,这样就使得开发人员和设计人员之间的协作十分通畅,极大发挥了他们各自的专长,大大提高了开发效率,缩短了开发的周期。
  后来,微软又推出了一个对抗flash的利器——silverlight技术,也是将xaml语言作为UI设计的语言,随着nbc用silverlight在做2008年的奥运会的网站上的默认播放器的巨大的成功,人们见识到了xaml语言在处理网页程序的富客户端的能力的强大。
  微软在智能手机端,深深的体会一般是他的对手所感到的压力从摇摇领先到大幅度落后。于是,到了2010年,微软推出了一个全新的手机的操作系统——windows phone7 ,他与windows mobile有本质的区别。最脱胎换骨的区别, 是metro UI应用, 对我们.net人员来说,又是巨大的福音。这也是xaml语言一个巨大的胜利。
  win8操作系统出现,主要是针对平板电脑的操作系统,于是,写metro app UI的层技术,顺理成章的,也是xaml技术。  
  我们看wpf,silverlight,wp,win8相应xaml类库所对应的关系:
  从这个图中,我们能够清晰的看到以下的关系:
DSC0000.png
  ①wpf所支持的xaml的类库是最完全的,而像silverlight,silverlight是他的子集。②silverlight所支持的类库其次,wp中的xaml,win8中的xaml都是他的子集。③  wp与win8中的xaml ,互有交际,例如像微软为了极大的提高的GPU效率,把RadialGrenditBrush(渐变笔刷)在win8就不支持。像win8支持的PropertyPath,在wp不支持。
  以上都是一些理论,下面我们遵循程序界最常见的原则——WYSIWYG(所见即所得(what you see is what you get))原则,通过一个小例子来展示xaml是通用的。
  这个小例子,就是让按钮旋转30°。 相应源代码如下:


DSC0001.gif DSC0002.gif View Code


        




  在wpf中,我拷贝上述的源代码。运行效果如下:
DSC0003.png
  在silverlight中,我拷贝上述的源代码。运行效果如下:
DSC0004.png
  在wp系列中,我拷贝上述的源代码。运行效果如下:
DSC0005.png
  在win8中,我拷贝上述的源代码。运行效果如下:
DSC0006.png
  怎么样,我的一行源代码 搞定微软4个不同的平台,微软的xaml是真的niubility,哪些骂微软sb的人,请您猩猩吧!其实,微软的所有UI技术,学好xaml,走遍天下都不怕。
  这就是对xaml的基本介绍。
  
  
  
  
  
  
  
  

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-68847-1-1.html 上篇帖子: 手把手玩转win8开发系列课程(4) 下篇帖子: 手把手玩转win8开发系列课程(2)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表