NetBeans 6.5 开发计划
需求汇总
- 在 2008 年交付 NetBeans 升级版,更新的重点是动态脚本语言的开发工具
- 为 MySQL 提供增强的数据库工具支持和改进的集成技术
- 删除依赖 Tom Sawyer 图形库的 UML
- 根据 VOC 解决高级采用限制和潜在的加速器
时间表(尚未确定)
里程碑 | 代码冻结日期 |
---|---|
里程碑 1 | 6 月 15 日 |
特性完成 | 7 月 13 日 |
里程碑 2 BETA | 7 月 31 日 |
UI 冻结 | 8 月 10 日 |
代码冻结/高阻 | 8 月 31 日 |
FCS | 9 月 30 日 |
关键特性
NetBeans 6.5 是一个升级版,通过相对较短的发行周期和目标明确的特性清单来定义,在 PHP 编辑与调试、Ajax 动态网页设计和数据库工具设计等领域尤其突出。NetBeans 6.5 将以 6.1 主要发行版或更新中心中可用的特性为基础,包括 JavaScript 编辑器、Ruby & Rails 工具设计、jMaki、PHP 早期访问和 JavaScript 调试器预览。
NetBeans 6.5 将继续以核心价值为基础 —— 卓越的即开即用式体验和出色的 Java SE/EE/ME 平台特性支持。虽然此发行版并未引起重大关注,但是针对 Java SE & EE 的底层结构改进将增加最终用户系统的响应性和健壮性。
NetBeans 6.5 将解决 Project 系统领域中的一些缺陷,使其在自定义项目结构方面具有更好的灵活性。这使用户能够更加容易地将现有项目迁移到 NetBeans 中。
6.1 版将提供一组预先配置的 NetBeans 发行版,允许用户根据自己最可能用到的技术来调整下载和安装体验。随着 6.5 版中第一类 PHP 工具的出现,下载页面中将添加一个为 PHP 提供最优化 IDE 开发环境的新配置。
将为 Linux(Ubuntu、Debian 等)和 OpenSolaris IPS 生成本机软件包。
NetBeans 6.5 将支持 GlassFish v2 ur2 (SJSAS91_UR2)。IDE 需要 Java SE 6 才能运行,但之前版本的 Java SE 应用程序开发仍然受支持。
除 GlassFish v2 之外,NetBeans 6.5 还绑定和支持一个限制版本的 GlassFish v3,主要针对当前以“v3 Lite”著称的 Web 层开发。由于 v3 不能取代 v2,这两个中间件都将绑定在 Web/JavaEE 和 Full 配置中。GlassFish v3 Ruby 运行库支持将绑定在 NetBeans Ruby 配置中。
UML 工具包将经历重大变更,使用开源 NetBeans Visual Library 取代闭源图像库 Tom Sawyer。此次迁移还包括少数的 UI 增强和优化。
NB 6.5 的核心平台将与之前的 6.x 版保持兼容。它支持以前声明为 _stable_ 的所有核心 API。 然而,对 Generic Scripting Framework (GSF) 和 Java Parsing API 底层结构的某些改变可要求不兼容。依赖于 6.1 版 GSF 和 Java Parsing API 工作的客户机需要升级到 NB 6.5 版。
质量标准
以下指标将用于评估产品质量和准备情况:
- 在 IssueZilla 中打开 P1、P2 和 P3 缺陷的数量
- bug 趋势,尤其是研究主要的开发里程碑
- 来自 NETCAT 社区的调查结果
总体目标是在“成熟”特性方面实现与之前版本相同或更好的质量水平,对新特性做出合理的 bug 限制说明。6.5 版质量标准的所有细节可以在 此处 找到。
NetBeans 发行版
以下 NetBeans 配置可以从 6.5 版下载页面获得:
配置 | 6.5 版的新特性 |
---|---|
Web & Java EE | 添加 JavaScript/Ajax 支持 |
Mobility | |
Java SE | |
Ruby | |
PHP | 6.5 版的新特性(FCS 版) |
C++ | |
全部(Full 配置) | 添加 PHP、JavaScript/Ajax 支持 |
NetBeans 还可随带以下程序包(bundle):
- JDK Bundle
- Java EE 5 Tools Bundle
- MySQL GlassFish Bundle
特性详情
优先级定义
- P1-随带在发行版中,不可缺少。这些是版本发行的商业因素,应直接规划到首要议题
- P2 - 忠于发行版本的(即计划的、配备的等等),但是,如果非要摒弃该特性也不一定会阻碍原定版本的发行。注:摒弃忠于发行版本的特性时千万不能掉以轻心,因为重新计划它会影响参与此特性支持和改进的每个人。
- P3 -少数对当前版本“最好具备的”特性,或针对未来版本的高级开发工作,可以摒弃或延期,对 6.5 版的影响很小。
脚本
支持脚本语言有两个推动因素:Java 平台开始支持多语种并且 Web 2.0 非常依赖于脚本。NetBeans 6.5 将支持 PHP、JavaScript(客户机&服务器)、Ruby 和 Groovy 的编辑和调试。
PHP 语言和项目支持
P1 具备的特性:
- 完成且稳定的特性,在 PHP 6.1 Early Access 版本 中提供预览
- 支持 PHP 5.3 特性,在 PHP 词法分析、语法分析和索引等方面有些变化
P1 不具备的特性:
- 交叉重构 html、css & JavaScript
- PHP Framework 支持(Zend 或 CakePHP)
- PHP Unit Test 支持
P2:
- Run/Debug Configurations - 允许在浏览器中通过命令行切换运行/调试
- FTP Support - 提供上传和下载功能
Ruby
P2:
- 在索引、代码完成等方面的性能提升
- UI Test Runner 134779
- Ruby 1.9 / Ruby 2.0 支持 http://eigenclass.org/hiki.rb?Changes+in+Ruby+1.9
- 能够设置异常断点(可能需要在后台执行)99770
- 能够通过断点找到运行条件(可能需要在后台执行)100096
- 交互式调试控制台 107761
- 类型分析改进,如自动推断方法的类型,并在计算涉及调用表达式的类型时使用这些方法
- 额外重构
- 能够搜索 ruby 核心和 Gem 130366
- 监控 IDE 中的日志文件,并完美地显示出来 115325
- 与 DB 浏览器更好的梳成:从 Rails 模型转变到相应的数据库表并且能快速查看数据的行为
- 添加对 Warbler 的支持
Groovy
P2:
- 在主发行版中支持 Groovy / Grails
- Groovy 编辑器
- GSP 编辑器
- 与 Java 项目类型集成
- Grails 项目支持
- 调试
- 重构
JavaScript / Ajax
P1:
- JavaScript 编辑器
- <TBD 特性>
- Ajax 组件
- <TBD 特性>
- 库管理器
- 新的库封装格式,用于绑定 JavaScript 库和小部件、与现有 Library Manager 集成
- JavaScript 客户机调试器
- 支持的浏览器
- Firefox
- Internet Explorer
- 添加和删除 JavaScript 源代码中设置的断点
- 查看和导航 JavaScript 的调用栈
- 查看和导航源工件
- 管理调试器会话
- 查看局部变量
- 设置和删除监视点
- 在 IDE 中查看浏览器 DOM
- 支持的浏览器
- 查看 DOM 元素的 CSS 样式
- 监控 AJAX 的交互行为
- 针对 J2EE、Ruby、PHP 和 Groovy 项目的集成:
- 调试客户机会话:在 NetBeans 中运行项目并启动 J avaScript 调试会话,然后附加到客户端应用程序正在运行的默认桌面浏览器中
- 源映射:在项目中将 URI 标识的客户端应用程序(DOM 浏览器)与相应的源文件关联起来
核心/平台
项目
P1:
- 支持自定义项目结构 (TBD)
P2:
- Ant 项目
- 合并 “from Scratch” 与 “with Existing Sources” 项目向导
- 当新版本可用时,改版的 API 共享库会包括 UI 升级共享库
- 利用 Maven 系统信息库和索引解决第三方库方面的问题。使用 Maven 远程系统信息库创建 NetBeans 库定义
- 对项目导入的改进和更准确的自由型态的自动配置是基于对所构建脚本的分析之上的 (AutomaticProjects)
- 评估本地处理外部项目的可行性:(NativeEclipseProjects)
- Maven 项目
- 远程系统信息库浏览,查询,管理,引导版本控制检测
- 平台
- 资源管理器+节点的性能提升 (FitnessViaLaziness)
- 可视化库的更改 (VisualLibrary)
- 树型表视图的新设计采用了 David Strupl 的 contrib/ttv 模块?
- 完成中止的高级选项 -- 文件识别面板
- 自动升级
- 在插件管理的安装向导 UI 中评估参照 CA 的第三方插件标识认证与相应修改的可行性
- 带箭头气球提示工具的轻微改变
- 窗口系统
- 在 Nimbus LF 上稳定运行
- 为窗口系统现有的可视化方面的配置添加新的 API - 启用/禁用DnD,浮动窗口,JFrames x jDialogs,选项卡的布局,滑动窗口开启/关闭,或者仅仅在一些方面,本地 x 交叉平台 L&F,固定窗口
- 其他的
- 快速搜索 - 主菜单、操作、模块、选项、文件、项目中的文本搜索。同 Vista OS 菜单类似,同竞争者的快速存取特征类似。(#134398 ),也请参阅 UI 和 Func 的总体说明
- 解释提示框中的图标徽章(#123469) - 新用户对图标徽章所标示的毫无头绪
- 集成终端仿真程序作为核心模块提供改进的终端处理(针对 IRB,Rails Console 等)。包含终端仿真程序代码在子命令解释程序中处理 readline-like 行为,处理彩色输出等。
Java EE/Web
P2:
- 针对 web 项目和 Java SE 项目的 Eclipse 项目导入
- Java Web 应用程序在背景中的调换
- HTML/CSS/JSP 编辑中的质量改进和底层结构改变
框架
P2:
- Spring 框架
- 编辑器提示
- 导航
- 通过其他 beans 找到 beans 的使用方法
- 重构
- Hibername 框架
- HQL/SQL 编辑器/译码器
- 逆向项目 - POJOs 的代码生成和映像文件
- 重构 Hibernate 映像文件
- Hibernate Annotation 支持
- JPA
- DB Schema 的改进 -> 实体生成
- Java 面向服务器框架
- CRUD 的生成程序增强
- 生成默认样式表
- 对所生成的 Ajax-enabled 应用程序的选择
- Post-gen 数据库修正
- Facelets 支持(通过测试版UC发布)
- 重构改进
- 查找用法改进
- 代码填写改进
- 超链接支持
- CRUD 的生成程序增强
GlassFish v3 "Lite"
除了当前对 GlassFish v2 的支持之外:
P2:
- 主配置中的 GlassFish v3 插件
- 绑定
- 在 Web/JavaEE & Full 配置中绑定GlassFish v3
- 在 NetBeans Ruby 配置中绑定GlassFish v3 Ruby 运行库
Java 调试程序
P2:
- UI 调试器重新设计第一阶段:调试器重新设计的长期努力是从新的调试视图(描绘了调试器“控制中心”并统一了会话时间、线程和调用栈)和 改写的多线程支持 (基于接受到的大量反馈)开始的。焦点只是放在 java 调试器,应对其他使用 API 核心的调试器影响最小(针对 6.5 版)。
- 平面任务 - IZ 133948
- 性能/架构的修复 - 留意全球环境的变化 - IZ 133682
- 每个调试器都能详细说明其视图的设置 — IZ 122740
GUI Builder
P2:
- 对 Nimbus 外观感觉的支持(Java 6u10 中的新 L&F)
- 通过调整和修改使其能应用于设计预览
- 易于选择应用程序的外观感觉(基于 Swing App Framework 应用程序的项目属性)
P3:
- 不要生成完全限定名 - IZ 7781,顶部决定的 RFE
- 对复制重构的支持(Swing App Framework) - IZ 130099
- 删除高级选项,移到新的选项 UI 中 - IZ 111785
- 集成 SwingX 库
- 在调色板中可用的可选组件
- 作为升级中心的一个模块
- 可用性的改进
- JTree 的模式定制器 — IZ 75446
- ...
NetBeans 分析程序
P2:
- 为 Maven 项目添加支持 IZ 79327
- 各种HeapWalker 的改进
P3:
- 为配置 JVMTI-capable 移动设备添加支持(与 Mobility 团队的合作)
- 允许创建来自 Attach Wizard 的远程压缩包 - IZ 136907
- Attach Wizard 的可用性改进 - IZ 79327
- 通过功能性合计 CPU 时间 - IZ 80495
VCS
P2:
- 文件系统集成的性能和兼容性的修复
- Mercurial 支持 - 修复并更多地要求可用性和 perf. 的改进;没有新的特性
- 多版本支持 - 客户机适配器升级采用 Java HL
P3:
- Diff 的改进 - TBD列表
- 历史记录搜索的改进 - 针对Hg 和 SVN
- ClearCase 的支持 - 在 NetBeans 中通过改进 UI 帮助使用者学会如何使用 ClearCase
数据库/MySQL
P1:
- 改进 Developer Lifecycle
- PHP 查询的代码片段
- w/ SQL Editor 的集成
- 数据库连接对话框(无 JDBC 特性)
- SQL 编辑/执行/结果
- SQL 历史
- 代码填写
- API 元数据模式
- 编缉查询结果中的数据
P2:
- 显示返回记录或者压缩行的编号
- SQL 的代码片段
- 基于列的排序能力
- 设置页面大小的能力
- 对 Sakila 数据库的支持
- 把SQL Workbench 和 NB 绑定
- 从 NB 中调用 SQL Workbench
- 显示 MySQL 的执行计划
- Matchbox — 一种根据您所输入的内容过滤结果的输入框
- 对序列或自动增量的支持
- 对DB Explorer API 的改进
- 表信息的快速查看
- 列信息的快速查看
Java / 编辑器技术
P1:
- 保存时编译, aka 后台编译
- 语言的底层结构
- 一般的语言框架(也称作 GSF)API
- API 的新解析
P2:
- Javadoc 提示批量处理
- 在编辑器中改进嵌入式支持
- 交叉多重结合嵌入式部分提供统一的 LexerInput
- 为嵌入式语言使用已注册的高亮显示层
安装/封装
P1:
- Ubuntu 的本地化封装
- OpenSolaris IPS 的本地化封装
P2:
- 从构建的进程中下载离线页面
- Windows x64 系统上 64-bit Java 的自动检测
- 安装程序引导 w/ JRE
- 针对第三方 distros 的安装程序支持
Web 服务器
P1:
-
- PHP Web 服务器
- 基于 Web 服务器的 REST
- TBD
- SaaS 支持
- 对除 Java 之外的其他语言的支持
- PHP
- JavaScript
- 对除 Java 之外的其他语言的支持
P2:
- 基于 Web 服务器的 SOAP
- 评估和稳定 Web 服务器 API
- 为 Web 服务器扩展 J2EE 服务器 API
- Web 服务器
- 一部分模块依赖于 EE ,而另外的则不依赖于 EE
- SOAPUI 集成点
- WS-I Validator
- 在 SOAP UI 中使用 XML 编辑器
- 实现新的 wsimport 特性
- JCAPS 的要求
- BPEL 项目中的客户机支持
- 简化的客户机创建
- 在项目定制器 (P2) 中配置 Axis
- 当 WSDL 或 XML Schema 出现冲突 或问题(P2)时的专用化支持
- Metro RFE
- 使用 Metro 组中的公共 API 替换内部 Metro API 的用法 — WSDL to Java、Java to WSDL
- Web Service Designer
- WSDL 预览选项卡
- 评估和稳定 Web 服务器 API
- 基于 Web 服务器的 REST
-
- 添加 Spring 支持
- 查询支持 — 在 URL 允许指定一个查询条件来约束返回的查询结果数据
- 自动化支持 — 生成主键
- 高速缓冲支持 — 允许 像Web 浏览器这种客户机查询服务以决定是否需要重取数据。可以在 jsr-311 API 中使用预处理特性来完成上述任务。
- 重 新访问生成的 PersistenceService—改进生成的 PersistenceService 以使其可以适应不同的环境并且可以支持 JTA 。另外,也需要计算出如何做才能使其作为管理服务器,这样才能在 EntityManager 和 UserTransaction 上使用代码。
- SaaS 支持
- 为新的 YouTube API 添加支持
XML
P1:
- 改进的 JSON 支持
P2:
- Lexer 迁移
- 实例的模式生成
- 重写 XML 导航器
- 模式感知代码完成的改进
SOA
P2:
- 新的 XSLT 编辑器
- 源代码自动完成
- Transformap 的可视化设计
- 资源引用和重用的统一
UML
完成 UML 绘图区控件的替换
P1:
- 活动、类、序列、状态和用例图
- 设计中心
- Web 报告
- 6.1 图导入
- 图性能
P2:
- VOC
- 对 JSR 223 的 UML 代码支持
C/C++
P2+:
- 代码完成准确性改进
- 零错误:没有错误的选择
- "old" 样式(模板的最少使用 ) 90+ %
- "new" 样式模板强化项目85+ %
P2:
- 远程开发客户机/服务器模型的 LAN 环境
- Solaris(x86 或 Sparc)服务器的 Windows 客户机
- Solaris(x86 或 Sparc)服务器的Solaris (x86) 客户机
- 个人工具链的集成模块
- 编译器选项
- 合作伙伴参与
- Windows 工具链的“绑定”
- 封装项目
- SVR4 格式
- IPS (OpenSolaris) 格式
- RPM 格式
- Debian 格式
- gdb-lite 调试器的改进
- 调用图形(提供预览功能)
- 每个用户操作只有一个表视图的扩展
- 通过选项卡控制访问多个当前表格视图
- OpenSolaris Explorer(在 CommunityOne 2008 中提供预览版本的演示)
- NetBeans 6.5 的兼容性改变
- 升级 性能提升 部分中的所有 DataLoaders 更改(请参阅 Jarda 的FitnessAgainstForgetfulness 说明)
- 在 Advanced 选项中删除一些 Editor Setting 条目
- 升级代码完成的颜色主题— 使其与 NetBeans 颜色兼容
P3:
- 发布项目
- Solaris IPS 系统信息库
- Linux Debian 系统信息库
- 使用准确性的地方
- 零错误
- 85+% 准确度
- 语法错误高亮显示 (提供预览技术)
- 使用 ANTLR 生成的语法分析器 + C/C++ 语法作为语言模式
依赖关系:
- Solaris IPS 软件包格式的最终确定
- (针对个人工具链)合作伙伴的参与
Mobility
P2:
- UEI 2.0 设计和实现 (CDC & MIDP 3.0)
- 对 WTK 3.0 的支持
- 对 Acadia (Java FX Mobile) 的支持
- 对 Blueray/IPTV(基于 WTK 3.0)的入口支持
- 对自定义组件的 API 支持
- Rich UI 组件的新设置
- 基于数据绑定库的自定义组件
- 基于源代码而不是编译二进制代码 (CR, Sprint) 的自定义组件
- 编辑器改进,权限提示 (CR, Sprint)
- JSR 271 实现 — Mobile Information Device Profile 3.0(移动信息设备配置文件 3.0)
利用率跟踪
P2:
- 在 IDE 中记录用户访问具体操作和特征
- 汇总、预览和传输统计分析结果匿名使用数据的机制
- 用户必须明确指定 'opt-in',以启用利用率跟踪触发器和报表
性能提升
P1:
P2:
- 重写 DataLoader 的注册和使用文件 — 提高文件识别速度,以 mime 类型为基础
- 针对企业的可扩展调试 — 避免多数调试器类型(我们大约有 10 种调试器)使用自己的侦听程序监视 IDE 中的一切变更,实现有效的注册和侦听。
- 修复版本文件系统的性能 — 使得改版文件系统的 UI 性能比得上本地文件系统(UI 响应最多延迟 30%)
- 在所有项目打开后开始扫描项目 classpath — 项目将快速打开,很快达到指定 classpath (例如跳转到到 Type 对话框),避免在项目打开时修改classpath 所生成的大量事件,更简单更好地定义打开项目的进程,减少潜在工作量。
- 导航工作和更新响应扫描 - 至少在编辑器中跳转到 Type 对话框和 Ctrl+单击选项。
- 保存时的编译 — 每次保存一个文件时 java 的编译文件都会增加;应该加速项目或文件的运行时间(例如测试变化)参阅上述的 Java & 编辑器技术
- 在启动时加载各类白名单 — 通过新的测试、补充黑名单(已实现)获取启动过程中的控制权;全面监控变更
- 确保关闭的项目 (P2) 和关闭的文件视图 (P3) 不会泄露,这是提交验证的一部分。
依赖关系
- 应用服务器:GlassFish 插件
- SOA/JBI:在 NB65 中建立 SOA 工具的重要部分