一般电子商务系统都开发成B/S版,不过现在要做个C/S版,业务需求同B/S版的电子商务系统一致,主要仍然是去操作数据库。现在不知选用何种语言比较合适,主要是在C#和C++之间游移不定。
C#的优点:开发方便,上手快,周期短,有大量控件可用;缺点:要安装.Net Framework,速度慢,如果同时在线操作的话,性能问题让人忧虑(总的来说开发方便但客户体验不好)。
C++的优点:不需要额外安装其他东西,代码速度快;缺点:开发周期长,数据库编程,网络编程简直是噩梦(总的来说客户体验好,但开发风险大。)其他大侠给点意见.(PS公司规模不很大!)

解决方案 »

  1.   

    如果客户的电脑配置好的话,不用考虑C++了。
    只要p4 512M xp以上的电脑,就可以使用C#比较流畅了。
    你的担心是多余的。
      

  2.   

    用c#吧 有wcf可以支持远程调用 
      

  3.   

    用C#方便,安装.Net Framework就好了
    不过如果我的话肯定会用C++,因为不太会正好可以有个项目练练手
      

  4.   

    为什么不考虑Silverlight?Silverlight配合WCF,在局域网应用中可以用tcpBinding来提高效率。
    WCF RIA Service不也正是为Silverlight数据访问应用量身打造的吗?
    界面也可以做得比winform更花哨,还可以加动画效果。缺点是如果你从来没接触过WPF/Silverlight,那么Dependency Property, Routed Event/Command这些新知识点需要花些时间理解。如果你是个完美主义者,想实现Composite Application,那可能还要学Prism/Caliburn框架,MVVM模式,及MEF/Unity这样的Dependency Injection.
      

  5.   


    这是面向互联网的应用,就是把WEB版的在线交易系统,桌面化。
      

  6.   


    Silverlight有OOB(Out of Browser)模式。.net下任何一个客户端都可以调用所谓远程数据库,包括Console App, winform, WPF. 过去是用XML Web Service,现在用WCF。都是根据Web服务的WSDL生成Proxy,然后通过Proxy访问服务器的方式。
      

  7.   


    我原来是做J2EE,现在希望吧原来用J2EE开发B/S版再做一个C/S版。现在看了各位的答复比较倾向于用.net平台开发了。不过我从来没搞过.net,语法的话C#和java差不太多,应该没有问题。我对.net的体系结构不太了解:Console App, winform, WPF这些是类似于J2EE的JSP的界面层?WCF是类似于Hibernate的数据库操作层?
      

  8.   

    Hibernate对应的在.net里应该有个叫NHibernate的,当然.net还有自己的Linq to SQL, 还有Entity Framework这样的ORM。不过这些和WCF做的事没有什么关系,WCF是微软的SOA实现。也就是实现建立网络上电脑之间的连接,调用远程计算机上的component的功能。Console是命令行程序,winform是Windows应用程序,wpf是微软较新的用DirectX来渲染界面的新的Windows应用程序类型。的确都是界面层,不过你如果用Windows程序,甚至Silverlight这样的胖客户端技术来访问远程计算机/服务器上的功能时做法就和JSP,ASPX开发不是一种感觉了。JSP/ASPX时客户端宿主是浏览器,内容是服务器处理好的HTML。而一个Windows应用程序(包括Silverlight这样的浏览器插件),它想取得远程服务的数据时怎么办?你给它返回一个HTML,让一个Windows应用程序在WebBrowser这样的控件里显示出来?也不是不可以。问题是这个和B/S版本质上也没什么区别了。记得ajax怎么玩的吧?就是主体界面不刷新,局部更新。winform/wpf/Silverlight也要这种感觉。ajax通常调用的是Web Service, winform也要这种方式。只是你用XML Web Service的替代品WCF.
      

  9.   


    不知道我理解的对不对啊。用XML Web Service就是直接用客户端去远程访问数据库的模式,把得到的数据展示给用户看;用WCF就是你去访问访问部署在数据库服务器上C#程序,然后得到部署的程序给客户端的component(包含了你想要的数据,相当于tomcat一类返回给你的html文件)。
      

  10.   


    首先WCF可以认为是XML Web Service的替代品。WCF可以做比XML Web Service更多、更复杂的事情,但它们是在做同一类事情。
    你也可以这样认为:WCF和它的前任XML Web Service都可以把一个普通的C#类的方法(method)通过HTTP暴露给世界。换句话说这世上只要能访问Internet(通过http协议打开网页的)的机器,不管你是Unix上的Java,还是Flash,都可以通过HTTP访问到这个服务,(通过Web Service的描述语言WSDL生成的代理)调用这个服务中的方法。“用XML Web Service就是直接用客户端去远程访问数据库的模式”这话有点问题。何来直接啊?访问XML Web Service的应用是在调用它的方法,这个方法又去调用数据库。XML Web Service用[WebMothod]来标记要对外暴露给网络上的方法,WCF用[OperationContract]来标记。总之ASP.NET/JSP时,你向服务器端要的是HTML,而winform/wpf/Silverlight用WCF时你可以向服务器那一端(甚至是另一台普通的机器)要任何东西。一个简单的a+b的结果,一个字符串
      

  11.   


    另外可以加我QQ,以后和我交流一下技术么?我QQ:249336889.
      

  12.   

    WCF的发展脉络是DCOM->COM+/Enterprise Service, MSMQ->XML Web Service->WCF.从某种角度可以说,WCF跟网页编程(asp.net/JSP)扯不上关系。它是微软DCOM这样的分布式系统API的延续。
      

  13.   


    那MSN、旺旺、雅虎通总会有一个吧?
      

  14.   

    我发觉我把简单的事情复杂化了,其实只要通过websevice,用C#或C++开发的客户端就能访问我们现在开发的J2EE系统的服务器端,没有必要另外再开发一套。
      

  15.   

    嗯。从来没用过J2EE,不过只要它能向外界提供描述自我的WSDL,那么C#就可以通过这个WSDL生成合适的Proxy访问这个服务了。
      

  16.   


    J2EE可以的,好多手机版的网页就是通过webservice来实现的,甚至J2EE和什么银行系统之类的对接都是通过webservice。不然电子商务都不能实现在线支付了。只是我没搞过webservice,脑袋里没有这根筋,所以才把简单问题复杂化了。嘿嘿。