win8 新引入了称为WinRT的核心API。支持使用C/C++、.NET或JavaScript来开发Metro风格的应用。这些应用自动获得硬件加速和高级电源管理的功能。现有的Silverlight和WPF应用程序可以以最小的代价移植到新的“Native XAML”库。

以下是主题演讲的摘要。当它们发布时,将提供更多细节。

概要

Windows 8: 基本内存使用从540MB降到281MB。

锁屏将显示用户内容.

触摸式密码,基本上是点击图像上的三个点给机器解锁。

类似Windows Phone,开机画面使用鲜活的瓦片状的Metro风格。

重点在全屏程序上。

应用程序特定的和系统设置在用户接口上共享相同的空间,这表明应用程序需要说明与哪些系统设置相关。

新版IE将焕然一新。所有的功能都隐藏在滑动的应用里。

拼写检查系统内置。

开发者预览版包括Visual Studio 11 Express和Expression Blend 5。在公开Beta的时间表里没有标明下一个里程碑是什么时候。内在更新在需要的时候将被推送到安装了预览版的机器上。可用于x86/x64的预览版本在今晚开始提供下载:http://dev.windows.com

应用集成

Windows 8将提供被称为“挂件(charms)”的扩展点。一个例子是“共享挂件”,它展示了文本共享的所有方式,如电子邮件、Facebook、Twitter等。应用可以通过实现正确的接口,在挂件内部注册它们自己。同时其他应用程序可以表明它们能发送信息给这个挂件。这个概念非常像JavaScript的混搭或经典的OLE,但它更关注应用间的交互。

支持系统范围的搜索。而且应用可以注册为搜索服务提供者。

应用程序可以直接公开云端的文件,为其他应用程序使用。这样不需要拷贝文件(如图片)到本地硬盘,其他应用程序就可以访问它们。

为Windows 7开发:经典平台

· Internet Explorer上的HTML/JavaScript

· Win32上的C/C++

· NET上的C#/VB和Silverlight

为Windows 8开发: Metro风格

Windows内核仍然在最底层

WinRT是新的操作系统级别的API层。它是新的Windows本地API,而不是构建在Win32的上面。

你可以从C / C ++,C#/ VB或JavaScript访问WinRT。XAML是C、C++、C#和Visual Basic中的UI层。HTML/CSS将继续作为JavaScript的UI层使用。

Visual Studio提供Windows 8各种风格的应用程序的项目模板。第一个示例是一个基于JavaScript的应用程序。应用程序没有编译,而是打包其所需的所有的HTML和JavaScript文件。 Windows 8可以直接运行它,而不需要启动Web浏览器。

上文提到,JavaScript可以使用WinRT API访问本地功能。在主题演讲的演示中,只用了几行代码便显示了新的Windows打开文件对话框。由于Facebook已经安装在电脑上,打开文件对话框在演示者的Facebook页面上显示图片。 JavaScript应用程序并没有写任何网络代码,它和Facebook之间的这种联系完全由平台处理。

Expression Blend现在更多地支持HTML和CSS。

HTML5的网格方案对构建Windows8应用程序来说是必不可少的。如果没有它,要支持多种屏幕分辨率的Windows8上运行应用,将非常困难。

Metro风格的应用程序在不可见时自动挂起。这样做可以延长电池使用时间。

应用商店

正如预期的那样,现在有分发Windows应用程序的商店。应用程序许可的技术方面由商店本身处理,应用只是显示基本信息,如价格和是否有试用期。

提供Windows商店的应用程序需要认证。用来验证应用程序的工具将交给开发者,这样他们在正式提交申请前就可以看到和纠正违规现象。

访问Windows 8商店的应用使用JavaScript编写,使用了WinRT API。

应用商店不局限于Metro风格的应用,传统的Win32程序在商店里也可以见到。

从Silverlight升级到Windows 8

在演示中,所有现存的XAML都如从前一样工作。演示者仅需要改变命名空间(如System.Windows变为Windows.UI),并调整网络代码。只有十几行代码,就能够注册应用程序作为搜索服务提供商。

从Windows 8迁移到Windows Phone只需要额外添加一两行代码。

硬件支持

一个称为“连接待机(Connected Standby)”的新模式是受移动设备的启发。功耗非常低,偶尔启动为Windows临时打开网络连接,以允许应用程序接收更新。由于该系统是从来没有真正关闭,瞬间就恢复工作。

最大支持256TB的硬盘。Windows 7仅支持小于2TB的引导驱动器。

整个系统使用图形硬件加速。Metro风格的应用默认使用它,不需要额外编码。

