首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

是给.net框架干减法的时候了

2012-12-17 
是给.net框架做减法的时候了概述.Net框架日渐肥胖,给采用智能客户端或C/S架构的解决方案的部署带来诸多不

是给.net框架做减法的时候了
概述
      .Net框架日渐肥胖,给采用智能客户端或C/S架构的解决方案的部署带来诸多不便,更不用说单机版软件了,本文就此展开牢骚,并试图给出解决方案。
关键字
      .Net框架 减肥
正文
      Net框架2.0的安装包不过22MB,到3.5竟然突飞猛进到近400MB,光这个玩意儿就得单独占一张普通光盘,虽说企业级产品在服务器端部署时不在乎多这么一张盘,但是如果要在客户端部署,你是分发光盘呢还是去网上下载呢?哪个都够呛!再看JAVA,10几年了,框架的安装包都没增加多少。
 
     据说Windows7预装了.Net3.5SP1,可以避免安装之苦,但是Windows7要想占据主流,绝不是3、2年就能做到的,而大家都知道.Net框架的更新频率远远大于OS的更新频率,所以等Windows7占据主流的时候,.Net框架说不定都发展到6.0了,你还得安装。
 
     windows2008出了core版,windows7据说也比vista精简了不少,为啥.Net就不能瘦瘦身呢?那个原来叫WPF/E的SilverLight,大小才不到5MB,就能实现WPF的大部分功能,而且还可以脱离.Net框架运行IL代码,可见这个瘦身在技术上是完全可行的。现在.Net客户端安装提供的那个profile虽然可以把依赖的框架的大小缩减到25MB,但这顶多算权宜之计,肯定有更好的处理方式。
 
总结
     .Net框架安装包应该只保留一个核心功能,像什么WF、WPF、WCF、WC之类的玩意儿,统统作为plugin提供,用的着才打包进产品,不要像现在,不管用得着用不着,统统塞给你。
[最优解释]

引用楼主 wangao88 的帖子:
    windows2008出了core版,windows7据说也比vista精简了不少,为啥.Net就不能瘦瘦身呢?那个原来叫WPF/E的SilverLight,大小才不到5MB,就能实现WPF的大部分功能,而且还可以脱离.Net框架运行IL代码,可见这个瘦身在技术上是完全可行的。现在.Net客户端安装提供的那个profile虽然可以把依赖的框架的大小缩减到25MB,但这顶多算权宜之计,肯定有更好的处理方式。 

总结 
    .Net框架安装包应该只保留一个核心功能,像什么WF、WPF、WCF、WC之类的玩意儿,统统作为plugin提供,用的着才打包进产品,不要像现在,不管用得着用不着,统统塞给你。


实际上我们想想看,为什么不可以把整个vs开发环境用Silverlight实现呢?源代码放在微软巨大的数据库中,编译也在服务器端执行,如果需要备份源代码可以下载到本地,编译之后的结果可以发布到本地(或者其它网络例如silverlight.live.com),连配置管理服务器都不需要了直接嵌入这个系统的服务中作为vs的一部分提供......如果我是微软,我就说我是一个全世界程序员都需要的“google”。

问题是,人们的习惯要从单机转变为依赖网络,甚至比技术晚10年。也就是说当你有一个好的想法之后,你就要打算推广十年,之后才能广泛接收。

这不是技术能够解决的问题。
[其他解释]
目前的趋势应该是在.net平台下WinForm被silverlight逐步取代掉,也就是说以后你用.net开发客户端应用首先想到的应该是基于web的客户端应用,而非桌面窗口。
[其他解释]
.net的部署问题一直是制约.net发展的严重问题,基本上开发通用的客户端软件都不敢用.net,让普通用户去装一个20M的.net framework都让人觉得不可接受,.net 3.5居然搞成400M,简直就是五雷轰顶。
[其他解释]
也是!
[其他解释]
Up`~
[其他解释]
期待操作系統集成吧
[其他解释]
很有道理,不过得和微软反应吧?
[其他解释]
还没到那阶段
[其他解释]
还是VC6精简好用
[其他解释]
支持。顶一个
[其他解释]
可以啦,比JAVA等方面的要好多了啊
[其他解释]
其实, 只要改进winform程序的编译链接方式就可以了。

  web程序服务器装多大都不会觉得太麻烦。

  c/s程序,只要和vc一样,打包时只打包需要的dll,自然就体积就小了。
[其他解释]
.NET还处于增肥状态中,现在还不稳定,据说还有很多功能加到了4.0里,接下来还会有5  6等,其实能用的版本也是从工.NET2.0开始,3.5 和4.0都是他的护展,就象做项目一样,不到一定量的积累是不会重构或缩小体积的,不过你可以制作安装程序的时候选择性的打包你所需要的.NET的类库,这样子就可以用一张光盘装下了。
[其他解释]
双刃剑```哈哈!~
[其他解释]
瘦身? 先把 2.0 瘦了再说:
2009-05-23  23:51    <DIR>          .


