★[有图]微软Silverlight究竟是啥东西?现在一打开微软中国官方网站就有一个下载安装的提示!……★

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了★[有图]微软Silverlight究竟是啥东西?现在一打开微软中国官方网站就有一个下载安装的提示!……★相关的知识,希望对你有一定的参考价值。

如下图中所示,问:
★1.微软Silverlight究竟是什么东西?Silverlight这个词是什么意思?现在一打开微软中国官方网站就有这个下载安装的提示!
★2.微软Silverlight有什么用处?为什么其声称“微软Silverlight为您带来新一代的高清视听和网络互动体验。”? 安装还是不安装已然成了一个问题!请诸位给个建议。
★3.如果下载安装微软Silverlight,那么以后能否很容易的彻底卸载掉?具体怎样卸载呢?

1> silverlight 是微软推出的一款新产品,简而言之就是微软的flash插件技术,中文一般叫 “银光” 微软从今年开始内部产品全部放弃flash技术,全部采用silverlight的技术来实现,最先是主页改版,之后msn也要改版,跟flash一样,也是个插件,是需要安装支持的,不大就4M

2> 用处就是取代flash,现在是3.0版本,支持动画声音图片等多媒体,下一个版本将在视频媒体方面加强,本人认为,将来silverlight虽然说不能百分之百取代Flash,但是绝对坐拥半壁江山,自然是要装的,就好像问要不要装WINDOWS一样,微软的产品,而且是免费的,自然用了

3> 就跟flash,你会想着去卸载他么,没必要的,就一个4M的东西,还是微软发布的,你不会有必要考虑这个问题的.
参考技术A 最简单的回答,微软和Adobe抢市场了。Silerlight和Flash是同出一辙,向用户呈现丰富的交互界面,都是用面向对象语言编程,都跨平台。 参考技术B 什么是 Silverlight?

flash 你知道吧, 这技术和flash 相似, 但他的优势在于与微软全线产品的集成。

Silverlight 是一种新的 Web 呈现技术,能在各种平台上运行。借助该技术,您将拥有内容丰富、视觉效果绚丽的交互式体验,而且,无论是在浏览器内、在多个设备上还是在桌面操作系统(如 Apple Macintosh)中,您都可以获得这种体验。Microsoft .NET Framework 3.0(Windows 编程基础结构)中的呈现技术 XAML(可扩展应用程序标记语言)遵循 WPF (Windows Presentation Foundation),它是 Silverlight 呈现功能的基础。

