好长时间没搞Silverlight方面的开发了,原本都以为自己早已忘记,然而前阵子(确切一点说,是挺长时间以前了)的时候,发布Windows10的时候,微软宣布新的浏览器将重新开发,关键是后半句引起了我的注意,就是不再支持插件及ActiveX控件,我们这些做微软系的开发者,当然清楚地知道,这将意味着什么,即:silverlight也将被不支持,顿时间掀起一阵不大不小的波浪。

有不少人说,SL已死,赶紧转行H5吧。这番言论也引发了不少的同感,不少企业也跟着招手安排善后工作,也就是组织人赶紧学习H5,为后续转型做准备。

SL以优质的用户体验,敏捷的开发与调试速度,曾获得不少的青睐,尽管始终没赶上FLEX的份额,但是前后语言一致,强大IDE支持,开发与调试都方便,也算是优于FLEX的一处亮点,至少我是这么认为的。另外,H5热闹了五六年,现在仍然是热度、敏感词,并没有普遍到没人愿意搭理的大众化程度,这是我的一个看法,一种比较成熟的语言或标准,不应该是随便什么人往自己的随便哪一款产品上随便贴一个“H5”的标签,就可以拿出去随便忽悠人了的低级认知水平,至少基于这一点,我认为H5在RIA方面还不够成熟地替代SL,H5自身还有一些短板问题要解决,比如便捷录入,快捷键支持,开发与调试的便捷性等等,尽管有一些JS框架可以采用,但是我感觉这些框架并未脱离以前Html标准的束缚,最多也只是在兼容的基础上把这些新的标准与特性给糅合进来了,这些新增加的支持也并未解决H5的短板问题,所以我感觉,H5还要有很长的路要走,有可能是三年、五年,也可能是十年,说近也近,说远也远,立足眼下,SL还依旧是一个不错的解决方案,与其争论SL与H5的优劣,不如立足解决眼下的实际问题,实践出真知。

不过,我一直担忧的问题,不是SL作为一个较佳的RIA解决方案的命题真与假,而是担心微软对SL的决断,SL确实在走下坡路,它也最终将被H5替代,但是如果微软硬生生地关闭SL的发展,这才是最要命的。任何语言都有它擅长的领域,SL也不例外,就像早已过时的PB与Dephi,尽管已过风口,但是仍然是较佳的解决方案,PB强大的数据窗口,一招即可立足于江湖,Dephi繁多的控件支持,也足足让它在江湖中争得一席位子。

眼下SL的发展,我感觉应以OOB为立足点,面对浏览器诸多不支持的围剿,应自力更生,发展OOB亮点,这是我自学习及开发SL以来一直追捧的方向,OOB酷似桌面程序,却可以方便更新,诸多的操作权限与便利,是获得了更大更多的发挥空间,然而不巧的是,SL的OOB与自家的WPF有部分重叠,我担心微软会以此砍掉SL,大力主推WPF。

WPF依托Net框架的强大支持,更多的权限与便捷,但是慢腾腾的界面展现体验,让我不爽,再加笨重的net框架,以及对windows操作系统的要求,不便安装与部署,让我头大。SL小巧,对环境支持还可以,是否可以两者相借鉴或结合一下呢?简述之,SL之OOB作为WPF桌面开发的轻量级实现,儿WPF作为SL的重量级呈现。

最后,还不禁要问微软:SL的路在何方?不知微软是否可以有一点点地意识到:SL的路在脚下呢。

不管SL的命运如何,随着net core的带来,相信SL会获得重生或许会以另外的形式出现,也许WPF会更加效率,更加易用,也算是SL的造化与影响吧。

园子里的那些曾经让我敬佩不已的SL高手似乎都已经销声匿迹,像jv9、笨鸟、深蓝色右手等等,最新的博文也是两三年前发的了,你们是不是已经找到新的出路了呢?抑或淡出了这个漩涡圈呢?

现在园子里的头几条都是后来者的一些探索与实践的经验帖,早已没有了当年的那番景象,SL是越走越孤单了,但也就沉淀下来的都是那些精华了!