2009-05-23  23:51    <DIR>          ..
2008-07-29  17:29         2,926,080 ASPNET.msp
2008-07-29  17:31         6,083,072 clr.msp
2008-07-29  17:33           506,368 crt.msp
2008-07-29  17:35           553,472 dw.msp
2008-07-29  17:27            93,184 Netfx20a_x86.msi
2008-07-29  17:37           911,360 NetFX_CA.msp
2008-07-29  17:39         3,403,264 NetFX_Core.msp
2008-07-29  17:41         6,487,040 NetFX_Other.msp
2008-07-29  17:43         1,013,248 prexp.msp
2008-07-29  17:45         2,543,616 winforms.msp


这些东西应该不会全用的个熊
[其他解释]
一直为此苦恼,继续期待啊...
[其他解释]
微软一直在推啊。 
比如Click One部署
比如Compact 的Framework
[其他解释]
Compact 的Framework只能在智能设备里用吧?Click One有谁在用?
[其他解释]
我喜欢将原始文件打压缩包的发布方式
[其他解释]
技术解决需要时日,问题是由于人们的观念的普遍落后,会让拥有核心技术的人公司不敢轻易创新。
[其他解释]
大多数程序员大概所有的主要开发经历都是做一些客户端程序。之所以这种程序还那么累赘,不是技术问题,更主要是大公司都以维持老用户为重点,创新必然损失老用户。
[其他解释]
事实上,微软已经开始搞云计算了。它不同于google那种自我封闭的云,也不同于IBM那种纯粹市场炒作的云,我相信程序员真正完全依赖网络进行工作是早晚的事。
[其他解释]
这个问题比较好,顶一下。
[其他解释]

引用:
引用楼主 wangao88 的帖子:

windows2008出了core版,windows7据说也比vista精简了不少,为啥.Net就不能瘦瘦身呢?那个原来叫WPF/E的SilverLight,大小才不到5MB,就能实现WPF的大部分功能,而且还可以脱离.Net框架运行IL代码,可见这个瘦身在技术上是完全可行的。现在.Net客户端安装提供的那个profile虽然可以把依赖的框架的大小缩减到25MB,但这顶多算权宜之计,肯定有更好的处理方式。

总结
.Net框架安装包应该只保留一…


操作系统版本的问题很麻烦阿,
目前框架的目的一定程度上是为了屏蔽版本。

[其他解释]
有些变态
[其他解释]
呵呵,越大说明微软做的工作越多
以后的系统中都做了相应的兼容了

[其他解释]
很有道理,不过得和微软反应
[其他解释]
做为程序员,楼主想的是c/s程序分发尽量的小,
做为微软,他们想的是.net平台推广。

其实最简单的解决方法不是楼主所说“瘦身”,微软直接用windows update将.net运行环境推出去就可以了,那样我们的程序就可以变得非常之小,而安装失败的责任还被推到微软身上。
但这种方法有一个非常大的问题:每个机器的运算速度不一样,硬件基础不一样。
[其他解释]
我有几个疑问:
1, SC(smart client) 如果用3.5写 那么 客户端2.0能不能很好的用?
2, C#->JIT->MSIL->CLR 起关键作用的是 CLR的版本对吧

也就是说如果C#3.0 出来也被CLR2.0执行那么也就无所谓客户端 也要安装3.5的平台的问题 是这样吗?


[其他解释]

引用:
目前的趋势应该是在.net平台下WinForm被silverlight逐步取代掉,也就是说以后你用.net开发客户端应用首先想到的应该是基于web的客户端应用,而非桌面窗口。


大概用了一下silverlight,发现还代替不了winform。  silverlight的真正对手是flash,其发展目标是多媒体、动画。真正搞业务流程的功能还是很弱
[其他解释]
看环境,看领导,看在哪里,以技术为核心的地方,技术是硬功,当然软技能也是必须的;其他地方要看情况,也许就是工具,用时起点用,不用就一点用都不起了;可惜的是大部分公司都是属后者的,谁让国内有这么多“农民工”大学生呢
  
