`
javasalatu
  • 浏览: 723474 次
  • 性别: Icon_minigender_2
  • 来自: 北京
博客专栏
96df99eb-e89d-3228-9c8e-967fc745ec52
程序员的自我经营之道
浏览量:7701
文章分类
社区版块
存档分类
最新评论

基于Web的IDE会成为主流?

 
阅读更多

作者 Dionysios G. Synodinos译者 张凯峰 发布于 2009年2月21日 上午6时33分

上周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)。这些组件中的大部分可以无显示地在服务器上运行,比如底 层的资源模型、增量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成为标准吗?

转自:http://www.infoq.com/cn/news/2009/02/web-based-ide

分享到:
评论

相关推荐

    Web接口开发与自动化测试 基于Python语言+源代码+文档说明

    IDLE(Python 3.5 64-bit) : 该选项为 Python 自带的 IDE, 推荐新手使用。   Python 3.5 (64-bit): 该选项会直接在 window 名称提示符下进入 Python Shell 模式。   Python 3.5 ...

    经典JAVA.EE企业应用实战.基于WEBLOGIC_JBOSS的JSF_EJB3_JPA整合开发.pdf

    该案例既提供了ide无关的、基于ant管理的项目源码,也提供了基于netbeans ide的项目源码,最大限度地满足读者的需求。 作者简介: 李刚,从事10年的Java EE应用开发。曾任LITEON公司的J2EE技术主管,负责该公司的...

    基于J2EE框架的个人博客系统项目毕业设计论文(源码和论文)

    强大的基于Web的分析  3.支持OLE DB和多种查询  4.支持分布式的分区视图  安装、运行SQL Server 2000的硬件需求  (1)计算机  Inter及其兼容计算机,Pentium 166Mz或者更高处理器或DEC Alpha和其兼容系统...

    基于ASP.NET三层架构技术的HR人力资源管理系统项目

    同时会涉及到jQuery Ajax、XML、jQuery插件 、Dtree递归树\WebChart高级图表统计图\Excel导出复杂报表打印\CodeSmith\图片水印\防盗链\WebService\面向对象的建模、分析、设计和实施方法,掌握第三方控件技术和报表...

    软件工程师Java班课程

    部分320 课时 MVC与Struts 高级Java Web应用开发:业界通用的MVC设计模式,Struts架构、应用程序国际化、Struts Taglib 熟练的掌握MVC设计模式和基于STRUTS架构的应用程序开发 Java B/S商务项目开发(基于Struts...

    Y分钟学习X种语言

    CloudSharper也很快会提供一个利用WebSharper开发F# web应用的 IDE。 提升级别 一旦用一种新语言完成了一些简单任务,你就可能想着提升到一些稍微大的任务上。我喜欢 做Kata Catalogue里的一些习题,例如FizzBuzz,...

    一款用于图书推荐、搜索、借阅、交流的微信小程序

    Django使用算法:模糊C均值聚类(FCM)基于类间距阈值判断聚类数确定top-n最近邻居集起步下载并安装MySQL,创建数据库名字为book_mate,导入book-mate-server/book_mate.sql下载并安装Tomcat服务器使用Java主流IDE,导入...

    Android程序设计基础

    但是凭借谷歌公司的强大实力以及与开放手机联盟的通力合作,我们相信Android会越来越好,一定会成为主流的手机操作系统平台。..  本书分为3个部分共10章,最后还有两个附录。第1~3章介绍Android的基础知识和基本...

    本科毕业设计开题报告(计算机协会信息管理系统的设计与实现V5)

    随着社团的增加,入社成员的增加,社团管理工作的复杂性也随之增加,但现在国内大部分的高校还只是基于校园社联会这个平台来进行一小部分的社团信息管理,但是本系统能够对社团的信息进行系统化的整理与管理,能够...

    entfrm-boot可视化开发平台-其他

    后端采用Spring Boot 2.X 、Spring Security、Oauth2、Mybatis Plus、Activiti、 uni-app等核心技术,前端基于vue-element-admin框架。entfrm-boot可视化开发平台功能:1、系统管理机构管理:配置系统组织机构,...

Global site tag (gtag.js) - Google Analytics