随笔分类 -  window8 App开发

摘要:Metro App和传统的Desktop App虽然可以共存于Windows8中,但Metro App本身却是为Touch设备而生的。所以不管是其UE风格还是技术架构其实都跟传统的App存在很大差异。本文会概要性的介绍一下Metro App的生命周期有哪些状态,当然后续还会跟进其他一些文章来详细讨论生命周期中的各种状态以及相关程序中的一些细节。先看一张图:其实在《【windows8开发】javascript开发Metro风格App》 一文中曾经介绍过Metro App的生命周期,只是当时说明的内容比较简单。从图中可以看出,Metro程序主要存在三个状态:Not Running,Running, 阅读全文
posted @ 2012-08-24 15:05 MXi4oyu 阅读(257) 评论(0) 推荐(0)
摘要:windows 8 推出在即,众多软件,代码都面临移植到这个新平台的问题,由于Metro App需要基于windows runtime framework来开发,而很多传统的windows API在winRT下并不被支持,所以本文会讨论哪些现存的windows API在Metro App中能被支持,哪些不被支持需要被替换,当然讨论的内容不会涵盖所有的API,只会把重点放在一些比较基本和常用的API,比如多线程相关,文件读写,同步与事件,网络编程等API。这里的API特指win32 API和Com API, 也就是C/C++风格的API。另外说明下,本文只关注API在Metro App中是否支持 阅读全文
posted @ 2012-08-22 14:59 MXi4oyu 阅读(441) 评论(0) 推荐(0)
摘要:/******************************************开始本文之前,借块地方说明下,本文之前的所有win8系列的文章是在windows 8 consumer preview(消费者预览版)的上进行的一些尝试和分享,本文开始会切换到windows 8 release preview(发行者预览版),因为从老版本到现在的版本间,framework中一些API有所改变,所以有些示例代码并不兼容,特此说明下。******************************************/windows 8通过windows runtime framework支持不 阅读全文
posted @ 2012-08-16 09:39 MXi4oyu 阅读(376) 评论(0) 推荐(0)
摘要:javascript在web前端的地位不需要再花任何言语去证明了,NodeJS的爆发又给JS带来了Web后台开发的新定义。而如今Windows8又提出了一种新的开发框架:用javascript开发Native App。可以说,锋利的javascript必然让windows平台Native App开发的生产力再上一个台阶。不吹嘘javascript的威力了,进入主题。本文主要讨论javascript开发Metro App的一些细节以及windows 8中程序的生命周期。首先用VS新建一个工程:选择【javascript】【Windows metro style】【Blank Applicatio 阅读全文
posted @ 2012-07-08 22:16 MXi4oyu 阅读(317) 评论(0) 推荐(0)
摘要:g10589119在【windows8开发】深入浅出C++/CX一文中提出了一下这个问题,特以此文进行回复,大家如果有不同意见和想法可以留言分享下。g10589119的问题如下:----------------------------------------------------------------------------------------------Fromg10589119楼主你好,最近遇到一个问题,就是在metro的开发中,想用c#调用C++ /CX写的DLL,public ref class test_class sealed { public: void fun(int 阅读全文
posted @ 2012-05-29 16:55 MXi4oyu 阅读(231) 评论(0) 推荐(0)
摘要:在win8系列前面的文章里跟大家分享过,win8下基于WinRT有3种开发Metro UI App的方式,一种是XAML+C++,一种是html+css+javascript,一种是XAML+C#。开发平台和框架相关的详细内容可以参考这篇文章:《【windows8开发】开发平台与开发框架》先说明下自己的开发环境吧,我是用VMWare装了Win8的消费者预览版,然后又装了Visual Studio11 Express Beta for Windows8,大家也可以尝试下,毕竟实际动手敲下代码跑一下,感觉会更直观一点。在本文中会跟大家一起来讨论下用C++结合XAML怎么去开发Metro App。还 阅读全文
posted @ 2012-05-17 13:44 MXi4oyu 阅读(322) 评论(0) 推荐(0)
摘要:什么是C++ /CX? 首先要明白它跟C++ 0x/11以及C++ /CLR是完全不同的东西。C++ 0x/11是目前最新的C++标准库,而C++ /CX其实是微软在Win8开发平台下,对C++语言的一种扩展。C++ /CLR是微软为了C++能在.Net下运行,针对CLR,虽然也是对C++的扩展,但它编译后是托管于CLR的,属于Managed C++。而C++ /CX则属于Native C++,它不使用CLR也没有垃圾回收机制。虽然C++ /CX有些新语法特性是直接从/CLR借鉴过来的,但是从底层实现上来看,它们是完全不同的两种扩展。本文会简单介绍C++ /CX在语法上的一些扩展。1.值类型v 阅读全文
posted @ 2012-04-25 11:51 MXi4oyu 阅读(457) 评论(2) 推荐(0)
摘要:Javascript是一种单线程语言,一旦运行一些耗时的处理,其他一切处理都会被阻塞。所以在Javascript中,异步处理显得尤为重要。由于Javascript只会运行在一个线程中,它的异步模式本质是把一些耗时的处理推迟到未来的某个时间点来运行,也正因如此,在Javascript的代码中往往充满了很多的回调处理。Windows Runtime中提供了Promise接口,利用这个接口可以很方便的实现异步处理和回调。看一段代码:var test = asyncFunc().then( function (result) { console.log("async comp... 阅读全文
posted @ 2012-04-24 16:03 MXi4oyu 阅读(265) 评论(0) 推荐(0)
摘要:前文中提到过,Concurrency::task支持异步处理,但是由于它不支持跟其他语言的交互,所以如果希望开发的组件能在其他语言,比如C#,Javascript,VB中使用的话,就需要多语言交互的API,它就是Concurrency::create_async。 我们把Concurrency::task和Concurrency::create_async两种处理方式对照来看。 如果我们的组件本身以及调用方都只可能是C++的话,我们会使用Concurrency::task来实现异步处理。因为它更直接,所以效率也更高。假设也许我们会设计如下这样的异步处理方法:Concurrency... 阅读全文
posted @ 2012-04-24 11:36 MXi4oyu 阅读(281) 评论(0) 推荐(0)
摘要:从以前的windows应用程序开发转变到Windows8 Metro App开发,如果非要说最需要改变的观念有哪些,显而易见的Metro UI风格大家肯定都认同,而另外一个就是异步处理。从win32早期几乎全盘的同步API,到后来.Net开始支持异步API,微软其实已经做出了API风格上的转变,但是晦涩的回调处理,异常,调试难度让大多数开发者对异步模型开发望而却步,同步处理的观念紧锁住了几乎绝大部分开发者的思想,试问在某些库宣称同时支持同步API和异步API后,包括我自己,又有多少开发者选择去尝试用异步API来构筑他们的应用程序呢? 如果有公司宣称,“在我的平台上开发App,只要你的... 阅读全文
posted @ 2012-04-23 17:44 MXi4oyu 阅读(266) 评论(0) 推荐(0)
摘要:通过Windows Runtime(以下简称WinRT),可以用C++或C#或VB很方便的开发组件(dll),并且这些组件在用Javascript开发的Metro app中可以几乎无缝的被(javascript)调用。由于win8开发平台下,Javascript并不能访问原生的C++代码(虽然可以访问WinRT API),而实际开发中,经常会有一些既存的组件,或者需要用一些第三方库,这时就可以考虑把这些组件或希望利用的库包装成WinRT组件供UI层(JS)调用,让我们来看一个具体的例子吧。以下代码在Beta版VS2011中可以编译运行。创建WinRT Dll工程,工程名为TestLib,... 阅读全文
posted @ 2012-04-21 15:30 MXi4oyu 阅读(334) 评论(0) 推荐(0)
摘要:开门见山,先把windows8 开发平台和开发框架分享给大家。 win8 App开发主要分成两部分,desktop app和metro app。右边蓝色的部分就是desktop app的部分,也是从win7延续过来没有发生变动的部分,前段在论坛上经常看到有人说在win8中不再支持MFC,ATL等,这些绝对是谣言,以前桌面开发支持的,win8桌面程序也都支持,所以搞MFC,Com,ATL等开发的不用觉得是世界末日,地球还是绕着太阳转着呢。 重点是绿色的部分,Metro风格App的开发平台,这是win8中全新的架构,让我们一层层来看吧。 底层是windows内核,往上是windows Ru... 阅读全文
posted @ 2012-04-20 22:05 MXi4oyu 阅读(201) 评论(0) 推荐(0)
摘要:软件开发者真是闲不下来的命,技术更新太快,这不,微软这位大哥又高举windows8闪亮登场了,关于win8的战略意义,时代背景,偶这样的小人物在这里就不多说了,google上这类文章不胜枚举,作为开发者,在这个系列里会从技术角度去一探win8的一些特性和风采。 说到为什么写win8方向博客,原因有二: 第一,最近在抽时间看MSDN提供的windows8 app开发文档,内容不少,个人觉得还是边看边总结效果会比较好,所以有了写windows8 App开发这个系列的打算,而这个系列后续所有的文章都会是基于MSDN文章的内容外加上自己的一些理解和尝试。 第二,对自己的耐心没有十分的... 阅读全文
posted @ 2012-04-20 15:40 MXi4oyu 阅读(228) 评论(0) 推荐(1)