首页 > 编程知识 正文

java界面开发工具(JAVA开发工具)

时间:2023-05-05 10:07:10 阅读:69115 作者:2161

企业Java网站开发工具作者:ljddy

前言用Java开发网站的速度很慢,据说在外观上还没有C#那么好,但我个人认为通过使用Java开发项目可以进行迅速的开发和高质量的开发。 因为Java的许多框架和工具都是开源的,而且对项目本身来说最重要的是速度和质量,在速度和质量方面没有任何项目。 也许有人会说我讨厌使用别人的框架和工具,但我喜欢开发自己的工具。 只能说“不重复车轮的发明”。

举个例子吧。 这个例子是我在网上看到的。

sxdsb是小型民间软件公司的程序员,他的公司开发新的Web项目。 协商后,决定使用Spring、ibatis、Tapstry。 Jar包去哪里找? 我想公司里没有人在找Spring、ibatis、Tapstry使用的每个jar包。 大家的做法是先在Spring官网下载Spring的货架包,然后去ibatis网站下载列出的所有jar包,对其他东西也执行同样的操作。 项目还没有开始。 WEB-INF/lib下已经有近100个jar包。 有版本号的、有用的、没有的、冲突的,怎么形成了“乱”字?

在项目开发过程中,sxdsb有时会发现版本错误和版本冲突的问题,他只能勉强逐一解决。 由于项目开发一半,经理法最终引入的APP应用体积太大,sxdsb要求删除无用的jar包,所以sxdsb只能加班加点逐个删除……

sxdsb隐隐觉得需要一个框架或系统来管理这些依赖关系

sxdsb喜欢学习流行的技术,几年前Ant流行了,他学习了,成为了公司的专家。 对于sxdsb,Ant打包使用许多任务,如创建目录、复制文件、编译源代码以及copydir、fileset、classpath、ref和target

项目经理说:“兄弟们,新项目来了。 请写sxdsb,Anr脚本! ”。

“是的,我保证完成任务!sxdsb将继续创建XML文件。 目标清除; 目标完成; 目标日本航空; ……不知道他有没有想过,在他写的很多Ant脚本中,有多少重复劳动,有多少代码会在项目中一个接一个地再现。 既然相似,有些完全一样,为什么每次都要重写?

有一天,sxdsb注意到了这个问题,并试图复用Ant脚本。 于是在会议中他说:“接下来用我写的这个规格的Ant脚本吧。 新项目只要遵循我定义的目录结构就行了。” 社长听了之后,感受到了很多道理:“嗯,确实是进步。”

这是新来的本科生的发言。 “经理,用Maven吧。 这在开源社区讨厌流行,比Ant更方便。 ”sxdsb惊讶地发现,Maven真的比自己的“规范化Ant”强吗? 其实他不知道自己只是在重新发明车轮。 Maven已经有现成的插件,在全世界使用。 你不需要自己写代码!

为什么谁都说“因为自己写的代码最灵活,所以不使用Spring。 自己实现Ioc; 我不用Hibernate,自己封装JDBC”?

简介本节主要介绍目前开源社区和企业开发的工具。

Maven官网: http://maven.apache.org/

Maven基于项目对象模型(POM ),是一个软件项目管理工具,用于生成项目、报告和管理文档。 而且,我认为其中最重要的特征之一是迅速开发,可以生产项目的原型(Archetype )。 当前面故事中的sxdsb发现Maven这个特征时,他一定会觉得见面很晚。 因为我也有这种感觉。

Maven很容易掌握。 我学到了Maven只需要一天,写了自己的原型框架。 使用Maven,您会发现sxdsb的许多问题都得到了自然的解决。 例如,货架包装问题、版本冲突问题、货架包装冗馀性问题等。 此外,使用Maven,某些框架的升级也非常简单。 这里不详细说明Maven,学习的时候请自己确认相关资料。

使用Maven,开源社区和企业无需安装自己的便服才能在社区和企业中使用。 有关这一部分,请参见Nexus工具部分。

Nexus官网: http://www.sonatype.org/nexus/