Silverlight之我见的更多相关文章

  1. Silverlight之我见——数据批示(1)

    第一次听到这个概念,你是否有点陌生?MSDN上也没有特意的去说明.不要看到这个名词不太熟悉,其实数据批示,玩过C#的人都会非常熟悉,所谓数据批示,其本质就是特性(Attribute),怎么样,现在有点 ...

  2. Silverlight之我见——DataGrid数据验证

    <UserControl x:Class="DataValidationSample.MainPage" xmlns="http://schemas.microso ...

  3. Silverlight之我见——数据批示(2)

    接着上一回的话题,继续来研究数据批示特性,先拿简单的RageAttribute来弄弄,接着上次的示例,添加一个Age属性,并加上RangeAttribute. [Range(20,60,ErrorMe ...

  4. Silverlight之我见——制作星星闪烁动画

    圣诞节来了,无聊,做点东西纪念一下. 原理很简单,生成1000个圆,从随机数来布置它们的位置,通过动画来处理它们的透明度,动画时长也是随机生成. 1.创建图形数组并设置背景透明,渐变笔触,大小等,而后 ...

  5. MVVM、MVVMLight、MVVMLight Toolkit之我见

    原文:MVVM.MVVMLight.MVVMLight Toolkit之我见 我想,现在已经有不少朋友在项目中使用了MVVMLight了吧,如果你正在做WPF,Silverlight,Windows ...

  6. Silverlight 后台设置 button 纯色背景

    silverlight Button直接设置其background为某一颜色往往达不到效果.因为其内置模板把按钮背景弄成一个渐变画刷.所以想要纯色的背景就修改其模板. 在后台修改模板的代码如下: St ...

  7. 添加Silverlight应用到HTML

    Silverlight是跨浏览器,跨客户平台的浏览器插件,可以应用在Windows,Linux,Mac等平台.作为浏览器插件,Silverlight可以像Flash一样,很方便的嵌套在HTML页面中, ...

  8. Silverlight 手鼓达人-仿太鼓达人 开源

    Silverlight 手鼓达人-仿太鼓达人 介绍  手鼓达人是本人2012年中silverlight最火的一段时间开发的,本来目的只是想研究一下silverlight做游戏和做应用有何不同,但是后面 ...

  9. silverlight使用小计(先做记录后续整理)

    1.Grid: a.通过获取指定行的高度和指定列的宽度来获取指定单元格的宽高 b.几种宽高默认值: 宽高(Width/Heigth):1* 最大宽高(MaxWidth/MaxHeigth):正无穷大 ...

随机推荐

  1. 数据库通用Jdbc操作

    public class JdbcUtil { /** * 关闭一个数据库链接 * @param conn */ public static void closeConnection(Connecti ...

  2. hunnu 11313 无重复元素序列的最长公共子序列转化成最长递增子序列 求法及证明

    题目:http://acm.hunnu.edu.cn/online/?action=problem&type=show&id=11313 湖师大的比赛,见我的另一篇水题题解,这里要说的 ...

  3. Kali安全测试相关书籍

    Kali安全测试相关书籍http://www.automationqa.com/forum.php?mod=viewthread&tid=4052&fromuid=2

  4. JavaScript中的作用域与函数和变量声明的提升

      var foo = 1; function bar() {     if (!foo) {         var foo = 10;     }     alert(foo); } bar(); ...

  5. 兼容IE6/IE7/IE8/FireFox的css hack

    兼容IE6/IE7/IE8/FireFox的css hack .color{ background-color: #CC00FF; background-color: #FF00009; *backg ...

  6. Rabbit MQ安装配置及常见问题

    Window安装 1:RabbitMQ安装 1.1:安装Erlang:http://www.erlang.org/ 1.2:安装RabbitMQ:http://www.rabbitmq.com/dow ...

  7. 使用struts+spring+hibernate组装web应用

    这篇文章将讨论怎样组合几个着名的框架去做到松耦合的目的,怎样建立你的构架,怎样让你的各个应用层保持一致.富于挑战的是:组合这些框架使得每一层都以一种松耦合的方式彼此沟通,而与底层的技术无关.这篇文章将 ...

  8. C# .NET 获取枚举值的自定义属性(特性/注释/备注)信息

    一.引言 枚举为我看日常开发的可读性提供的非常好的支持,但是有时我们需要得到枚举值得描述信息或者是注释(备注)信息 比如要获得 TestEmun.aaa 属性值得备注 AAA,比较不方便得到. pub ...

  9. String练习

    /*1,模拟一个trim方法,去除字符串两端的空格.    思路:    1,判断字符串第一个位置是否是空格,如果是继续向下判断,直到不是空格为止.        结尾处判断空格也是如此.    2, ...

  10. LNK1169 和 LNK2005

    错误重现: 1> vs2010创建 C++ win32 project, Application type: DLL. 2>为了在工程中使用 CString, 在 stdafx.h 中 I ...