写点什么

基于 Web 的 IDE 会成为主流?

  • 2009-02-21
  • 本文字数:2086 字

    阅读完需:约 7 分钟

上周 Mozilla 发布了 Bespin ,这是一个基于 web 的编写代码的框架,而就在几天以后,Boris Bokowski 和 Simon Kaegi 使用 Eclipse 无显示插件实现了一个基于Eclipse 的Bespin 服务器。伴随着EclipseCon 上基于web 的Eclipse 工作台的演示,以及像 Heroku 这种既是基于 web 的 IDE 又是 RoR 应用托管环境的出现,似乎基于 web 的 IDE 很快就会成为主流了。

关于 Bespin ,Mozilla 的目标是能够推出一种开放的、可扩展的、基于 web 的用来编写代码的框架,能够提高开发者的开发效率,带来更加炫目的用户体验,并促进开放标准的广泛使用:

在与成百上千的开发者讨论的基础上,以及根据我们自己对于开发开放性网络的经验,我们得出了一整套提议的特性,以及一些优先级较高的目标:

  • 方便使用——编辑器的用户体验不能是咄咄逼人的,而应该带来简单直接的代码感受。
  • 实时协作——应该能很容易地与同事实时分享编码过程,并和一个甚至多个伙伴协作编码。
  • 集成命令行——像 vi 和 Emacs 这样的工具已经证明了编辑器中集成命令行的威力;Bespin 也需要一个命令行。
  • 可扩展并自托管——Bespin 的接口和功能应该高度可扩展,并且可以让用户很容易地通过 Ubiquity ——像命令或者插件 API 进行访问。
  • 速度极快——如果编辑器不能保证运行流畅,编辑大尺寸文件仍有很好的反应速度,那它只是个玩具。
  • 随处可访问——在任何地方,使用任何设备,通过任何现代标准兼容的浏览器,代码编辑器都应该运行自如。

Bespin 的目前版本是 0.1,它还是个最初的原型,包含对一些基本编辑特性的支持,比如语法高亮、大文件处理、撤销 / 重做、浏览器中预览文件以及导入导出工程等等。

如果想要得到更多 Bespin 的信息,你可以试试这个 demo ,或者查看源代码

就在 Bespin 发布的几天以后,Boris Bokowski 和 Simon Kaegi 使用 Eclipse 组件技术实现了一个基于 Eclipse 的 Bespin 服务器

我们看到了 Bespin,问自己,如果 Eclipse 也能在这个领域有所作为岂不更棒?如果我们能使用已经存在的 Eclipse 插件实现一个 Bespin 服务器岂不更酷?

然后,就在两天的开发完成后,基于 Eclipse 的 Bespin 服务器就诞生了!

Simon Kaegi 和我把自己锁在了一个屋子里,就这样开发出来了。现在,我们宣布开发结束,并把代码作为 e4 项目的一部分分享给任何感兴趣的人们。如果你想试试,请阅读这个 wiki 页

Eclipse IDE 你是知道的,是个基于 OSGi 的应用程序,完全由组件构成(也叫做插件或者 bundle)。这些组件中的大部分可以无显示地(headless)在服务器上运行,比如底层的资源模型、增量 Java 编译器等等。使用无显示组件,可以很容易地实现 Bespin 客户端 - 服务器 API。就跟 Mozilla 的 Bespin 服务器一样,我们的服务器支持文件和文件夹的浏览,以及编辑文件。除了这些,我们还实现了显示编译错误和警告,并能使用匿名 CVS 从 CVS 服务器上检出项目。

这个项目是 e4 社区项目中正在进行的一个工作,主要是为了构建下一代的Eclipse 平台,并提供一份实验性的Bespin客户端- 服务器API 的实现。

类似的项目还有 Heroku ,它是一个基于 web 的 IDE,并为 RoR 应用提供托管环境,它有如下特性

  • 即时部署
  • 在线编辑
  • 支持 Git
  • 容易协作
  • 完整支持堆栈
  • 弹性性能
  • Rails 控制台
  • 命令行协作
  • 其它

看来 Heroku 给 Eclipse 提交者 Elias Volanakis 留下了很深印象,他很想知道 Java 领域中是否有类似的东西

既然应用程序不得不运行在网络上,而且源码就是最后执行的代码(Ruby 是解释性的),那为什么不把 IDE 也放到网上呢?拥有了这些工具,在线的代码和运行时环境会让一些事情变得更加容易:

  • 立刻开始工作:可以从任何地点即时访问到源代码。不需要搭建 IDE。不需要搭建本地的 RoR 环境。不需要检出什么代码。你的数据就在那呢。
  • 即时协作:创建一个开发者帐号。把登录页面的链接发给开发人员。马上开始协作。(我希望它以后能支持协作编辑)。
  • 应用部署非常简单。不再需要寻找并配置一个合适的服务器。
  • “托管一切”会带来一种“源码和托管”的混合物。想象一下,你可以找到一个很棒的 web 应用,只需要点击一下“部署并运行在我的帐户上”,就可以对它进行测试了。

这看起来对 Ruby 尤其合适,我正打算着测试一下

