好长时间没搞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. 比较js中创建对象的几种方式

    1.工厂模式 function createObj(name, sex){ var obj = new Object(); obj.name = name; obj.sex = sex; obj.sa ...

  2. typedef的使用3——使用经过typedef定义的函数构成的函数数组

    #include <stdio.h> #include <string.h>//不加还能跑,加上反而跑不了了...笑哭 #pragma warning(disable:4996 ...

  3. Azure CLI (一)如何安装和配置Azure CLI

    什么是Azure CLI 快速安装 Azure 命令行界面 (Azure CLI),以便使用一组基于 shell 的开源命令在 Azure 中创建和管理资源. 步骤 1:安装 . 登录https:// ...

  4. posix thread API列表

    互斥量: pthread_mutex_t mutex = PTHREAD_MUTEX_INITIALIZER;int pthread_mutex_init(pthread_mutex_t *mutex ...

  5. Chomp!游戏 (组合游戏Combinatorial Games)

    http://blog.csdn.net/acdreamers/article/details/17021095 有一个n*m的棋盘,每次可以取走一个方格并拿掉它右边和上面的所有方格.拿到左下角的格子 ...

  6. Spark技术内幕:Client,Master和Worker 通信源码解析

    http://blog.csdn.net/anzhsoft/article/details/30802603 Spark的Cluster Manager可以有几种部署模式: Standlone Mes ...

  7. 取A表数据,关联B表任意一条数据

     表A=================== AID, AName 1 jack 2 mary 3 lily 表B================== BID, AID, BName 1 1 aaa ...

  8. iOS调试程序时,启动应用失败的解决办法

    最近在iOS项目中调试程序,项目中用到第三方应用来启动我的应用程序,调试阶段在实体机上用第三方应用启动我的应用时,出现如下错误,程序停止运行: 同时,在AppDelegate对象的如下方法中设置断点: ...

  9. iOS UIView 快速修改 frame,

    在iOS开发布局修改 frame 时需要繁琐的代码实现,今天偶尔看到一播客说到快速修改的 frame 的方法,自己动手写了一遍实现代码. 快速实现主要通过 添加类目的方式,对UIView 控件添加了一 ...

  10. JS原型与原型链终极详解(转)

    JavaScript原型及原型链详解 一. 普通对象与函数对象 JavaScript 中,万物皆对象!但对象也是有区别的.分为普通对象和函数对象,Object,Function 是JS自带的函数对象. ...