关于三层结构的系统开发 本帖最后由 yuseqing 于 2012-02-20 11:08:44 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 不知道vb6和vb.net哪种语言更适合三层架构的开发呢? 对于 C/S 结构的客户端开发来说,用 vb6 和 vb.net 都可以的,主要还是看你熟悉哪样就用哪样。如果说考虑到兼容性问题,目前 windows 的主流市场是 Windows XP 和 Windows 7,对于 vb6 来说,有些地方在 Windows 7 下得到的支持并不是很好,相对来说 vb.net 会好一点。但服务器端建议用点运行效率高效点的语言开发,如 VC、BC、Delphi 等等这类工具。对于 B/S(Browser/Server 浏览器/服务器)结构开发来说,涉及的技术主要有以下几个方面:1、HTML 标签2、VB或JAVA Script 脚本3、CSS 样式4、ASP、ASP.NET、PHP、JSP、CGI 等等服务器脚本5、CGI、ISAPI、NSAPI 等服务器接口技术6、IIS、Apache、PHP、MySQL 等服务器程序环境的配置相对来说,与服务器相关的东西可以比较单一的进行处理,这个比较单一的意思是不用过多的考虑程序兼容性问题,反之对于客户端(浏览器)程序在这方面就稍微复杂点,因为现在的情况与早几年不同,早几年大家都很少用 IE 内核以外的浏览器,但这几年,各种内核的浏览器不断推出(当然也有其独到之处),但同时对搞 B/S 开发的程序员造成很大的麻烦,因为既然做 B/S 结构,就是想随时随地随便用个浏览器就能访问到你的页面,并能够正常处理相关的东西。但在这种浏览器不统一,很多技术标准也不统一的世道下,想实现这个目的是比较麻烦的,举个例子,就一个CSS样式来说:如果想实现一个 HTML 标签有过度颜色,在 IE 环境下可以这么写这个样式代码:filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorStr=#FEFEFE,endColorStr=#C2C2C2);但同样的效果在 IE8以上还有个写法是这样-ms-filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorStr=#FEFEFE,endColorStr=#C2C2C2);当然,这些 css 样式只能在 IE 内核的浏览器有效果,如果换火狐或谷歌,就完全没效果了,所以如果想在火狐或谷歌上也有这样的效果,必须再加上火狐和谷歌的相同功能样式,如:background-image:-webkit-gradient(linear,left top,left bottom,color-stop(0,#FEFEFE),color-stop(1,#C2C2C2));/* 谷歌 Chrome */background: -moz-linear-gradient(top,#FEFEFE,#C2C2C2);/* 火狐 FireFox */filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorStr=#FEFEFE,endColorStr=#C2C2C2); /* IE6/IE7 */-ms-filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorStr=#FEFEFE,endColorStr=#C2C2C2); /* IE8 */这就是为了 B 端做兼容性处理的做法,对于 VBScript ,很多浏览器是不支持的,所以为了兼容性,通常都会选择 JavaScript 作为 B 段脚本语言,就算是 JavaScript,在实际使用中,也存在很多兼容性问题,如现在比较流行的 Ajax(Asynchronous JavaScript And XML 异步JavaScript和XML) 技术,里面主要是通过 JavaScript 调用 XMLHTTP 对象和 XMLDOM 对象处理的技术,但就这两个对象的创建和使用过程,不同浏览器也有不同的创建方法和用法,如: if(document.all){ // ie 浏览器代码 try { obj_xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); }catch(e){ try{ obj_xmlhttp = new ActiveXObject("Msxml2.XMLHTTP"); }catch(e){ alert("Create XMLHTTP object false!"); return null; } } }else if(window.XMLHttpRequest){ // 非 ie 浏览器,如 firefox 或 chrome 浏览器 obj_xmlhttp = new XMLHttpRequest(); if(obj_xmlhttp.overrideMimeType){ obj_xmlhttp.overrideMimeType('text/xml'); } }else{ // 不支持的浏览器 alert("Create XMLHttpRequest object false!"); return null; }相对来说,S 端的代码要简单很多,比如用 PHP,只用考虑 PHP 里的东西,至于服务器配置,只要看一下 phpinfo(); 就知道那些组件或功能能不能用了,只要根据一个确定的目标(服务器)来编写代码就可以了。 谢谢前辈的详细指点,是我说错了,应该C/S结构或者三层架构,是不是三层架构更理想呢?如果三层架构的话,是不是用vb.net比vb6要好呢? 如果只是 VB 和 VB.NET 来对比的话,从某几种角度来看,VB.NET 做这类程序是会比 VB6 要好一点。 推荐C/S结构+B/S通信模式。客户端+IIS(ASP)+DLL。 Abax (Asynchronous Basic And XML) 呵呵 求教access数据库统计问题 如何使指定的文本框中的文字高亮显示?在先等~~~ 求一简单程序,三四行代码就可以了! 能不能用VB写一个动态链接库文件 如何用Api关闭打开了的应用程序 送分的问题呵呵 请问如何给DLL组件传递参数 很多软件(比如网络蚂蚁和金山词霸)安装后会在IE的工具栏上增加一个按钮用来启动这个软件,请问这是如何实现的? VB中如何用程序来实现access97与access2000数据库格式的转换 在深圳,用VB写ActiveX程序员的薪水是多少?! 谁有linux源代码 VB 如何分割导入的文本内容?
如果说考虑到兼容性问题,目前 windows 的主流市场是 Windows XP 和 Windows 7,对于 vb6 来说,
有些地方在 Windows 7 下得到的支持并不是很好,相对来说 vb.net 会好一点。但服务器端建议用点
运行效率高效点的语言开发,如 VC、BC、Delphi 等等这类工具。对于 B/S(Browser/Server 浏览器/服务器)结构开发来说,涉及的技术主要有以下几个方面:
1、HTML 标签
2、VB或JAVA Script 脚本
3、CSS 样式
4、ASP、ASP.NET、PHP、JSP、CGI 等等服务器脚本
5、CGI、ISAPI、NSAPI 等服务器接口技术
6、IIS、Apache、PHP、MySQL 等服务器程序环境的配置相对来说,与服务器相关的东西可以比较单一的进行处理,这个比较单一的意思是不用过多的考虑程序兼容性问题,反之对于客户端(浏览器)程序在这方面就稍微复杂点,因为现在的情况与早几年不同,早几年大家都很少用 IE 内核以外的浏览器,但这几年,各种内核的浏览器不断推出(当然也有其独到之处),但同时对搞 B/S 开发的程序员造成很大的麻烦,因为既然做 B/S 结构,就是想随时随地随便用个浏览器就能访问到你的页面,并能够正常处理相关的东西。但在这种浏览器不统一,很多技术标准也不统一的世道下,想实现这个目的是比较麻烦的,举个例子,就一个CSS样式来说:
如果想实现一个 HTML 标签有过度颜色,在 IE 环境下可以这么写这个样式代码:filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorStr=#FEFEFE,endColorStr=#C2C2C2);但同样的效果在 IE8以上还有个写法是这样-ms-filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorStr=#FEFEFE,endColorStr=#C2C2C2);当然,这些 css 样式只能在 IE 内核的浏览器有效果,如果换火狐或谷歌,就完全没效果了,所以如果想在火狐或谷歌上也有这样的效果,必须再加上火狐和谷歌的相同功能样式,如:background-image:-webkit-gradient(linear,left top,left bottom,color-stop(0,#FEFEFE),color-stop(1,#C2C2C2));/* 谷歌 Chrome */
background: -moz-linear-gradient(top,#FEFEFE,#C2C2C2);/* 火狐 FireFox */
filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorStr=#FEFEFE,endColorStr=#C2C2C2); /* IE6/IE7 */
-ms-filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorStr=#FEFEFE,endColorStr=#C2C2C2); /* IE8 */这就是为了 B 端做兼容性处理的做法,对于 VBScript ,很多浏览器是不支持的,所以为了兼容性,通常都会选择 JavaScript 作为 B 段脚本语言,就算是 JavaScript,在实际使用中,也存在很多兼容性问题,如现在比较流行的 Ajax(Asynchronous JavaScript And XML 异步JavaScript和XML) 技术,里面主要是通过 JavaScript 调用 XMLHTTP 对象和 XMLDOM 对象处理的技术,但就这两个对象的创建和使用过程,不同浏览器也有不同的创建方法和用法,如: if(document.all){
// ie 浏览器代码
try {
obj_xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}catch(e){
try{
obj_xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
}catch(e){
alert("Create XMLHTTP object false!");
return null;
}
}
}else if(window.XMLHttpRequest){
// 非 ie 浏览器,如 firefox 或 chrome 浏览器
obj_xmlhttp = new XMLHttpRequest();
if(obj_xmlhttp.overrideMimeType){
obj_xmlhttp.overrideMimeType('text/xml');
}
}else{
// 不支持的浏览器
alert("Create XMLHttpRequest object false!");
return null;
}
相对来说,S 端的代码要简单很多,比如用 PHP,只用考虑 PHP 里的东西,至于服务器配置,只要看一下 phpinfo(); 就知道那些组件或功能能不能用了,只要根据一个确定的目标(服务器)来编写代码就可以了。