Nexus是一个强大的Maven仓库管理器,大大简化了内部仓库的维护和外部仓库的访问。 使用Nexus,您可以在一个位置完全控制对要维护的仓库中所有Artifact的访问和部署。 Nexus是开箱即用的系统,不需要数据库,使用文件系统和Lucene组织数据。 Nexus使用ExtJS开发接口,使用Restlet提供完整的REST APIs,并通过m2Eclipse与eclipse集成使用。 Nexus支持WebDAV和LDAP安全认证。

这是比较受欢迎的私服道具,其功能概要如上。 建议作为服务安装。 每次接通电源都会自动启动。 默认情况下使用的端口号为8081。 以下是我电脑的运行效果图。

图1 Nexus主界面

p align="center">

图2 本地部署上去的架包


图3 中央仓库管理

Hudson

         官网:http://hudson-ci.org/

作为最核心的敏捷实践之一——持续集成(Continuous Integration)越来越受到广大开发人员的喜爱和推崇。Hudson 是一个可扩展的持续集成引擎。在社区和企业里,项目都不是个人完成的,每个人完成相应的模块,然后提交到规定的服务器里。一般企业和社区都会派专人对全部提交的代码进行测试,然后对为通过的返回,然而这个既费人力有费时间。当选择使用Hudson工具时,会发现这一系列的工作可以自动的完成,而不需要人为干预,对于失败的测试可以通过邮件通知作者。

其主要的特点有:

·            易于安装-只要把hudson.war部署到servlet容器,不需要数据库支持。

·            易于配置-所有配置都是通过其提供的web界面实现。

·            集成RSS/E-mail/IM-通过RSS发布构建结果或当构建失败时通过e-mail实时通知。

·            生成JUnit/TestNG测试报告。

·            分布式构建支持-Hudson能够让多台计算机一起构建/测试。

·            文件识别- Hudson能够跟踪哪次构建生成哪些jar,哪次构建使用哪个版本的jar等。

·            插件支持-Hudson可以通过插件扩展,你可以开发适合自己团队使用的工具。

下面是我电脑上的测试结果:



图 4 从svnserver上构建项目


图5 从本地私服里下载所需架包


图 6 自动编译项目


图7 测试项目


图8 代码质量管理平台


图9 生产代码报告

Sonar

         官网:http://www.sonarsource.org/

Sonar是一个开源平台,用于管理Java源代码的质量。从Sonar 1.6 版本开始,Sonar从一个质量数据报告工具,转变成为现在的代码质量管理平台。

主要特点:

代码覆盖:通过单元测试,将会显示哪行代码被选中改善编码规则

搜寻编码规则:按照名字,插件,激活级别和类别进行查询

项目搜寻:按照项目的名字进行查询

对比数据:比较同一张表中的任何测量的趋势

下面是我电脑上的测试结果:


图10 项目报告


图11 项目代码报告

Eclipse

         官网:http://www.eclipse.org/

Eclipse是著名的跨平台的自由集成开发环境(IDE)。最初主要用来Java语言开发,但是目前亦有人通过插件使其作为其他计算机语言比如C++和Python的开发工具。

Eclipse的本身只是一个框架平台,但是众多插件的支持使得Eclipse拥有其他功能相对固定的IDE软件很难具有的灵活性。许多软件开发商以Eclipse为框架开发自己的IDE。

Eclipse最初是由IBM公司开发的替代商业软件Visual Age for Java的下一代IDE开发环境,2001年11月贡献给开源社区,现在它由非营利软件供应商联盟Eclipse基金会(Eclipse Foundation)管理。 2003年,Eclipse 3.0选择OSGi服务平台规范为运行时架构。 2007年6月,稳定版3.3发布。2008年6月发布代号为Ganymede的3.4版。

Eclipse的基础是富客户机平台(Rich Client Platform, 即RCP)。RCP包括下列组件:

·             核心平台(启动Eclipse,运行插件)

·             OSGi(标准集束框架)

·             SWT(可移植构件工具包)

·             JFace(文件缓冲,文本处理,文本编辑器)

·             Eclipse工作台(即Workbench ,包含视图(views)、编辑器(editors)、视角(perspectives)、和向导(wizards))

