免费下载案例集|20+数字化领先企业人才培养实践经验 了解详情
写点什么

座谈:来自微软 WinRT 开发者的答案

  • 2013-01-03
  • 本文字数:1241 字

    阅读完需:约 4 分钟

在 BUILD 2012 大会的 The Windows Runtime Q&A 座谈上, Chris Anderson Chris Guzak Jerry Dunietz Kamen Moutafov Martyn Lovell Elliot H Omiya 等负责 WinRT 不同组件的主要开发者回答了开发者关心的一些 Windows 8 应用程序相关问题,特别是 WinRT 问题。以下是大部分重要问题答案的摘要。

桌面和 Windows 商店的应用程序都有一个 CLR、一组 DLL,但是桌面应用程序的执行不经过 WinRT。

WinRT 异步调用可能导致问题,比如要检查成百上千个文件名时。每个调用会抛出一个异常,致使调试体验非常不好。研发团队考虑以后解决这个问题。

关于.NET 或 WinRT 的未来版本,微软没有公布任何信息,但他们肯定会在未来某个时间公布的。现在他们能说的就是“Windows 8 有一个内置的 WinRT 版本”。

如果文件已经被桌面应用程序以互斥模式打开,Windows 商店应用程序就无法再打开。为了避免这种冲突,我们需要以读模式打开文件。WinRT 和桌面应用程序底层的文件系统是一样的。

异步操作是由 Windows 管理的专用线程池中一个独立线程执行的。从 UI 线程激发大量的异步调用时必须小心翼翼,因为当这些调用全部返回时对应用程序可能有严重的影响。如果一个应用程序要运行很多异步调用,为了避免系统超载,建议采用批处理方式执行。

WinRT 引入了一种新的字符串类型,以便有一种通用方式来支持它上面不同编程语言的需要。一种语言(如 C#、 C++ 和 JavaScript 等)中创建的字符串在向 WinRT 传递时不会被自动复制,出于性能考虑,只是传递一个引用,但必要的时候可以复制字符串本身。

为了确保应用程序与 WinRT 设备(如 Surface)的兼容性,Windows 商店的的认证过程只覆盖了一些基本测试,而且测试也不是非常详尽。要确保应用程序能在一个目标设备上正确运行,还需要执行大量的测试。

在 WinRT 中,微软没有提供可编程的方式来访问系统的某些硬件信息,比如电池剩余电量,这是为了避免开发者利用这种信息来修改 WinRT 应用程序的行为。其理念是让应用程序在不同的设备和系统状态上保持一致的行为。 Windows 8 Dev Portal 提供了一些应用运行的设备和 Windows 版本信息。

针对 WinRT 编写系统管理类应用程序非常困难,甚至是不可能的。系统禁止或限制了对某些系统资源的访问。

没有可编程的方式来查询应用程序是否使用了某一特定协议,也不能强制应用程序采用特定协议,比如通过文件协议设置确定哪个应用程序负责播放 mp3 文件。这个由用户来决定。

至于桌面应用程序和商店应用程序之间的通信,与会的一个开发者谈到:“我们花了很大的力气,就是不让它们通信。”唯一的通信方式是通过协议和文件类型关联,这是由用户控制的。

一个 WinRT 应用程序可以有多个视图,它们分别运行于独立的线程中。Windows 将两个这样的视图看做一个应用程序,这意味着用户无法使用系统的应用程序切换机制进行切换,不过有一个专门为应用程序独立开发的机制。

Windows 商店应用程序能够打开端口并通信,但不能使用 Web 服务器的 80 端口。

查看英文原文 Panel: Answers from Microsoft Developers Who Built WinRT

2013-01-03 06:031815
用户头像
臧秀涛 略懂技术的运营同学。

发布了 300 篇内容, 共 133.9 次阅读, 收获喜欢 35 次。

关注

评论

发布
暂无评论
发现更多内容

爱回收商品详情数据接口

tbapi

爱回收API 爱回收商品详情数据接口

如何看待:低代码开发平台的兴起无需经验?

快乐非自愿限量之名

低代码

华为视频独家呈现:发布会开场舞《见非凡》AiMax 版来袭

最新动态

GitHub Star 数量前 13 的自托管项目清单

NocoBase

GitHub 开源 自托管 self-hosted

议程抢先看!安谋科技、英特尔、浪潮信息、蚂蚁集团等企业大咖齐聚 2024 云栖大会操作系统开源专场

OpenAnolis小助手

操作系统 云栖大会 龙蜥社区 龙蜥操作系统 AIibaba CIoud Linux

火山引擎携手招商银行共探智能体应用,加速数字金融创新

新消费日报

NGINX 和 HAProxy:基于公有云标准环境的用户体验测试对比

NGINX开源社区

读书笔记 开源 最佳实践 反向代理 HAProxy

PDF自动化批处理工具PDF Checkpoint for mac

Mac相关知识分享

PDF

TCL电视投屏软件Mirror for TCL TV Mac版

Mac相关知识分享

投屏软件

关于粒子滤波的解析

芯动大师

粒子滤波

如何高效的匹配、筛选数据,避免嵌套循环

六哥是全栈

Java ts 开发技巧

Mac 系统清理与优化软件CleanMyMac X for mac

Mac相关知识分享

系统优化

参赛心得和思路分享:2021第二届云原生编程挑战赛2: 实现一个柔性集群调度机制

阿里云天池

云原生

mac苹果电脑矢量绘图软件:Sketch for mac 中文激活版

你的猪会飞吗

sketch Mac Mac软件下载站 mac破解软件下载

GreatSQL 异步复制及搭建

GreatSQL

支撑AI的算力芯片,未来何去何从?

博文视点Broadview

化“腐朽”为“神奇”:5 种 RAG 优化技术应对千奇百怪的 Query

Baihai IDP

程序员 AI rag Baihai IDP 企业 9 月 PK 榜

StarRocks 培训课程重磅上线!专家出品,助你升级打怪不走弯路!

StarRocks

现在的 AI ,有多会做老师?

豆包MarsCode

Python 人工智能 程序员 AI 求职

互联网大厂Java面试高手心法,在寒潮之下找到自己心仪的 offer。

码哥字节

Java 后端面试

读书笔记:简单高效的工作方式

老张

读书笔记 团队管理 远程办公

替换传统数据处理平台,TDengine 与华风数据达成合作

TDengine

数据库 tdengine 时序数据库

鸿蒙NEXT生态应用核心技术理念:一次开发,多端部署

芯盾时代

鸿蒙 物联网 国产化替代

洞悉市场脉搏,从实时监控商品信息开始 —— 淘宝API的力量

技术冰糖葫芦

API Explorer平台 api 网关 API Gateway API 测试 pinduoduo API

对接开源大模型应用开发平台最佳实践

阿里云大数据AI技术

人工智能 LLM rag OpenSearch dify

Mac 高清屏幕录像工具iShowU Studio for mac

Mac相关知识分享

录屏软件

截图和屏幕录制工具CleanShot X for mac

Mac相关知识分享

录屏软件

如何留住自己的团队?

秃头小帅oi

对游戏语音软件Oopz遭遇DDoS攻击后的一些建议

网络安全服务

负载均衡 udp 语音聊天软件 DDoS 攻击 黑神话悟空

新闻“样板间”提升50%开发效率,20家新闻媒体应用批量鸿蒙化

最新动态

Go必知必会:掌握Go语言中的Channel,并发编程的核心

王中阳Go

并发 channel Go 语言 GO语言编程

座谈:来自微软WinRT开发者的答案_Windows_Abel Avram_InfoQ精选文章