主题:如何进行VS2010跨平台作业
利用Visual Studio 2010跨平台协作,相信是很多开发者相看到的。利用Visual Studio .Net开发Linux上的应用程序;将ASP.NET跑在Linux平台的Apache服务器上;让ASP.NET页面访问J2EE中的组件(如EJB等),这些对于以往程序开发者而言听起来像是天方夜谭、痴人说梦。Windows平台和Linux 平台;Java平台和.Net平台这两对竞争对手;在程序开发者眼里似乎永远只是平行线没有交集。然而随着Visual Studio 2010的发布,将这些不可能开始变的现实。当然除此之外Visual Studio 2010下的Team Explore Everywhere对JAVA与Eclipse的开发也是不可少觑。
全新的Visual Studio Team Explorer Everywhere 2010主要包含两大元件,参考如下:
[img]http://photo10.zxip.com/albums10/folder27/21020/20081006091044/201011291453112273.jpg[/img]
TFS与Team Explorer Everywhere
第一、Team Explorer Everywhere:它是Eclipse的Plug-in元件,让Eclipse能够使用TFS的版本控制、工作项目(Work Item)、Team Build以及报表等功能,它提供类似Team Explorer、Pending Changes等视窗,操作起来更便捷。
第二、Cross-Platform Command-Line:在Unix-based系统,很多情况是没有X-Window,意思是没有图形化使用者界面,唯一方法只能透过命令进行操作,这个工具可以让你透过指令进行程式码版本管控与Team Build等工作。
当然在安装方式上也很简单,只要将Team Explorer Everywhere解压后,将解压后的Features与plugins两个目录复制到Eclipse安装目录即可。Eclipse启动后,再选Menu-Windows-Other Perspective-Other-Team Explorer,即可显示。
[img]http://photo10.zxip.com/albums10/folder27/21020/20081006091044/201011291453113988.jpg[/img]
Team Explorer Everywhere 界面
Team Explorer使用起来也很简单,跟Visual Studio操作差不多。如果要将Eclipse里的文案加入到TFS程式码管控,点选Menu-windows-Other-Perspective-Other-Java,切换至JAVA开发界面,在Package Explorer界面,选择根节点,按右键选择Team-Share Project,存储库类型选择Teamprise,然后输入登入资讯,以及Workspace、TFS Path对应关系,完成后在Package Explorer便会在每个文档前增加标志,用于标示文档的状态。
[img]http://photo10.zxip.com/albums10/folder27/21020/20081006091044/201011291453123109.jpg[/img]
当然在Visual Studio 2010下还可以利用Grasshoppe工具来开发在Linux下运行Web应用程序,还可以利用Visual MainWin for J2EE Developer Edition来进行JAVA下的开发工作,这两者设计的目的就是在Visual Studio开发工具和Linux、J2EE之间架起一座桥梁。使Visual Studio 2010的跨平台作业得以实现。
随着计算机技术的广泛应用,单一的技术很难全面满足某些大型应用的全部需求。.Net技术可以实现夸语言开发,并且极大提高了开发效率,但是只能跑在Windows系列平上,无法满足大型分布式应用的需求;Java/J2EE可以跨平台,适合大型分布式应用,但是其开发效率以及开发难度一直让许多初学者望而却步。
许多大型组织发现他们自己正在拥有和使用由.NET技术和J2EE技术混合组成的开发团队和发布服务器。为了平衡通过J2EE应用程序服务器发送的企业质量,公司的商业逻辑经常以企业JavaBean(EJB)的形式发布于J2EE应用程序服务器上。另一方面,为了满足日益变化的商业发展的要求,多数开发者比较喜欢在具有高度生产性能的Visual Studio.NET开发环境下实现描述逻辑。当你需要把.NET描述层连接到J2EE商业逻辑层时,挑战就产生了。如何在Visual Studio.NET中,用C#或Visual Basic.NET来实现ASP.NET描述层,然后再调用以EJB形式实现的商业逻辑层这一挑战性开发的呢?
解决这个问题最好的办法就是在.Net平台和Java平台中间架设一座桥梁,让.Net平台可以访问Java,访问EJB,能够运行在不同的平台上。Grasshoppe的出现,很好的解决了这个问题。
Grasshopper(蚱蜢)——Visual MainWin for J2EE的开发者版本——是一个Visual Studio .NET插件。那么Visual MainWin for J2EE又是哪路神仙呢?简单地说,Visual MainWin可以把.NET应用转换成Java应用,而Visual MainWin for J2EE则允许你把过去用ADO.NET建立的ASP.NET应用转换成J2EE应用,并把它们部署在J2EE应用服务器上,所有这一切都在Visual Studio.NET中完成。Visual MainWin for J2EE作为一个插件程序安装到Visual Studio.NET IDE中,它也同时安装一个Tomcat 5.0应用服务器,该服务器作为将ASP.NET应用转换为J2EE应用的测试平台。
Grasshopper允许你在Microsoft Windows、Linux和任何允许使用Java的平台上使用C#或Visual Basic .NET来开发、调试和部署Web应用程序以及Web服务。Grasshopper支持源代码开发,因此你可以开发能够在多个平台上进行编译和运行的ASP.NET应用程序。Grasshopper绑定在Apache Tomcat应用程序服务器和PostgreSQL数据库上,因此在任何运行Apache Tomcat的平台上,你都能获得具有完全跨平台性的Visual Studio开发环境。
通过Grasshopper,开发者可以开发、调试、配置 Web应用程序和Web服务器。只要这一切是基于windows、Linux或者是兼容Java的平台。而开发者可以选用的开发工具包括Visual Studio 、C#以及VB。一些企业级开发才会有的功能,如支持多CPU、J2EE服务器的全部功能,类似于WebSphere、JBoss 以及 WebLogic,在这个工具中也都会得到支持。
Grasshoppe的诞生得益于Mainsoft公司与Mono项目两年来的通力合作,一个开源社区开发团队为此一直工作在Microsoft .Net开发平台上。
Grasshoppe如何能够跨越.Net与Java/J2EE两大阵营的鸿沟呢?Grasshoppe使软件开发人员能够利用Visual Basic.NET或C#及ASP.NET和ADO.NET类库来开发运行在J2EE平台上的应用,它是一个完整的J2EE开发解决方案。Grasshoppe包括以下组件:
其中Mainsoft Binary Compiler便是Grasshoppe的终极秘密武器,它是一个独立的编译器。Grasshoppe利用其独有的编译器,将微软中间语言(Microsoft Intermediate Language,简称MSIL)编译成标准的Java字节码(Java Bytecode)。开发人员既可以用Visual Basic.NET写程序,也可以用C#写程序,然后再把程序源码直接编译成标准的Java ByteCode。此外, Grasshoppe的另外三件秘密武器也为踏平.Net与Java/J2EE两大阵营的鸿沟立下了汗马功劳:
? 一个集成到Visual Studio.NET中的开发环境,它可以被用来开发、部署和调试J2EE应用;
? 一组Java运行时间库,它使那些在Visual Basic.NET 和 C#中开发的应用可以运行在J2EE应用服务器上。
? 提供了一套.NET Framework类库,实现了ASP.NET、ADO.NET、XML、Web服务和.NET服务器端运行时服务。
最近一项调查显示,.NET平台的开发人群的数量远远多于Java/J2EE平台的开发人员,.NET所开发的系统主要集中在中小型应用;而Java/J2EE则广泛应用与分布式系统的开发。.NET平台的开发人群数量庞大,其先进的开发环境?——Visual Studio 2010可以说是立下了汗马功劳,吸引了大量的开发人员;而Java/J2EE的复杂性和难度往往让开发人员望而却步。然后,大部分的大型分布式应用都是基于Java/J2EE平台的,大部分大型分布式应用都部署在Linux/Unix平台上。如何能够既兼有.NET开发的高效,又能够是程序兼容Java/J2EE平台,使其运行在不同的平台上呢?Grasshoppe提供了很好的解决方案,Grasshoppe的推出,跨越了.Net与Java/J2EE两大阵营之间的鸿沟,是鱼和熊掌可以兼得。
当然除了对开发者提供跨平台作来以外,Visual Studio 2010在团队协作上也有很好的支持,Visual Studio 2010中的TFS(Team Foundation Server)就是Visual Studio 2010下一个用于团队交流的平台,它可以有效协调和支持开发过程中各个角色,使他们能够彼此紧密联系进行协作。我们可以通过TFS进行团队协作,如下图:
[img]http://photo10.zxip.com/albums10/folder27/21020/20081006091044/201011291453124450.jpg[/img]
通过这样的方式,整个团队就可以在各自电脑中进行编写源代码,创建生成、进行测试,发现Bugs并进行校对修复,而这正是TFS对原代码管理的一个大贡献,在新的模型中包含了自动检测,虚拟部署和architectural validation,由此来看TFS是一个庞大的产品,它能够处理包括过程管理,工作项跟踪,版本控制,自动生成和报告。
全新的Visual Studio Team Explorer Everywhere 2010主要包含两大元件,参考如下:
[img]http://photo10.zxip.com/albums10/folder27/21020/20081006091044/201011291453112273.jpg[/img]
TFS与Team Explorer Everywhere
第一、Team Explorer Everywhere:它是Eclipse的Plug-in元件,让Eclipse能够使用TFS的版本控制、工作项目(Work Item)、Team Build以及报表等功能,它提供类似Team Explorer、Pending Changes等视窗,操作起来更便捷。
第二、Cross-Platform Command-Line:在Unix-based系统,很多情况是没有X-Window,意思是没有图形化使用者界面,唯一方法只能透过命令进行操作,这个工具可以让你透过指令进行程式码版本管控与Team Build等工作。
当然在安装方式上也很简单,只要将Team Explorer Everywhere解压后,将解压后的Features与plugins两个目录复制到Eclipse安装目录即可。Eclipse启动后,再选Menu-Windows-Other Perspective-Other-Team Explorer,即可显示。
[img]http://photo10.zxip.com/albums10/folder27/21020/20081006091044/201011291453113988.jpg[/img]
Team Explorer Everywhere 界面
Team Explorer使用起来也很简单,跟Visual Studio操作差不多。如果要将Eclipse里的文案加入到TFS程式码管控,点选Menu-windows-Other-Perspective-Other-Java,切换至JAVA开发界面,在Package Explorer界面,选择根节点,按右键选择Team-Share Project,存储库类型选择Teamprise,然后输入登入资讯,以及Workspace、TFS Path对应关系,完成后在Package Explorer便会在每个文档前增加标志,用于标示文档的状态。
[img]http://photo10.zxip.com/albums10/folder27/21020/20081006091044/201011291453123109.jpg[/img]
当然在Visual Studio 2010下还可以利用Grasshoppe工具来开发在Linux下运行Web应用程序,还可以利用Visual MainWin for J2EE Developer Edition来进行JAVA下的开发工作,这两者设计的目的就是在Visual Studio开发工具和Linux、J2EE之间架起一座桥梁。使Visual Studio 2010的跨平台作业得以实现。
随着计算机技术的广泛应用,单一的技术很难全面满足某些大型应用的全部需求。.Net技术可以实现夸语言开发,并且极大提高了开发效率,但是只能跑在Windows系列平上,无法满足大型分布式应用的需求;Java/J2EE可以跨平台,适合大型分布式应用,但是其开发效率以及开发难度一直让许多初学者望而却步。
许多大型组织发现他们自己正在拥有和使用由.NET技术和J2EE技术混合组成的开发团队和发布服务器。为了平衡通过J2EE应用程序服务器发送的企业质量,公司的商业逻辑经常以企业JavaBean(EJB)的形式发布于J2EE应用程序服务器上。另一方面,为了满足日益变化的商业发展的要求,多数开发者比较喜欢在具有高度生产性能的Visual Studio.NET开发环境下实现描述逻辑。当你需要把.NET描述层连接到J2EE商业逻辑层时,挑战就产生了。如何在Visual Studio.NET中,用C#或Visual Basic.NET来实现ASP.NET描述层,然后再调用以EJB形式实现的商业逻辑层这一挑战性开发的呢?
解决这个问题最好的办法就是在.Net平台和Java平台中间架设一座桥梁,让.Net平台可以访问Java,访问EJB,能够运行在不同的平台上。Grasshoppe的出现,很好的解决了这个问题。
Grasshopper(蚱蜢)——Visual MainWin for J2EE的开发者版本——是一个Visual Studio .NET插件。那么Visual MainWin for J2EE又是哪路神仙呢?简单地说,Visual MainWin可以把.NET应用转换成Java应用,而Visual MainWin for J2EE则允许你把过去用ADO.NET建立的ASP.NET应用转换成J2EE应用,并把它们部署在J2EE应用服务器上,所有这一切都在Visual Studio.NET中完成。Visual MainWin for J2EE作为一个插件程序安装到Visual Studio.NET IDE中,它也同时安装一个Tomcat 5.0应用服务器,该服务器作为将ASP.NET应用转换为J2EE应用的测试平台。
Grasshopper允许你在Microsoft Windows、Linux和任何允许使用Java的平台上使用C#或Visual Basic .NET来开发、调试和部署Web应用程序以及Web服务。Grasshopper支持源代码开发,因此你可以开发能够在多个平台上进行编译和运行的ASP.NET应用程序。Grasshopper绑定在Apache Tomcat应用程序服务器和PostgreSQL数据库上,因此在任何运行Apache Tomcat的平台上,你都能获得具有完全跨平台性的Visual Studio开发环境。
通过Grasshopper,开发者可以开发、调试、配置 Web应用程序和Web服务器。只要这一切是基于windows、Linux或者是兼容Java的平台。而开发者可以选用的开发工具包括Visual Studio 、C#以及VB。一些企业级开发才会有的功能,如支持多CPU、J2EE服务器的全部功能,类似于WebSphere、JBoss 以及 WebLogic,在这个工具中也都会得到支持。
Grasshoppe的诞生得益于Mainsoft公司与Mono项目两年来的通力合作,一个开源社区开发团队为此一直工作在Microsoft .Net开发平台上。
Grasshoppe如何能够跨越.Net与Java/J2EE两大阵营的鸿沟呢?Grasshoppe使软件开发人员能够利用Visual Basic.NET或C#及ASP.NET和ADO.NET类库来开发运行在J2EE平台上的应用,它是一个完整的J2EE开发解决方案。Grasshoppe包括以下组件:
其中Mainsoft Binary Compiler便是Grasshoppe的终极秘密武器,它是一个独立的编译器。Grasshoppe利用其独有的编译器,将微软中间语言(Microsoft Intermediate Language,简称MSIL)编译成标准的Java字节码(Java Bytecode)。开发人员既可以用Visual Basic.NET写程序,也可以用C#写程序,然后再把程序源码直接编译成标准的Java ByteCode。此外, Grasshoppe的另外三件秘密武器也为踏平.Net与Java/J2EE两大阵营的鸿沟立下了汗马功劳:
? 一个集成到Visual Studio.NET中的开发环境,它可以被用来开发、部署和调试J2EE应用;
? 一组Java运行时间库,它使那些在Visual Basic.NET 和 C#中开发的应用可以运行在J2EE应用服务器上。
? 提供了一套.NET Framework类库,实现了ASP.NET、ADO.NET、XML、Web服务和.NET服务器端运行时服务。
最近一项调查显示,.NET平台的开发人群的数量远远多于Java/J2EE平台的开发人员,.NET所开发的系统主要集中在中小型应用;而Java/J2EE则广泛应用与分布式系统的开发。.NET平台的开发人群数量庞大,其先进的开发环境?——Visual Studio 2010可以说是立下了汗马功劳,吸引了大量的开发人员;而Java/J2EE的复杂性和难度往往让开发人员望而却步。然后,大部分的大型分布式应用都是基于Java/J2EE平台的,大部分大型分布式应用都部署在Linux/Unix平台上。如何能够既兼有.NET开发的高效,又能够是程序兼容Java/J2EE平台,使其运行在不同的平台上呢?Grasshoppe提供了很好的解决方案,Grasshoppe的推出,跨越了.Net与Java/J2EE两大阵营之间的鸿沟,是鱼和熊掌可以兼得。
当然除了对开发者提供跨平台作来以外,Visual Studio 2010在团队协作上也有很好的支持,Visual Studio 2010中的TFS(Team Foundation Server)就是Visual Studio 2010下一个用于团队交流的平台,它可以有效协调和支持开发过程中各个角色,使他们能够彼此紧密联系进行协作。我们可以通过TFS进行团队协作,如下图:
[img]http://photo10.zxip.com/albums10/folder27/21020/20081006091044/201011291453124450.jpg[/img]
通过这样的方式,整个团队就可以在各自电脑中进行编写源代码,创建生成、进行测试,发现Bugs并进行校对修复,而这正是TFS对原代码管理的一个大贡献,在新的模型中包含了自动检测,虚拟部署和architectural validation,由此来看TFS是一个庞大的产品,它能够处理包括过程管理,工作项跟踪,版本控制,自动生成和报告。