关于卸载:
在"添加删除程序"中卸载。
参考技术C 微软Silverlight是一个跨浏览器、跨客户平台的技术,能够设计、开发和发布有多媒体体验与富交互(RIA,Rich Interface Application)的网络交互程序。
因为Silverlight提供了一个强大的平台,能够开发出具有专业图形、音频和视频的Web应用程序,增强了用户体验,所以SilverLight吸引了设计人员和开发人员的眼球。同时,Silverlight还提供了强大的工具来提高他们的工作效率。
Silverlight能创建一种具有很高艺术性的应用程序,具有以下的特点:
◆一种跨浏览器、跨平台的技术。可以在所有流行的浏览器中运行,包括Microsoft Internet Explorer、Mozilla Firefox, Apple Safari, 和Opera,同样可以运行于Microsoft Windows和Apple Mac OS X。
◆无论在哪运行,都能提供一致的用户体验。
◆需要下载很小的文件来安装以支持,只需几秒。
◆它的视频和音频流,视频质量无论从移动设备还是桌面浏览器都是720p HDTV video模式。
◆用户可在浏览器中直接对其进行控制,可以拖动、翻转、放大的图片。
◆它读取数据并且更新外观,但不会通过刷新整体页面来打断用户操作。
Silverlight将多种技术结合到一个开发平台,可以在其中选择符合需求的合适的工具和编程语言。SilverLight提供了如下的特性:
◆WPF和XAML。Silverlight包含了Windows Presentation Foundation(WPF)技术,这个技术在创建用户界面时极大的扩展了浏览器元素。WPF可以创建融合图形、动画、媒体和其他的富客户端特性,扩展了基于浏览器的用户界面,超越了html所提供的。可扩展应用程序标记语言(XAML)提供了创建WPF元素的声明性标记。
◆对于javascript的扩展。Silverlight提供了对于全球浏览器脚本语言的扩展,从而为浏览器用户界面提供更加强大的控件,包括与WPF元素工作的能力。
◆跨浏览器,跨平台的支持。Silverlight在所有的流行浏览器(任何平台)运行一致。设计和开发应用程序不需要担心你的用户是什么平台什么浏览器。
◆与现存应用程序的集成。Silverlight可以与已经存在的JavaScript和ASP.NET AJAX代码无缝集成,不会使已经创建的功能缺失。
◆可访问.NET Framework编程模型和相关工具。可以使用托管的Jscript和IronPython或者C#和VB这样的动态语言来创建基于SilverLight的应用程序。可以使用Visual Studio这样的开发工具来创建基于Silverlight的应用程序。
◆LINQ。Silverlight包含集成查询(LINQ)语言。
◆如果已经使用ASP.NET,可以将Silverlight集成到熟悉的ASP.NET服务器和客户端功能。可以在ASP.NET中创建基于服务器的资源,使用ASP.NET的AJAX特性与服务器端资源交互而不会打断用户。
开发工具:
可以使用已经具有的技能和熟悉的工具来创建基于Silverlight的应用程序,在Web页面中,既可以使用HTML,也可以使用Silverlight的WPF元素,和HTML一样,在Web应用程序中XAML同样可以使用声明的标记来创建用户界面,不同的是,XAML提供了更强大的元素。
可以使用强大的Visual Studio 2008 创建Silverlight应用。(Silverlight在Visual Studio 2008 的IDE中作为一个插件而得到支持。)同样Visual Studio为Silverlight提供了开发工具,比如.NET Framework中已经为创建应用程序提供的强大的编辑器、项目管理、调试等等。
设计人员可以轻松的拥有使用Expression Studio进行设计、编译和发布Silverlight应用程序。Expression Studio有创建图像、媒体,设计交互和产生体验需要的一切能力。Expression Blend能够生成XAML进行输出,这样使用Visual Studio的程序员和使用Expression Blend的设计人员可以共享同样的文件。
Silverlight 的核心是浏览器增强模块,其作用是呈现 XAML 并在浏览器界面上绘制生成的图形。它的下载体积较小(不到 2 MB),可以在用户点击包含 Silverlight 内容的站点时进行安装。该模块向 JavaScript 开发人员公开 XAML 页面的底层框架,以便实现页面级的内容交互,这样,开发人员就可以进行自己的工作,例如编写事件处理程序或使用 JavaScript 代码来处理 XAML 页面内容。
在此,可以表明微软的Silverlight将会更加灵活和交互,并且具有超高的矢量方式,可以对图像进行无限制的伸缩,对flash MX地位发起了挑战。
[编辑本段]Silverlight 2
2008年6月底,微软发布silverlight2.0 beta,在2008北京奥运会时,NBC网站使用了silverlight2.0进行奥运的网上全程直播和点播。
Microsoft 努力帮助保护您的隐私,同时为您提供个人计算所需的性能优异、功能强大且便于使用的软件。此隐私声明对 Microsoft Silverlight 2 ( "Silverlight" ) 的数据收集和使用惯例进行了说明。此隐私声明不适用于其他联机或脱机的 Microsoft 网站、产品或服务。
Silverlight 可帮助您使用 Internet 浏览器访问和体验网站上的丰富内容。此隐私声明对 Silverlight 如何与 Microsoft 进行交互来为您提供 Silverlight 更新以及其他支持 Internet 的功能进行了说明。
Silverlight 不会要求您提供联系信息,例如姓名、地址或电话号码等。但是,Silverlight 有时会通过 Internet 将独特的计算机特定信息传递到 Microsoft。
基于 Silverlight 的应用程序可能会出于各种原因而在您计算机本地存储数据文件:为了保存自定义设置、为了存储具有大量图形特性的大型文件(例如游戏、地图和图像),以及为了存储在某些特定应用程序中创建的内容。应用程序存储在默认情况下是出于开启状态的,但网站最初会被限制为存储容量总计 1MB。如果应用程序要求 1MB以上的容量, Silverlight 就会询问您是否要为承载该应用程序的网站增加可储存空间。
[编辑本段]Silverlight 3
2009-7月 Silverlight3正式发布
1. 支持更多的媒体编码格式
在Silverlight3中新增加的多媒体编码格式包括H.264,AAC,MP4。Silverlight这项技术,从出生以来,就一直把对多媒体,尤其是视频的支持,放在首要位置。这次对更多的编码格式提供支持,方便网站建设者更容易的发布、部署视频资料,只需要如下一行XML:
2. 利用GPU加速
随着显卡计算能力的加强,应用程序把越来越多的图形计算任务从CPU中拿出来交给GPU完成。然而,要利用到GPU,对程序员而言通常意味着更多的编码任务,在Silverlight3中,这个任务的复杂程度被大大简化,只需要在XAML中多加入几行XML代码,就可以轻松享受GPU的超强计算能力。
3. 透视化3D
透视化3D,简单的说,就是把2D对象放到3D空间中去。和传统的3D把一个3D空间的对象投影到2D空间中不同,透视化3D意味着更高的性能,更友好的编程接口,同时能完成我们80%的3D任务。
4. 自定义特效
在silverlight3中,引入了shader的概念,它是一个像素粒度的操作——每当silverlight3要显示一个像素的时候,它对shader说:“我要显示这个像素了,你是否要做些处理,实现某些特效?”。我们来看看shader的强大之处:下面一个示例中,左边的图像是背景图像,右边的图像是前景图像,在silverlight3之前,我们尽管可以同时显示这两个图像,但是背景图像会被前景遮住。(当然可以设 置前景的透明度,但是这样整个前景图像的清晰度就下降了)我们在显示前景图像的时候可以应用一个shader:把所有的黑色过滤掉。这样,我们在前景上过滤掉所有黑色背景的同时,还拥有了一个清晰的火焰。
目前,除了官方提供的阴影(shadow)和模糊(blur)shader使用GPU加速,其他的shader仍需运行在CPU上。
5. 更多的控件支持
每一个新的silverlight版本的发布,都伴随着很多新的控件的问世。这个版本也不例外,新推出的控件有:DockPanel,Expander,Label,TreeView,ViewBox等等。在这里举一个“Save as...”(另存为)控件的例子。可能有的朋友会问,“另存为”作为一个耳熟能详的控件,为什么要等到silverlight3才提供?答案是出于安全性的考虑:silverlight为了保护用户的安全,对本地文件的读写有很大的限制。(否则的话,如果服务器端可以随意读写用户的本地文件,那么就很容易做出一个钓鱼网站了)。silverlight3中,对另存为控件的支持也有着安全性的考虑。开发人员可以创建一个SaveFileDialog实例,但是当用户选定本地文件的时候,他只能得到这个文件的stream,而不是这个文件的路径。这样的设计避免了提供一个打开任意路径的本地文件的功能,从而使silverlight运行在一个更为安全的环境中。
6. 本地消息传递(local messaging)
Silverlight是浏览器的一个插件,在同一时间可能会有多个实例。比如多个浏览器同时访问包含silverlight的网页,就会有多个silverlight的实例同时运行,本地消息传递允许这些不同的siliverlight控件实例之间互相通信。
7. 在浏览器外运行silverlight (Out of Browser)
silverlight3支持把一个silverlight页面安装到本地,用户可以像一个桌面程序一样离线使用这个程序,并且可以右键卸载这个程序。
[编辑本段]Silverlight安装配置与注意事项
[1]作为Microsoft现下火热推出的新一代的网络技术,Silverlight受到了相当的关注。一项能跨浏览器,跨平台(原文为cross browser,cross platform,当我在官网上看到这两句的时候着实小小的吃惊了一下)更直观联动前台和后台的技术,无疑让更多B/S开发人员感到兴奋。
到底Silverlight应该怎么理解?可能大家第一眼见到它的时候,觉得和Flash没什么区别——至少视觉效果上如此。但当你了解到这个“类Flash”的东西除了能实现Flash的全部功能外,竟然还能进行数据绑定的时候,肯定会感到相当的新奇!能随时更改按钮链接的“Flash”!能显示数据库数据的“Flash”!能实现前后台交互的“Flash”!Just think about it!
无论你只是抱着看一看的态度也好,想深入了解也好,Silverlight都有足够的理由让你一试,因为它的安装和配置是多么的简单直观……
必备的软件平台:(来自http://silverlight.net/GetStarted/)
Visual Studio 2008 beta2,代号Orcas的IDE,大家肯定都知道了
Silverlight 1.0 and 1.1 Alpha,目前Silverlight应用的两个版本
VisualStudio SilverlightTools Alpha,对应Visual Studio的Silverlight工具
Expression Blend 2 September Preview,用于开发Silverlight视觉的工具,Flash与Photoshop的结合体
以上软件的安装顺序应该是Visual Studio 2008 beta2--->Silverlight 1.0 and 1.1 Alpha--->Expression Blend 2 September Preview和VisualStudio SilverlightTools Alpha。
其实理论上,只要Visual Studio 2008 beta2在Expression Blend 2之前安装,就不会有什么问题,因为Expression Blend 2要求。Net Framework 3.5。
鉴于Silverlight技术推出时间实在是很短,各方面的资料都不齐全。学习资料上唯一推荐的只有两个:
Visual Studio 2008 beta2 安装时可选的MSDN 9.0 和 官方论坛 http://silverlight.net/forums/ 强烈推荐大家上官方论坛了解和学习,上面的都是第一手资料。并且也是一个锻炼英语的好机会。后续的文章中,我会节选出官方论坛上比较有代表性的一些话题翻译出来,给大家参考,共同学习。
[2]必须要注意的一些问题:
1.Silverlight要求CPU支持SSE,也就是说,老旧的CPU已经不能满足开发的需要了。
2.和号称的“cross browser,corss platform”相符,Silverlight有对应Mac和Windows的版本,不要用错了。
3.配置好平台后请上官方网站的Gallery Section http://silverlight.net/community/communitygallery.aspx查看下是否能观看对应的Silverlight应用。如果不能观看并始终提示安装Silverlight(并且给出一个中文链接),请检查下自己的SIlverlight是否已经安装了最新版本(暂时是1.1 Alpha)。检查方式是注册表中HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Silverlight,检查Version值是否是对应版本。

参考资料:http://baike.baidu.com/view/942429.htm?fr=ala0

对于 FOR 循环中的目录,“%~zI”究竟是啥?

【中文标题】对于 FOR 循环中的目录,“%~zI”究竟是啥?【英文标题】:What exactly is “%~zI” expanded to for directories in FOR loops?对于 FOR 循环中的目录,“%~zI”究竟是什么? 【发布时间】:2018-11-01 03:32:18 【问题描述】:

来自FOR /?

In addition, substitution of FOR variable references has been enhanced.
You can now use the following optional syntax:

    %~I         - expands %I removing any surrounding quotes (")
    %~fI        - expands %I to a fully qualified path name
    %~dI        - expands %I to a drive letter only
    %~pI        - expands %I to a path only
    %~nI        - expands %I to a file name only
    %~xI        - expands %I to a file extension only
    %~sI        - expanded path contains short names only
    %~aI        - expands %I to file attributes of file
    %~tI        - expands %I to date/time of file
    %~zI        - expands %I to size of file
    %~$PATH:I   - searches the directories listed in the PATH
                   environment variable and expands %I to the
                   fully qualified name of the first one found.
                   If the environment variable name is not
                   defined or the file is not found by the
                   search, then this modifier expands to the
                   empty string

我已经运行了一个 Windows 批处理脚本,它在 FOR 循环中执行 @echo %~aI %~fI ^<%~zI byte^(s^)^> 循环遍历目录(每个目录的路径都存储在 %I 中)并得到以下输出:

d--hs------ J:\$RECYCLE.BIN  <0 byte(s)>
d---------- J:\Multimedia  <4096 byte(s)>
dr--------- J:\-C-\……\Desktop  <12288 byte(s)>
dr--------- J:\-C-\……\Documents  <28672 byte(s)>
dr--------- J:\-C-\……\Downloads  <81920 byte(s)>

上述目录的“大小”与其中的文件无关。 %~zI 的“大小”到底是什么意思?如果%I 是一个普通文件,它将是它的大小。但是如果%I 是一个目录呢?我不能完全掌握它。真的没有意义吗?

【问题讨论】:

它是这样一个目录中使用的磁盘区域的大小,它总是cluster大小的倍数(通常是4K)。目录区域由 目录条目 组成,每个文件对应一个,但在删除文件时该大小不会缩小。 每个目录条目在 FAT32 磁盘中的长度为 32 字节。当目录中的文件数超过一个簇时,会为其分配一个新的4K簇。 请注意,替换不仅适用于 FOR 循环,还适用于函数和命令行参数,如 %~dp0 【参考方案1】:

这是目录条目消耗的空间

目录实际上是一个包含其他文件和目录的特殊文件,因此它必须在某处存储该列表以及必要的元数据。一些文件系统会分配正常的集群并将元数据存储在该数据区域中

NTFS 对大文件夹也是如此。但是在 NTFS 中,小文件也可以stay resident in the MFT entry,这就是为什么您可以看到一些零字节文件夹,因为它们不需要为目录元数据单独分配块

包含这些元数据的流的名称是$I30

在目录的情况下,没有默认的数据流,但是有默认的目录流。目录是流类型$INDEX_ALLOCATION$INDEX_ALLOCATION(目录流)类型的默认流名称为$I30

5.1 NTFS Streams

您可以使用fsutil file layout &lt;directory_path&gt; 进行检查并查看$I30 流。例如,这是我的 PC 的输出。注意%~zIfsutil 输出中的相同大小。大小为 0 的文件夹仅包含一个很小的 ​​$INDEX_ROOT 流,而其他文件夹则有另一个 $INDEX_ALLOCATION,其大小与 %~zI 的输出大小相同

PS C:\> cmd /c "for /d %I in (*) do @echo %~aI %~fI  ^<%~zI byte^(s^)^>"
d---------- C:\ESD  <0 byte(s)>
d---------- C:\Intel  <0 byte(s)>
d---------- C:\PerfLogs  <0 byte(s)>
dr--------- C:\Program Files  <8192 byte(s)>
dr--------- C:\Program Files (x86)  <4096 byte(s)>
dr--------- C:\Users  <4096 byte(s)>
d---------- C:\Windows  <16384 byte(s)>
d---------- C:\Windows.old  <4096 byte(s)>

PS C:\> foreach ($f in ls -Attr Directory) 
>>     $fileLayout = (fsutil file layout $f) -join "`0"
>>     $result = (([regex]'\$I30.*?(?=Stream|$)').Matches($fileLayout)) -split "`0" | Select-String -Pattern '\$I30|  Size'
>>     echo "================================ $f"; $result
>> 
================================ ESD

$I30:$INDEX_ROOT
    Size                : 48
================================ Intel
$I30:$INDEX_ROOT
    Size                : 368
================================ PerfLogs
$I30:$INDEX_ROOT
    Size                : 48
================================ Program Files
$I30:$INDEX_ROOT
    Size                : 168
$I30:$INDEX_ALLOCATION
    Size                : 8,192
$I30:$BITMAP
    Size                : 8
================================ Program Files (x86)
$I30:$INDEX_ROOT
    Size                : 56
$I30:$INDEX_ALLOCATION
    Size                : 4,096
$I30:$BITMAP
    Size                : 8
================================ Users
$I30:$INDEX_ROOT
    Size                : 56
$I30:$INDEX_ALLOCATION
    Size                : 4,096
$I30:$BITMAP
    Size                : 8
================================ Windows
$I30:$INDEX_ROOT
    Size                : 432
$I30:$INDEX_ALLOCATION
    Size                : 16,384
$I30:$BITMAP
    Size                : 8
================================ Windows.old
$I30:$INDEX_ROOT
    Size                : 56
$I30:$INDEX_ALLOCATION
    Size                : 4,096
$I30:$BITMAP
    Size                : 8

ls -l 显示的大小不是目录内文件的总大小时,*nix 也会发生同样的情况:

What does size of a directory mean in output of ls -l command? Why is the size of a directory always 4096 bytes in unix? How is a directory a "special type of file"? What is directory entry?

在 C++17 中有std::filesystem::directory_entry 获取目录信息

【讨论】:

以上是关于★[有图]微软Silverlight究竟是啥东西?现在一打开微软中国官方网站就有一个下载安装的提示!……★的主要内容,如果未能解决你的问题,请参考以下文章

Nginx|vts模块究竟是什么东西?

jQuery 的最后返回究竟是啥?

LLVM 究竟是啥?

究竟是啥导致二进制文件“乱码”?

“通过引用传递”究竟是啥意思?

对于 FOR 循环中的目录,“%~zI”究竟是啥?