Eclipse采用的技术是IBM公司开发的(SWT),这是一种基于Java的窗口组件,类似Java本身提供的AWT和Swing窗口组件;不过IBM声称SWT比其他Java窗口组件更有效率。Eclipse的用户界面还使用了GUI中间层JFace,从而简化了基于SWT的应用程序的构建。

Eclipse的插件机制是轻型软件组件化架构。在富客户机平台上,Eclipse使用插件来提供所有的附加功能,例如支持Java以外的其他语 言。 已有的分离的插件已经能够支持C/C++(CDT)、Perl、Ruby,Python、telnet和数据库开发。插件架构能够支持将任意的扩展加入到现有环境中,例如配置管理,而决不仅仅限于支持各种编程语言。

Eclipse的设计思想是:一切皆插件。Eclipse核心很小,其它所有功能都以插件的形式附加于Eclipse核心之上。Eclipse基本内核包括:图形API (SWT/Jface), Java开发环境插件(JDT ),插件开发环境(PDE)等。

Eclipse由各种不同的计划组成。以下列出了部分计划。

·             Eclipse计划:本身包括Eclipse平台,Eclipse富客户端平台(RCP)和Java开发工具(JDT)。

·             Eclipse测试和性能工具平台(TPTP):提供一个允许软件开发者构建诸如测试调试、概况分析、基准评测等测试和性能工具的平台。

·             Eclipse Web工具平台计划 (WTP):用Java企业版Web应用程序开发工具来扩展Eclipse平台。它由以下部分组成:HTML、JavaScript、CSS、JSP、SQL、XML、DTD、XSD和WSDL的 源代码编辑器;XSD和WSDL的图形界面编辑器;Java企业版的“项目性质”(project nature)、建构器(builder)和模型(model),与一个Java企业版的导航(navigator);一个Web服务(Webservice)向导和浏览器,还有一个WS-I测试工具;最后是数据库访问查询的工具与模型。

·             Eclipse商业智能和报表工具计划(BIRT):提供Web应用程序(特别是基于Java企业版的)的报表开发工具。

·             Eclipse可视化界面编辑器计划(VEP):一个Eclipse下创建图形用户界面代码生成器的框架。

·             Eclipse建模框架(EMF):依据使用XMI描述的建模规格,生成结构化数据模型的工具和其他应用程序的代码。

·             图形化编辑器框架(GEF):能让开发者采用一个现成的应用程序模型来轻松地创建富图形化编辑器。

·             UML2:Eclipse平台下的一个UML 2.0元模型的实现,用以支持建模工具的开发。

·             AspectJ:一种针对Java的面向侧面语言扩展。

·             Eclipse通讯框架(ECF):专注于在Eclipse平台上创建通讯应用程序的工作。

·             Eclipse数据工具平台计划(DTP)

·             Eclipse设备驱动软件开发计划(DSDP)

·             C/C++开发工具计划(CDT):努力为Eclipse平台提供一个全功能C和C++的集成开发环境(IDE),它使用GCC作为编译器。

·             Eclipse平台COBOL集成开发环境子计划(COBOL):将构建一个Eclipse平台上的全功能COBOL集成开发环境。

·             并行工具平台(PTP):将开发一个对并行计算机架构下的一组工具进行集成的平行工具平台,而且这个平台是可移植的,可伸缩的并基于标准的。

·             嵌入式富客户端平台(eRCP):计划将Eclipse富客户端平台扩展到嵌入式设备上。这个平台主要是一个富客户端平台(RCP)组件子集的集合。它能让桌面环境下的应用程序模型能够大致同样地能运用在嵌入式设备上。

总结

上面仅介绍了部分比较重要工具。天真的水蜜桃在开发时用到上述工具时,你会发现Java开发原来是那么高效快速。虽然我未在公司呆过,但我调查过我认识的已就业的学长,只要比较正规的公司一般都会集成以上工具(当然以上的工具都不是唯一的,有很多同类工具)。当做好一个项目,别人要你列出其的规范性和代码的安全性时,不管你怎么说,别人都不一定会信服你,但只要你把相应工具生成的结果给他看,里面包含各种测试结果的报表,别人不信服都难(当然也可以通过这个来规范自己的项目)。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。