那么,它如何应用于 Java 的 web 应用呢?

这个领域中另外一个有趣的项目是 codepad,它是个在线编译器 / 解释器,也是个简单的协作工具

codepad.org 是个在线编译器 / 解释器,也是个简单的协作工具。它是可以为你执行代码的 pastebin 。你粘贴一段代码,codepad 运行它,然后返回给你一个简短的你可以用来分享的 URL。你可以把这个 URL 贴在聊天工具或者邮件中,以求获得帮助或者给别人演示。或者仅仅是因为你没有方便的解释器,而需要执行一下你的代码。它在许多手机上运行得也很好。

还有许多其他的具有不同成熟度和特性的基于 Web 的 IDE:

看到这么多崭新的项目,你怎么想?我们会很快看到基于 web 的 IDE 成为标准吗?

查看英文原文: Web-based IDEs to become mainstream

2009-02-21 06:335947
用户头像

发布了 127 篇内容, 共 43.3 次阅读, 收获喜欢 5 次。

关注

评论

发布
暂无评论
发现更多内容

清源(CleanSource) SCA推出容器镜像扫描功能

安势信息

容器 安全 SCA 容器镜像 容器镜像Docker

面向商业市场,华为式“抢滩登陆”

脑极体

复杂查询so easy ,GaussDB(for Cassandra)推Lucene引擎全新解决方案

华为云开发者联盟

数据库 后端

2022 开放原子全球开源峰会 OpenAnolis 分论坛携干货来袭!

kk-OSC

centos 开源 龙蜥操作系统 开放原子全球开源峰会 OpenAnolis

共建开源人才生态,2022 开放原子全球开源峰会聚焦 “产学研用”

kk-OSC

开源 数字化 产学研用 开放原子全球开源峰会

构建工业软件开源工具链,2022 开放原子全球开源峰会开源工业软件论坛即将开幕

kk-OSC

开源 开放原子全球开源峰会 开源工业软件

TDengine 如何进行数据建模?

TDengine

数据库 tdengine 开源

升哲科技入选《中国企业家》2022年度“新锐100”企业

SENSORO

wallys/DR8072V01/IPQ8072A networking SBC supports dual 10GbE, WiFi 6

wallys-wifi6

阿里云架构师唐风:生命科学产业现状及发展趋势分享

阿里云弹性计算

高性能计算 生命科学 AI制药

让智慧物联赋能高效生产, AIRIOT助力数字化油田转型升级

AIRIOT

低代码 物联网 低代码,项目开发

中文拼写纠错:怎样改善模型对 multi-typo 的纠正效果?

澜舟孟子开源社区

人工智能 自然语言处理 nlp 文本生成 文本纠错

东方甄选品控翻车,如何通过智能协同的供应链建设建开启可持续商业模式?

数商云

数字化转型 供应链 企业数字化

GQM 概述:构建研发效能度量体系的根本方法

思码逸研发效能

研发效能 创新方法 效能度量

小白 0-1 学习 app 开发,从配置到 helloword

YonBuilder低代码开发平台

跨平台 安卓 低代码开发 多端开发

4种Kafka网络中断和网络分区场景分析

华为云开发者联盟

后端 开发 网络 网络中断

2种数据库覆盖式数据导入方法介绍

华为云开发者联盟

数据库 大数据 后端

工作中养成的工作习惯与给老板的汇报

松子(李博源)

大数据 个人成长 高效 高效率 工作总结

企业自己如何快速开发一个简单实用的CRM客户管理系统?

优秀

CRM系统

SpringBootAdmin 2.5.5 发布,支持在线重启服务

冉然学Java

编程 springboot 构架 Java’

oa办公系统都有哪家?

优秀

OA oa办公系统

推理实践丨如何使用MindStudio进行Pytorch模型离线推理

华为云开发者联盟

人工智能

Golang生成OpenAPI接口文档

百家饭隐私计算平台创业者

Go OpenAPI

编写Dockerfile,让你的程序一键部署

技术小生

Dockerfile 7月月更

让预训练语言模型读懂数字:超对称技术发布 10 亿参数 BigBang Transformer [乾元]金融大规模预训练语言模型

亚马逊云科技 (Amazon Web Services)

架构 数据 模型

RadonDB MySQL Kubernetes 2.2.0 发布!

RadonDB

MySQL Kubernetes 云原生 容器化 RadonDB

内部排序——交换排序

乔乔

7月月更

一体化实时HTAP数据库StoneDB,如何替换MySQL并实现近百倍分析性能的提升

StoneDB

云原生 #数据库 HTAP 大数据 开源 #开源

建木持续集成平台v2.5.1发布-全面拥抱云原生架构

Jianmu

云原生 k8s 持续集成 CI/CD

云原生时代,金融企业如何完成全栈信创改造?

MIAOYUN

云原生 信创 国产化 金融信创 全栈改造

开源代码难阅读?几位研发的“妙招”帮你解决

TDengine

数据库 tdengine 开源

基于Web的IDE会成为主流?_Java_Dio Synodinos_InfoQ精选文章