zoukankan      html  css  js  c++  java
  • 基于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

  • 相关阅读:
    0309. Best Time to Buy and Sell Stock with Cooldown (M)
    0621. Task Scheduler (M)
    0106. Construct Binary Tree from Inorder and Postorder Traversal (M)
    0258. Add Digits (E)
    0154. Find Minimum in Rotated Sorted Array II (H)
    0797. All Paths From Source to Target (M)
    0260. Single Number III (M)
    0072. Edit Distance (H)
    0103. Binary Tree Zigzag Level Order Traversal (M)
    0312. Burst Balloons (H)
  • 原文地址:https://www.cnblogs.com/lanzhi/p/6469589.html
Copyright © 2011-2022 走看看