The Dew Review – Intel 下一代 Ultrabook™ 配 Windows 8:最终审阅





0/5 (0投票)
这是我对英特尔超极本的第三篇也是最后一篇评测。
您可以在这里阅读我对英特尔下一代超极本的前两篇评测
- The Dew Review – Intel 下一代 Ultrabook™ 配 Windows 8:初步印象
- The Dew Review – Intel Next Generation Ultrabook™ with Windows 8: Playing with Sensors
引言
这是我对英特尔超极本的第三篇也是最后一篇评测。 我很高兴地说,这并不是我停止使用这台机器。 它已经成为我在工作之外进行开发和所有其他常规用途的主要设备。 我的妻子和孩子也喜欢使用它。
家庭时光
我有三个女儿。 六岁的露西喜欢在Mr. Anker Tests上练习单词和数字。 它为学前班和小学儿童提供了各种基于Flash的活动。 露西非常喜欢她可以使用触摸板或屏幕与网站互动。 每当她在非触摸设备上看到Windows应用程序时,她都会倾向于首先触摸屏幕。 这不是在使用iPod Touch、iPad或Kindle Fire之后发生的事情。 我认为这是看到相同的Windows用户界面触发了它。
更多Windows 8开发
自从上次评测以来,我一直在研究WinRT中提供的传感器API。 我创建了另外几个简单的概念验证类型的应用程序,它们只是引用所有传感器并显示和记录输出。 其中一个类似于我的第一个C#/XAML SensorFun应用程序,但我用HTML/JavaScript编写了它,看看这种类型的应用程序有什么不同。 我发现除了语法之外,它们几乎相同。 该应用程序名为SensorFunJS,这是JavaScript代码的片段。
(function () {
"use strict";
WinJS.Binding.optimizeBindingReferences = true;
var orientationSensor;
var app = WinJS.Application;
function id(elementId) {
return document.getElementById(elementId);
}
function onOrientationChanged(e) {
switch (e.orientation) {
case Windows.Devices.Sensors.SimpleOrientation.notRotated:
id('orientationElement').innerHTML = "Not Rotated";
break;
case Windows.Devices.Sensors.SimpleOrientation.rotated90DegreesCounterclockwise:
id('orientationElement').innerHTML = "Rotated 90 degrees";
break;
case Windows.Devices.Sensors.SimpleOrientation.rotated180DegreesCounterclockwise:
id('orientationElement').innerHTML = "Rotated 180 degrees";
break;
case Windows.Devices.Sensors.SimpleOrientation.rotated270DegreesCounterclockwise:
id('orientationElement').innerHTML = "Rotated 270 degrees";
break;
case Windows.Devices.Sensors.SimpleOrientation.faceup:
id('orientationElement').innerHTML = "Face Up";
break;
case Windows.Devices.Sensors.SimpleOrientation.facedown:
id('orientationElement').innerHTML = "Face Down";
break;
default:
id('orientationElement').innerHTML = "Unknown orientation: " + e.orientation;
break;
}
}
app.onactivated = function (activationArgs) {
if (activationArgs.detail.kind === Windows.ApplicationModel.Activation.ActivationKind.launch) {
orientationSensor = Windows.Devices.Sensors.SimpleOrientationSensor.getDefault();
orientationSensor.addEventListener("orientationchanged", onOrientationChanged);
WinJS.UI.processAll();
}
};
app.start();
})();
接下来,我找到了Code Project上的一篇文章,其中包含一个引用WinRT库并使用传感器API的Windows 8 WinForm应用程序。 同样的C#代码可以用于Windows 8上的WPF桌面应用程序。 我计划利用这个项目中的想法来创建我自己的库,该库可以在Windows 8桌面应用程序之间共享。 这是Yvan的文章中的代码示例。
private void SensorListener()
{
// Monitor accelerometer events.
if (_accelerometer != null)
{
_accelerometer.ReportInterval = 0; // default
_accelerometer.ReadingChanged += AccelerometerOnReadingChanged;
_accelerometer.Shaken += (s, a) => _shaken++;
Log("Shake activity will be monitored.");
}
// Monitor compass events.
if(_compass != null)
{
_compass.ReportInterval = 0; // default
_compass.ReadingChanged += CompassOnReadingChanged;
}
// Monitor gyro events.
if(_gyrometer != null)
{
_gyrometer.ReportInterval = 0; // default
_gyrometer.ReadingChanged += GyrometerOnReadingChanged;
}
// Monitor light sensor events.
if (_light != null)
{
_light.ReportInterval = 0; // default
_light.ReadingChanged += LightOnReadingChanged;
}
// Monitor position sensor events.
if (_geolocator != null)
{
_geolocator.ReportInterval = 1000;
_geolocator.MovementThreshold = 1;
_geolocator.DesiredAccuracy = PositionAccuracy.High;
_geolocator.StatusChanged += GeolocatorOnStatusChanged;
_geolocator.PositionChanged += GeolocatorOnPositionChanged;
}
// Monitor NFC proximity events.
if (_proximity != null)
{
_proximity.DeviceArrived += ProximityDeviceArrived;
_proximity.DeviceDeparted += ProximityDeviceDeparted;
}
// The sensor loop.
while (true)
{
if (_stopping)
return;
Thread.Sleep(0); // Defer to other threads that need cycles.
}
}
如你所见,这段代码与WinRT应用程序的代码没什么不同。
英特尔有一篇非常好的文章,题为“从桌面应用程序使用Windows 8 WinRT API”。 如果你正在为Windows 8开发桌面应用程序,我强烈建议你查看一下。 WinRT中有很多很棒(且易于使用)的API。 能够在我们的桌面应用程序中利用它们真是令人兴奋。
现实世界中的传感器
至于传感器在现实世界应用程序中的实用性,我认为最大的机会在于游戏开发。 对于其中一些应用程序,也可能有一些模拟器和医疗保健相关的应用程序。
我正处于创建名为Steady Hands Challenge的应用程序的早期阶段。 你可以阅读我在Code Project上的应用程序概述。 基本上,你将超极本放在手掌上,应用程序将使用屏幕上的图表来指示用户向哪个方向倾斜超极本。 你保持实际X/Y/Z线与目标线越接近,你的得分就越高。 加速度计检测到的任何抖动都会导致惩罚。 虽然我最初设想这个WPF应用程序是一种游戏,但我可以看到类似的东西可以用于游戏化物理治疗。 只要你不担心患者会掉落你的超极本。
最后的总结
正如我多次声明的那样,我非常喜欢在这台机器上进行开发。 我真的相信,搭载Windows 8的超极本是当今完美的开发者机器。 它们提供运行Visual Studio或任何其他IDE的多个实例所需的能力和速度。 触摸屏和传感器也消除了拥有单独平板电脑来测试应用程序的需求。 我可以编写使用复杂手势的应用程序,并通过简单的F5进行测试。 这节省了时间、金钱和麻烦。
我的名字是Alvin Ashcraft,我认可这款超极本。
材料连接披露: 我免费收到上述一种或多种产品或服务,希望我会在我的博客上提到它。 无论如何,我只会推荐我个人使用的产品或服务,并相信我的读者会喜欢。 我是根据联邦贸易委员会的16 CFR,第255部分:“关于在广告中使用代言和证明的指南”披露这一点。