*****************************************************************************
欢迎使用CSDN论坛专用阅读器 : CSDN Reader(附全部源代码) 

http://feiyun0112.cnblogs.com/
[其他解释]
一切以用户体验为主
[其他解释]
自己把需要的程序集打包,不需要的不要
[其他解释]
而且更新那么快,知识真跟不上
[其他解释]
微软产品一统江湖,微软的很多玩意儿变得越来越消耗CPU和RAM,但是没办法,都在用它……
[其他解释]
并且不是所有机器配置都非常好
[其他解释]
ms 只管自己,太简单太广泛反而 不好。
[其他解释]
.net
主要是开发webform,winform已淘汰
[其他解释]
确实
[其他解释]
我感觉2.0已经很完美了,3.5暂时还不用。
[其他解释]
一直还用着2.0呢
[其他解释]
呵呵,越来越肥,这也是必然嘛~~

想之前的win98和现在的vista 相比,两个系统安装之后的占盘大小区别,就是已经够大了~~

也就是这两系统的功能和必要性和性能也是不一样的~

如果真当.net framework那么大了,说明功能也是非常强大了~ 喜大于优~

毕竟 安装框架只是一次的事情,而如果使用程序的功能,性能是开发程序之后常久需要面临的问题!

所以还是能接受的!
[其他解释]
.net最终还是 用于winform开发由于 web开发相对功能强大!~~但并不适合!所以.net迟早会是C/S架构的天下
[其他解释]
学习了2009年7月25日09时29分18秒
[其他解释]
.NET3.5在70M左右。400M,你想想也不可能。
[其他解释]
我想加分!!!
[其他解释]
发布需要的即可。300M是整合安装文件,MS的惯有作风
[其他解释]
mark
[其他解释]
如果微软会这么做。。。
那还叫微软吗???
[其他解释]
臃肿-功能

简化-性能
之间,难能抉择吧
[其他解释]
真是忒大了……
[其他解释]
WPF和Sliverlight必然流行……虽然后者是一个子集,但流行程度估计不会低于前者。就是因为这一个框架,否则,WPF来开发游戏也并非不可能。
[其他解释]
。,。,。,。真的忒大了
[其他解释]
MS的风格就是粗大好用。
------其他解决方案--------------------


文件名: dotnetfx35.exe 
版本: SP1 
发布日期: 2008/12/17 
语言: 简体中文 
下载大小: 231.5 MB 

[其他解释]
我们工作室一直用 .net framework 2.0 sp2
[其他解释]
http://www.microsoft.com/downloads/details.aspx?familyid=333325fd-ae52-4e35-b531-508d977d32a6&displaylang=zh-cn
[其他解释]
哦,难怪我装windows7的时候需要6G的空间……原来NET3  这么大。

建议把NET3分为Client和Server2版本,Client主要用于WinForm,而Server端可以整合所有的。。。
[其他解释]
主要应用还是B/S,这个工作量我想谁都能入接受吧
[其他解释]
支持下!!
[其他解释]
该回复于2009-08-31 10:07:21被版主删除
[其他解释]
我2M的程序要做个100多M的安装包 我滴天
[其他解释]
400M的3.5看起来太吓人了。
还有vs2005噩梦般的SP1。不知道MS怎么想的,什么时候能瘦下身?
[其他解释]
微软应该让用户自定义.
[其他解释]
只用asp.net,不用winform,c/s用pb
[其他解释]
安装的时候可以选择安装的.只要选择安装够用的组件就可以了.
要说大,其实有一半的空间是MSDN说明文档比较大,动辄就几个G.
[其他解释]
楼主是想做CS吧,DELPHI欢迎你
[其他解释]
.net 3.5有那么大
[其他解释]
学习
[其他解释]
远离MS啦.吼吼
[其他解释]
.net最大问题:更新太快。有些内容其实没必要集成到.net库里面去的,完全可以作为加载库供选择。
另外一个问题是:DISASSEMBLE太容易了,根本做不了像样的桌面软件,安全更是问题。
[其他解释]
。。。。。。。。。。。。。。。。。。。
[其他解释]
2楼靓妹
[其他解释]
该回复于2009-07-27 16:00:40被版主删除
[其他解释]
回帖是一种美德!
[其他解释]
UP
[其他解释]
选择了微软,就必然注定要在【永不停息的升级】中进行挣扎;
选择了微软,就必须要有容忍臃肿与庞大的耐心与胸怀;
选择了微软,就必须要有10年后万分后悔的心理准备;