Sensor Fusion API将结合陀螺仪、加速度计和磁强计的信息。获取基本信息,如设备的物理方向,仅需要三行代码。

现在网络协议栈支持如3G的边信道(side-channels)概念。

他们提供一台运行Win8和Visual Studio的Tablet作为赠品。

刷新(Refresh)和复位(Reset)

使用刷新命令,将删除除了个人信息/设置之外的一切。Metro风格的应用程序将被保留,任何Win32风格的应用程序将被删除。这基本上是用来响应系统问题,如病毒。

复位命令将彻底清理电脑。所有个人信息将被删除,机器返回到出厂设置,就跟刚买来时一样。

有一个命令行工具来更新基准镜像。可以用于添加应用程序到标准镜像,如Visual Studio或Office。企业用户很可能希望自己公司定制的软件包括在此基准图像中。

云服务

应用的设置、主题、密码等可以通过Windows Live账号在不同机器之间同步。

Windows通讯簿从所有来源,包括社交网站,得到所有的联系人,并通过Windows Live账号共享它们。用同样的方式可以共享日历。

所有Windows Live账号的用户都能使用Windows SkyDrive。

Windows Live允许在一台机器上访问另一台机器,即使另一台机器是在防火墙后面。关心信息安全的公司应该小心,因为这让没有技术技能的普通用户可以很方便地将机密文件从工作站移动到家里的电脑,即使不在一栋建筑物里。

微软希望开发者使用Windows Live将他们的应用连接起来。

            分析:上面文章 你可以从C / C ++,C#/ VB或JavaScript访问WinRT 这句话意味着什么?如果这几种语言都能全部访问WinRT 话,性能几乎差不多的话,大家可以想象哪种开发语言在操作系统上开发周期更长,时间更久?程序员们都知道肯定是C 或者C++ ,也就是说 C,C++ 在WIN8操作系统应用程序的优势全没了。 也许说到这里 C ,C++程序员可能会说:"老子转嵌入式,微软太坑爹了。"。没错。。C C++ 在嵌入式市场是一下取代不了的。但有个小问题 一个做 windowsXP 游戏开发的 程序员 转 嵌入式 大家都知道 要学多少东东。淘汰一批C C++ 程序员 是必然的(这里的淘汰是行业上淘汰不是下岗,技术大牛们金字塔中上层的人一下是下不来的)。说到这里C#程序员偷偷笑了。。。终于可以在win8 下面 达到以前访问win32API 效果。C# 可以扬眉吐气。C#占有了更多的领域 基于 win8 的游戏编程。多年做C#的程序员苦恼于.NET性能 被C,C++鄙视不能做游戏开发。高呼一声:"不是我们不会。。。是没有几家公司用C#开发游戏。。。"。多媒体通讯行业是不是也要招聘更多的C# 程序员?XAML是C、C++、C#和Visual Basic中的UI层,这对于接触过silverlight或者WPF的程序员 so easy!难道C#程序员领域更广就意味着待遇会高吗?这个真不一定。。如果一批C,C++程序员转C#,C#菜鸟们可能也会在这次竞争中被踢出局。IT行业每隔10年一次洗牌。C#.NET已经有10年历史了。也该要洗牌了。无论C C++ VB C#程序员 都在对微软这种做法感到反感。"吗的,老子的程序好好的 你操作系统API 都换了,你在跑,我等着饿死吗?"。其实对软件工程来说:微软这样做是更易于操作系统软件的抽象,核心底层抽象封装。但win8操作系统能不能火?这是一个问号。。如果火了。IT真的要洗牌了。大浪淘沙。如果WIN8 像 vista 一样失败。这把牌还洗不了。本人只是觉得的微软这次操作系统升级动作是不是有点大了?难道是为了当年.NET没有彻底代替WIN32API,没达成的微软的.NET战略,用户抱怨性能不行而做出来的战略性的改变吗?我只想说:“走路的时候,步子不能迈的太大,会扯到蛋的”。

