在线IDE开发入门之从零实现一个在线代码编辑器

前言

3年前在AWS re:Invent 大会上AWS 宣布推出 Cloud9, 用于在云端编写、运行和调试代码,它可以直接运行在浏览器中,也就是传说中的 Web IDE。3年后的今天随着国内云计算的发展, 各大云计算服务厂商都在部署自己的WEB IDE, 而且已经有非常成熟的落地方案, 对于这一块的技术原理和实现, 也非常值得我们去学习和剖析.

目前比较成熟的WEB IDE方案有CodeSandbox, Cloud Studio等, 接下来笔者将实现一个简单的WEB IDE, 来带大家了解其原理和实现过程.

正文

笔者接下来会介绍WEB IDE的实现原理和应用场景, 并介绍如何在H5-Dooring中使用它.

1. web编辑器实现原理

我们先来看看一个成熟WEB IDE的结构:

抽象出来可以分为3个核心部分:

  • 文件导航区

  • 代码编辑区

  • 预览容器

如下图所示:

在把模块抽象出来之后我们来思考具体的功能实现. 对于文件导航区我们可以很容易的使用react/vue的ui库来实现, 对于文件保存, 目录树生成等我们可以使用nodejs + DB(如mysql,Redis)来实现. 代码编辑区我们可以用第三方成熟的库比如react-codemirror2 或者react-monaco-editor来做. 由于预览容器我们不清楚预览类型(如小程序, web页面还是app), 所以这里我们暂时考虑web页面容器, 也就是我们比较熟悉的iframe. 那么我们可以画出如下技术实现图:

实际上WEB IED实现过程远比上面的复杂, 我们这里只做简单的抽象. 我们接下来梳理一下在线代码编辑器的需求:

  • 支持在线编写前端代码(html,javascript,css)

  • 支持实时预览

  • 支持代码在线下载

1.1 技术选型

在了解了以上实现方式之后, 我们开始来搭建环境并进行代码开发. 以下列举我们的技术选型:

  • koa 基于nodejs的服务端框架

  • koa-static 基于koa的静态资源中间件

  • koa-body 解析请求体的中间件

  • koa2-cors 处理跨域的中间件

  • koa-logge

  • 1
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
  屏蔽数据库间的差异,以统一的界面和操作方式来对数据进行处理,将程序员或数据管理员从繁琐的操作模式中解脱出来,使其更加专注的进行Sql语句的编写。   将查询分析器和企业管理器功能合二为一,并融入众多实用功能,并完美支持 sqlserver、oracle、mysql、access。是您编写sql语句和数据分析的绝佳帮手。   功能列表:   1、代码高亮:根据操作数据库的不同区分相应关键字,并高亮显示   2、自动完成:输入不同的表名等信息,将自动提示相关的字段信息等。   3、智能提示:输入相应关键字将出现类似VS中一样的说明提示。   4、跨库操作:可同时跨多个数据库间操作,互不影响。随时切换,随时运行。   5、随意运行:运行选择的代码、运行多个Sql操作代码。如果运行多个Select语句则显示多个结果集,用来对比查看。(快捷键F5)   6、数据库树中查找对象。   7、在Sql语句编辑器中快速查找功能。   8、查看数据库属*   9、查看表结构   10、自动生成Sql语句模板   11、删除表、视图等   12、查看数据库属*,并快速定到至物理文件。   13、生成脚本信息功能   14、结果集导出功能。   15、在结构集中查找   16、删除指定的行(快捷键 ‘delete’)   17、修改制定的数据   18、添加新数据   19、复制选择内容(快捷键‘ctrl+C’)   20、将外部数据导入到结果集中(支持txt:以 '|'或tab符号为分割符 和execl: 指定Sheet页名称 和 默认Sheet页 )   21、支持将导入的数据更新至数据库。   22、编辑操作时自动错提示功能(如:自动递增字段自动屏蔽编辑功能。必填字段没有填写内   容则提示,数据类型不正确自动提示等。。。)   23、自动标识主键(主键字段标识为-*-字段名-*-)   24、冻结指定行、列功能。使查看操作更加方便   25、数据集更改后,在提交前可选查看所有更改的部分数据。并用颜**分。   26、自定义我的收藏功能。   27、详细数据单窗体查看功能(支持图片字段)   28、*在没有安装SqlServer 客户端及任何组件的情况下仍然可以连接至SqlServer*   29、*判断Oracle的常见错误,并尝试更改或给出提示*   30、增加历史记录功能。   31、增加自动保存用户状态功能。再次打开软件将会保留上次已连接的数据库信息。
好的,让我来回答你的问题。 首先,搭建 AI 开发环境需要以下几个步骤: 1. 安装 Python:Python 是目前应用最广泛的 AI 开发语言之一,可以从官网下载最新版本的 Python。 2. 安装 Anaconda:Anaconda 是一个集成了常用科学计算库和工具的 Python 发行版,可以方便地管理 Python 环境和包依赖关系。 3. 创建虚拟环境:在 Anaconda 中,可以使用 conda 命令创建一个虚拟环境,用于隔离不同项目的依赖关系。 4. 安装常用的 AI 库:在虚拟环境中使用 pip 命令安装常用的 AI 库,例如 TensorFlow、Keras、PyTorch、Scikit-learn 等。 5. 安装开发工具:选择一个自己熟悉的 IDE编辑器,例如 PyCharm、Jupyter Notebook、Spyder 等,方便编写和调试代码。 接下来,写一个简单的 AI 应用,可以按照以下步骤: 1. 确定应用场景:AI 应用可以应用于很多领域,例如自然语言处理、图像识别、推荐系统等,需要先确定应用场景。 2. 收集和准备数据:AI 应用需要大量的数据作为输入,需要收集和准备数据集。 3. 选择模型和训练算法:根据应用场景选择合适的模型和训练算法,并使用准备好的数据集进行模型训练。 4. 验证和调整模型:使用测试数据集验证模型的性能,并根据测试结果调整模型参数。 5. 部署和运行应用:将训练好的模型部署到应用中,并提供用户界面或 API 接口,让用户可以使用 AI 应用。 希望这些步骤能够帮助你入门 AI 开发,并写出自己的第一个 AI 应用。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值