更新文档

This commit is contained in:
许轲 2023-10-15 11:46:44 +08:00
parent 118a4e53b3
commit 4ea59ba690
10 changed files with 49 additions and 37 deletions

View File

@ -16,7 +16,6 @@
[JCNC项目开发流程](../JCNC项目开发流程/JCNC项目开发流程.md)
[JNotepad文档](https://gitee.com/jcnc-org/JNotepad/blob/release-v1.1.13/README.md)
## 欢迎补充和修复文档!

View File

@ -3,42 +3,52 @@
## 绪论
### 项目背景和意义
在现代软件开发领域集成开发环境IDE扮演着至关重要的角色。随着软件开发的不断发展和复杂化开发者需要一个强大的工具来帮助他们提高生产力、降低开发成本、减少错误并在项目开发周期内快速迭代。IDEology 作为一款综合性集成开发环境,旨在满足这些需求。
在现代软件开发领域集成开发环境IDE扮演着至关重要的角色。随着软件开发的不断发展和复杂化开发者需要一个强大的工具来帮助他们提高生产力、降低开发成本、减少错误并在项目开发周期内快速迭代。IDEology
作为一款综合性集成开发环境,旨在满足这些需求。
### 国际研究现状
国际上有许多集成开发环境IDE如 Visual Studio、IntelliJ IDEA、Visual Studio Code、Eclipse、PyCharm、NetBeans 等。这些软件可以满足不同领域和项目的需求。
国际上有许多集成开发环境IDE如 Visual Studio、IntelliJ IDEA、Visual Studio Code、Eclipse、PyCharm、NetBeans
等。这些软件可以满足不同领域和项目的需求。
### 传统项目的不足
传统项目使用的技术比较陈旧和臃肿以及性能不足,比如使用 Java Swing 框架作为 UI 开发的 IntelliJ IDEA、使用 OSGi (Open Service Gateway Initiative) 框架为基础核心的 Eclipse、拥有孱弱的性能的 Visual Studio Code、无法跨平台的 Visual Studio。
传统项目使用的技术比较陈旧和臃肿以及性能不足,比如使用 Java Swing 框架作为 UI 开发的 IntelliJ IDEA、使用 OSGi (Open
Service Gateway Initiative) 框架为基础核心的 Eclipse、拥有孱弱的性能的 Visual Studio Code、无法跨平台的 Visual Studio。
### 本项目的研究内容和目标
本项目将使用微内核架构来开发一个全新的 IDE,解决传统项目的不足,并且对JavaFX的开发提供额外的支持。
## 项目计划
### v0.0.1
完善设计文档、开发文档和软件编写并且打包成功。
### v0.0.2
移植老项目 [JNotepad](https://gitee.com/jcnc-org/JNotepad) 的大部分功能,使用模块化重构项目。
## 架构设计
IDEology 采用微内核架构,主要分为[用户模块](#用户模块)
、[核心模块](#核心模块)、[IMC](#imc)和[微内核](#微内核)。
![IDEology 架构图](img/IDEology架构图.svg)
### 用户模块
主要包含一些非必要的模块,包括 IDE 模块(IDE模块里面也包含很多模块,如代码编辑器模块等),内存管理模块,文件管理模块,网络模块,资源文件模块,插件模块,内存管理模块等。
主要包含一些非必要的模块,包括 IDE 模块(IDE模块里面也包含很多模块,如代码编辑器模块等)
,内存管理模块,文件管理模块,网络模块,资源文件模块,插件模块,内存管理模块等。
这个设计旨在实现IDE功能、有效管理内存资源、处理文件和网络通信、管理资源文件以及支持插件扩展。
这些模块是上层用户模块不是底层核心模块所以一个 IDEology 程序可以不包含这些模块而运行。
#### IDE模块
负责提供应用程序的IDE功能实现。
- 用户界面:提供可定制的用户界面,包括主题、窗口布局和快捷键设置等。
@ -65,6 +75,7 @@ IDEology 采用微内核架构,主要分为[用户模块](#用户模块)
- 构建和部署:集成构建工具,方便用户构建和部署应用程序。
#### 内存管理模块
负责管理应用程序的内存资源。
- 内存分配和释放: 管理应用程序的内存分配和释放,确保有效利用内存资源,避免内存泄漏和溢出。
@ -76,6 +87,7 @@ IDEology 采用微内核架构,主要分为[用户模块](#用户模块)
- 内存监控: 提供内存监控工具,以帮助开发者识别和解决内存相关问题。
#### 文件管理模块
负责管理项目中的文件和文件夹。
- 文件浏览: 提供文件浏览器,允许用户轻松访问和浏览项目文件。
@ -87,6 +99,7 @@ IDEology 采用微内核架构,主要分为[用户模块](#用户模块)
- 版本控制整合: 集成版本控制系统,以便开发者可以轻松管理和跟踪文件版本。
#### 网络管理模块
负责处理与网络通信相关的功能。
- 网络连接: 提供网络连接管理,包括建立、维护和断开网络连接。
@ -98,6 +111,7 @@ IDEology 采用微内核架构,主要分为[用户模块](#用户模块)
- 网络安全: 考虑网络安全问题,如加密通信、身份验证和防止网络攻击。
#### 资源文件管理模块
负责管理应用程序的资源文件,如图像、音频、文本文件等。
- 资源加载: 提供资源加载和管理功能,以确保应用程序能够访问所需的资源。
@ -108,8 +122,8 @@ IDEology 采用微内核架构,主要分为[用户模块](#用户模块)
- 资源编辑: 考虑资源文件的编辑和导出功能,以支持开发者对资源进行定制和修改。
#### 插件模块
负责管理应用程序的插件功能如提供API、插件市场等。
- 插件 API提供丰富的插件 API使插件开发者可以轻松地与IDE的核心功能进行交互。这包括对编辑器、项目管理、调试器、文件管理等的访问。
@ -123,14 +137,14 @@ IDEology 采用微内核架构,主要分为[用户模块](#用户模块)
- 插件市场:提供一个插件市场,使用户可以轻松查找、安装和更新插件。提供用户评价和反馈的功能。
### 核心模块
主要包含一些必要的模块,例如通用组件模块(包含UI组件模块和发工具模块)。
核心模块是底层核心模块所以一个 IDEology 程序必须包含这个模块才能运行。
#### 通用组件模块
包括UI组件模块如 JavaFX开发工具模块等重要功能模块。
- UI组件模块提供了与用户界面相关的功能例如窗口、按钮、文本框等封装了一些组件
@ -138,49 +152,54 @@ IDEology 采用微内核架构,主要分为[用户模块](#用户模块)
- 开发工具模块:提供开发时常用的工具。
### IMC
Inter Module Communication (IMC) 负责提供标准接口和通信协议,用于模块之间的信息传递和功能调用,
- IMC模块是标准化的接口和通信协议模块可以通过IMC调用来进行信息传递和功能调用如消息队列、共享对象、信号量等
### 微内核
负责模块管理等功能,是整个项目的核心,除了内核以上设计都是运行在内核上的模块。
- 模块管理:能够发现、加载、安装、卸载、更新和管理模块。
## 项目设计优势
### 技术可行性
- JavaFX 提供了现代、交互式和富客户端用户界面的功能,包括多媒体支持和丰富的用户界面组件。它非常适合构建一个功能丰富的 IDE。
### 文档和支持
- 提供详细的文档和在线帮助资源。
- 提供用户支持,包括论坛、社交媒体和电子邮件支持。
### 成本可行性
- JavaFX 是一个免费的开源工具包不会增加额外的许可费用。相对于商业GUI工具包成本较低。
### 社区和生态系统
- Java 拥有一个活跃的用户社区和丰富的生态系统。有大量教程、文档和第三方库可用,以帮助项目解决问题和支持开发。
### 未来可维护性
- JavaFX 仍然得到支持和更新,满足 IDE 项目的长期可维护性要求。
### 性能和稳定性
- JavaFX 已在项目 [JNotepad](https://gitee.com/jcnc-org/JNotepad) 证明了其性能和稳定性。它可以提供足够的性能和稳定性以满足IDE 项目的需求。
- JavaFX 已在项目 [JNotepad](https://gitee.com/jcnc-org/JNotepad) 证明了其性能和稳定性。它可以提供足够的性能和稳定性以满足IDE
项目的需求。
### 跨平台支持
- JavaFX 提供了跨平台支持,可以在多个操作系统上运行,包括 Windows、macOS、Linux 和嵌入式系统。这与IDE 的跨平台目标一致。
### 微内核架构设计
- 模块化:微内核架构将系统分为相对独立的模块,每个模块负责一个特定的核心功能。这使得系统更容易理解、维护和扩展,因为不同的模块可以独立开发和测试。
@ -204,36 +223,33 @@ Inter Module Communication (IMC) 负责提供标准接口和通信协议,用
- 可测试性:模块化的微内核架构更容易进行单元测试,因为每个服务可以独立测试。这有助于及早发现和解决问题。
## 详细设计
## 软件设计
### 模块设计
IDEology 的内核之上一切皆模块,开发人员需要设计自己的模块并且在内核进行注册。
模块设计指南:
- 清单文件:规定插件的版本,简介,作者,版本等。
- 拓展节点:模块通过设计自己的暴露点,可以让其他模块加载到自己的拓展节点上。
- 逻辑代码区域模块可以使用 IDEology SDK或者 JDK 来别写模块工作代码。
## 软件测试
[点击查看](软件测试.md)
### 内核设计
IDEology 的内核采用简单设计,仅仅负责模块的发现,加载,卸载等功能。
详情见[开发文档]()
## 软件部署
[点击查看](软件部署.md)
## 维护和支持
[点击查看](维护和支持.md)
## 文档和帮助
[点击查看](文档和帮助.md)
## 反馈和改进
[点击查看](反馈和改进.md)
## 沟通和合作
[点击查看](沟通和合作.md)

View File

@ -1 +0,0 @@
# 反馈和改进

View File

@ -1 +0,0 @@
# 文档和帮助

View File

@ -1 +0,0 @@
# 沟通和合作

View File

@ -1 +0,0 @@
# 维护和支持

View File

@ -1 +0,0 @@
# 软件测试

View File

@ -1 +0,0 @@
# 软件设计

View File

@ -1 +0,0 @@
# 软件部署

View File

@ -12,4 +12,8 @@
## 基础知识
- [JavaFX基础知识](../../JavaFX基础知识/JavaFX基础知识.md)
- [JavaFX基础知识](../../JavaFX基础知识/JavaFX基础知识.md)
## JNotepad 文档
- [JNotepad文档](https://gitee.com/jcnc-org/JNotepad)