Win8 WinRT将替换Win32 API程序员何去何从?的更多相关文章

  1. C#调用win32 api程序实例

    1.声明static extern 方法,使用DllImport特性 class MyClass { [DllImport("kernel32", SetLastError = t ...

  2. @Java web程序员,在保留现场,服务不重启的情况下,执行我们的调试代码(JSP 方式)

    一.前言 类加载器实战系列的第六篇(悄悄跟你说,这篇比较水),前面5篇在这里: 实战分析Tomcat的类加载器结构(使用Eclipse MAT验证) 还是Tomcat,关于类加载器的趣味实验 了不得, ...

  3. 黑马程序员——【Java基础】——泛型、Utilities工具类、其他对象API

    ---------- android培训.java培训.期待与您交流! ---------- 一.泛型 (一)泛型概述 1.泛型:JDK1.5版本以后出现的新特性,用于解决安全问题,是一个类型安全机制 ...

  4. 计算机世界的道(C/ASM)生一(OS),一生二(API),二生万象(MFC/COM)——学包装技术的程序员将来会损失比较大,因为不了解本质,一旦包装过时就会被淘汰

    道生一,一生二,二生万象.OO的思想就是抽象,万象归宗,化繁为简.99%的程序员使用OO,或者所谓的类库的目的就是好用,不必了解内部实现就可以直接达到所期望的结果.这时一种生产力的进步,一种流水线式半 ...

  5. 通过 WIN32 API 实现嵌入程序窗体

    写了一个不使用 COM, 而是通过 WIN32 API 实现的示例, 它把写字板程序嵌在了自己的一个面板中. 这么做可能没有实际意义, 因为两个程序之前没有进行有价值的交互, 这里仅仅是为了演示这么做 ...

  6. windows程序员进阶系列:《软件调试》之Win32堆的调试支持

    Win32堆的调试支持 为了帮助程序员及时发现堆中的问题,堆管理器提供了以下功能来辅助调试. 1:堆尾检查(Heap Tail Check) HTC,在堆尾添加额外的标记信息,用于检测堆块是否溢出. ...

  7. 《程序员的自我修养》读书笔记——系统调用、API

        系统调用 程序运行的时候,本身是没有权限访问多少系统资源的.系统资源有限,如果操作系统不进行控制,那么各个程序难免会产生冲突.线程操作系统都将可能产生冲突的系统资源保护起来,阻止程序直接访问. ...

  8. C#通过WIN32 API实现嵌入程序窗体

    本文实例讲述了C#通过WIN32 API实现嵌入程序窗体的方法,分享给大家供大家参考.具体如下: 这是一个不使用COM,而是通过WIN32 API实现的示例, 它把写字板程序嵌在了自己的一个面板中. ...

  9. 应用程序员眼中的数据库管理系统:API+数据库语言

    应用程序员眼中的数据库管理系统:API+数据库语言 sqlite3_open_v2 https://www.cnblogs.com/cchust/p/5121559.html

随机推荐

  1. Android 开发平台的演变史

    Android开发平台的发展(并不是很懂) Eclipse 首先是由IBM的一个项目小组花了两年时间开发完成的,当时主要解决IBM开发工具 Visual Age for Java 和 WebSpher ...

  2. three.js

    webgl,three.js交流的论坛,欢迎到里面提问问题 www.webglchina.cn

  3. 如何做出header,footer固定定位后让main主体部分可以滑动,在微信浏览器中滑动到最后不出现黑边的情况

    <!doctype html>   <html>   <head>   <meta charset="utf-8">   </ ...

  4. iOS开发UI篇—九宫格坐标计算

    iOS开发UI篇—九宫格坐标计算 一.要求 完成下面的布局 二.分析 寻找左边的规律,每一个uiview的x坐标和y坐标. 三.实现思路 (1)明确每一块用得是什么view (2)明确每个view之间 ...

  5. Shannon entropy

    Shannon entropy is one of the most important metrics in information theory. Entropy measures the unc ...

  6. POJ 3694 tarjan 桥+lca

    Network Time Limit: 5000MS   Memory Limit: 65536K Total Submissions: 7298   Accepted: 2651 Descripti ...

  7. Windows下gvim配置

    Windows下gvim配置原作地:http://hi.baidu.com/leemoncc/blog/item/a6be15cf40d7ab31b600c806.html 0.准备软件及插件. (a ...

  8. 简单研究Android View绘制二 LayoutParams

    2015-07-28 17:23:20 本篇是关于LayoutParams相关 ViewGroup.LayoutParams文档解释如下: LayoutParams are used by views ...

  9. 搭建mysql5.626及如何去官网下载历史版本数据库

    MySQL官网下载历史版本 网上搜索MySQL官网 2 查询所有的归档文件   点击进入服务器列表   列表中默认只有Windows 版本的,可选择其它版本,但无法进行查询   查看网页元素   发现 ...

  10. Linux shell的&&和||

    Linux shell的&&和||   shell 在执行某个命令的时候,会返回一个返回值,该返回值保存在 shell 变量 $? 中.当 $? == 0 时,表示执行成功:当 $? ...