微软之所以称之为【微软】,就是它的每一个软件都是很【微小】的。。。

[其他解释]

[其他解释]
减肥?估计现在短时间是不可能的啊,毕竟ms的产品特点就是这样的,什么都有,什么都可以用,但是真正全部都在用的用户少之又少,就现在出的这个win7,我下载的iso文件都是3点多G.....xp要是精简的备份包可以到700来mb,哎,慢慢等待吧,不过还是先把自己的本本给更新掉在说啊....
[其他解释]
我来接分了
[其他解释]
支持一 下 
[其他解释]
up

------其他解决方案--------------------


1 造了这么复杂的东西,不改变迟早完蛋
[其他解释]
其实我最希望的并不是.Net运行库的大小,真正做CS开发的装一下运行库也没有什么大问题,如果实在太大,那么学一下飞信,把需要的Dll直接提取出来一起打包就可以了。

我最希望的就是微软能把即时编译器开放一个调用接口,最好把这个接口做成一个Console程序,把做好的CS程序直接变成本机代码,这样运行速度能够快一点,反正现在硬盘大小已经足够了。

每次启动程序花好长时间编译,Java都有本机代码编译器,.Net为什么没有?

把编译的行为放到安装的时候,直接在客户计算机上编译成本机代码,多好?
[其他解释]
楼主应该联合全球的MVP,只有这样,Microsoft才会考虑。
[其他解释]
.net Framework的确是过于臃肿了。至少给人们一个不臃肿的核心可供选择。
[其他解释]
.
[其他解释]

微软是拉动硬件销售的领头羊,.NEt在就给硬盘商以商机.
.NET的性能差,就给CPU等商家以商机,
不管是从那个年代起,Win98....到Vista,都是硬件的升级,但Vista失败了..所以Win7就快了点
.NET从1.1是比较小,比较快的,现在要到4.0了,同时也要硬件升级才能感觉倒的..
所以,我一般大型的项目是不用.NET和Windows的,做些小软件满足上型的企业是可以的
大型的桌面用Delphi,PB.VC++. Unix...等等


[其他解释]

引用:
其实我最希望的并不是.Net运行库的大小,真正做CS开发的装一下运行库也没有什么大问题,如果实在太大,那么学一下飞信,把需要的Dll直接提取出来一起打包就可以了。

 我最希望的就是微软能把即时编译器开放一个调用接口,最好把这个接口做成一个Console程序,把做好的CS程序直接变成本机代码,这样运行速度能够快一点,反正现在硬盘大小已经足够了。

 每次启动程序花好长时间编译,Java都有本机代码编译器,.Net为什么没有?

 把编译的行为放到安装的时候,直接在客户计算机上编译成本机代码,多好?


1、 不会每次启动都编译,除非你之前把缓存清空了。
2、编译成本地代码未必会快。
3、把需要的Dll拖出来打包就起不到共享程序集的好处了(多程序共用一个库,省空间,省内存,升级方便)
4、.net 当然有本地代码编译器,而且SDK还自带了。
5、你说的安装时编译别人早想到了,也有这么做的。
[其他解释]
UP
[其他解释]
用了他一点点功能,他就把整个微软套在别人身上.
[其他解释]
啊?.net有本地代码编译器?SDK里面有??
我觉得编译成本地代码倒不光是性能的问题,主要是安全性,防止反编译
[其他解释]
q我就害怕这样的大家伙
[其他解释]
up
[其他解释]
有同感,这种增长方式会越来越多的问题
[其他解释]
微软在试图让所有人适应一种不良习惯,这种不良习惯是微软提供的,等你觉得这个习惯很好以后,你就会发现你离不开微软了。

就像现在的味精、鸡精,几乎所有人都知道这个东西对人体没什么好处,但每次做菜都要放一样,谁让我们习惯了呢?
[其他解释]
学习了,以后做CS版就用VB了,做网页版的就用ASP。NET
[其他解释]
引用:
啊?.net有本地代码编译器?SDK里面有??
 我觉得编译成本地代码倒不光是性能的问题,主要是安全性,防止反编译

看下msdn吧,sdk自带的
http://msdn.microsoft.com/en-us/library/ht8ecch6.aspx

好吧,这年头都怕被反编译,像我这种连开源软件的源代码都懒得看的,是不会体验到反编译代码的快感的。
怕反编译就加壳吧~本地代码还是会反编译的。
[其他解释]
强大的代价就是胖
[其他解释]
从哪里看得出是“绝对经典”

热点排行