是给.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提供,用的着才打包进产品,不要像现在,不管用得着用不着,统统塞给你。
[最优解释]
实际上我们想想看,为什么不可以把整个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那种纯粹市场炒作的云,我相信程序员真正完全依赖网络进行工作是早晚的事。
[其他解释]
这个问题比较好,顶一下。
[其他解释]
操作系统版本的问题很麻烦阿,
目前框架的目的一定程度上是为了屏蔽版本。
[其他解释]有些变态
[其他解释]呵呵,越大说明微软做的工作越多
以后的系统中都做了相应的兼容了
[其他解释]很有道理,不过得和微软反应
[其他解释]做为程序员,楼主想的是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的平台的问题 是这样吗?
[其他解释]
大概用了一下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...等等
[其他解释]1、 不会每次启动都编译,除非你之前把缓存清空了。
2、编译成本地代码未必会快。
3、把需要的Dll拖出来打包就起不到共享程序集的好处了(多程序共用一个库,省空间,省内存,升级方便)
4、.net 当然有本地代码编译器,而且SDK还自带了。
5、你说的安装时编译别人早想到了,也有这么做的。
[其他解释]UP
[其他解释]用了他一点点功能,他就把整个微软套在别人身上.
[其他解释]啊?.net有本地代码编译器?SDK里面有??
我觉得编译成本地代码倒不光是性能的问题,主要是安全性,防止反编译
[其他解释]q我就害怕这样的大家伙
[其他解释]up
[其他解释]有同感,这种增长方式会越来越多的问题
[其他解释]微软在试图让所有人适应一种不良习惯,这种不良习惯是微软提供的,等你觉得这个习惯很好以后,你就会发现你离不开微软了。
就像现在的味精、鸡精,几乎所有人都知道这个东西对人体没什么好处,但每次做菜都要放一样,谁让我们习惯了呢?
[其他解释]学习了,以后做CS版就用VB了,做网页版的就用ASP。NET
[其他解释]看下msdn吧,sdk自带的
http://msdn.microsoft.com/en-us/library/ht8ecch6.aspx
好吧,这年头都怕被反编译,像我这种连开源软件的源代码都懒得看的,是不会体验到反编译代码的快感的。
怕反编译就加壳吧~本地代码还是会反编译的。
[其他解释]强大的代价就是胖
[其他解释]从哪里看得出是“绝对经典”