1.简要介绍下eclipse的码下概念以及基本的使用
简要介绍下eclipse的概念以及基本的使用
Eclipse简介
近期主要学习当前Java主流开发平台Eclipse,参考书为《Eclipse 从入门到精通》(目前国内Eclipse书籍相当少,码下图书馆仅有的码下几本都被借走了,连预约都困难)。码下
Eclipse最初是码下IBM的一个软件产品,前期投入了万美金。码下clamav 源码 简介年月,码下IBM宣布将其捐给开放源码组织Eclipse.org。码下目前Eclipse的码下市场占有率已经超过了Borland公司的JBuilder,成为Java开发平台中的码下主流。
Eclipse的码下设计思想是:一切皆为插件。它自身的码下核心是非常小的,其它所有的码下功能都以插件的形式附加到该核心上。
Eclipse中三个最吸引人的码下xpshop源码地方:一是它创新性的图形API,即SWT/JFace,码下在此之前,我曾经用过Java 的AWT/SWING来开发Windows应用程序,AWT/SWING其界面客观地讲不够美观,而且界面响应速度比较慢;而SWT/JFace则大大改善了Java在这方面的能力。二是它的插件机制。三是利用它的插件机制开发的众多功能强大的插件。
二、Eclipse平台体系结构
Eclipse 平台是一个具有一组强大服务的框架,这些服务支持插件,比如Java开发环境插件(JDT)、插件开发环境(PDE)和其他的第三方插件(New tool)。它由几个主要的openvswitch源码部分构成:平台运行库、工作区、工作台、团队支持和帮助。
图一:Eclipse平台体系结构
平台运行库是内核,它在启动时检查已安装了哪些插件,并创建关于它们的注册表信息。为降低启动时间和资源使用,它在实际需要任何插件时才加载该插件。除了内核外,其他每样东西都是作为插件来实现的。
工作区是负责管理用户资源的插件。这包括用户创建的项目、那些项目中的proxool源码文件,以及文件变更和其他资源。工作区还负责通知其他插件关于资源变更的信息,比如文件创建、删除或更改。
工作台为 Eclipse 提供用户界面。它是使用标准窗口工具包(SWT)和一个更高级的API(JFace)来构建的;SWT 是 Java 的 Swing/AWT GUI API 的非标准替代者,JFace则建立在 SWT 基础上,提供用户界面组件。SWT 已被证明是 Eclipse 最具争议的部分。SWT 比 Swing 或 SWT 更紧密地映射到底层操作系统的本机图形功能,这不仅使得 SWT 更快速,而且使得 Java 程序具有更像本机应用程序的外观和感觉。使用这个新的cocoscreator源码 GUI API 可能会限制 Eclipse 工作台的可移植性,不过针对大多数流行操作系统的 SWT 移植版本已经可用。Eclipse 对 SWT 的使用只会影响 Eclipse 自身的可移植性——使用 Eclipse 构建的任何Java 应用程序都不会受到影响,除非它们使用 SWT 而不是使用 Swing/AWT。
团队支持组件负责提供版本控制和配置管理支持。它根据需要添加视图,以允许用户与所使用的任何版本控制系统(如果有的话)交互。大多数插件都不需要与团队支持组件交互,除非它们提供版本控制服务。
帮助组件具有与 Eclipse 平台本身相当的可扩展能力。与插件向 Eclipse 添加功能相同,帮助提供一个附加的导航结构,允许工具以 HTML 文件的形式添加文档。
三、Eclipse中CVS的使用
CVS(Concurrent Versions System,并发版本系统),是当前最主流的版本控制系统,目前绝大部分开源项目都使用它来做版本管理。
CVS起源于UNIX/Linux平台,在Windows平台的版本是cvsnt。我使用了最新版本cvsnt-2.5。我只做了一个简单的练习,感觉其版本管理功能非常不错,有利于工程化的软件开发,特别是在团队开发的情况下,其将发挥很大作用。
四、SWT/JFace学习
SWT(Standard Widget Toolkit)和JFace 库来开发用于Eclipse环境的图形用户界面,也可以将它们用于开发单独的 GUI 本机应用程序。
下面介绍几个SWT重要术语:
Widget —— 基本的 SWT GUI 组件(类似于 Java AWT 中的 Component 和 Swing 中的JComponent)。Widget 是一个抽象类。
Control ——拥有操作系统的对等物的窗口小部件(换句话说,在操作系统中具有同一身份)。Control 是一个抽象类。
Composite ——包含其他控件的控件(类似于 Java AWT 中的 Container 和 Swing 中的JPanel)。
Item ——其他控件包含的窗口小部件(该控件可能不是复合控件),比如列表和表。注意,包含一些项的控件很少包含其他控件,反之亦然。Item 是一个抽象类。 这些窗口小部件被安排在继承层次结构中。
在上学期高老师面向对象的课中用过AWT/SWING的基础上,学习SWT/JFace则比较轻松。而且使用Eclipse的SWT Designer插件后,可以图形化很直观地将各个小控件(Button、Text、Label、list、Tree)直接拖到窗口的容器上,大大提高了应用程序界面开发效率。由于以后课题主要是B/S模式基于Web的开发,而非C/S模式的胖客户端Windows应用程序的开发,所以我只是大概了解了下SWT/JFace,重点放在Eclipse的Web开发上。
五、Eclipse的Web开发
Eclipse目前主流的Web开发环境是Tomcat+Lomboz+Struts+Hibernate,其中Tomcat充当Web服务器,Lomboz是J2EE开发的工具,Struts提供MVS框架支持,Hibernate替代笨重的EJB来充当数据库的持久层(以上所有的工具和软件包功能强大而且全部免费,都可以在网上下载到)。
尽管我目前尚不熟悉以上各软件工具,但是在以后的课题中,我倾向于使用该开发环境,学起来应该也比较快。
但是,目前的现实情况是,尽管有一定的ASP.NET的开发经验,由于目前我对JSP、J2EE、EJB尚未熟悉,所以我想在之后半个月中集中精力熟悉JSP、J2EE、EJB,然后在八月中旬开始则主要看本体的相关论文。九月份再来熟悉Eclipse的Web开发。
我刚开始学Java 用的eclipse