BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

Akshell: 基于JavaScript和在线IDE的RAD云

| 作者 Dio Synodinos 关注 3 他的粉丝 ,译者 侯伯薇 关注 0 他的粉丝 发布于 2010年5月22日. 估计阅读时间: 5 分钟 | 如何结合区块链技术,帮助企业降本增效?让我们深度了解几个成功的案例。

Akshell是一种云服务,它使用服务端的JavaScript和在线的IDE帮助开发者进行快速应用程序开发。 它还提供云托管,所以部署是即时的。 它的创建者将其描述为“web应用网络”。

Akshell的核心会使用Google V8 JavaScript引擎来执行应用程序,它会将JavaScript代码编译成本地代码以提高性能。 为了处理请求,Akshell核心会评估应用程序的main.js文件,并执行它所导出的app()函数,将请求对象传递给这个函数。 这个架构符合JSGI规范。

应用程序是Akshell环境的基本单元。 每个应用程序都拥有唯一的名称,并从属与appName.akshell.com域。 每个Akshell用户都可以创建应用程序,但是当前只提供了对免费的非商业应用程序的支持,并且这样的应用程序代码必须基于BSD许可来提供。

InfoQ对Akshell的创始人Anton Korenyushkin进行了简短的采访。

InfoQ: 您创建Akshell的动机是什么呢?它是如何帮助开发者的呢?

Anton: 关键的动机是能够让开发者专注于任务,而不是对所有web应用程序都通用的东西。 对我来说,当我说到系统编程的时候,Web开发看起来有些不好控制。 即便是为了编写不重要的站点,一个人也需要了解与站点的主要目的无关的一大堆知识。 我们一次又一次地发明轮子。 在经历这些麻烦之后,我们还需要管理服务器。

Akshell是我要改变这一切所做的努力;它借用了UNIX的哲学: 每个程序只把一件事做好。

InfoQ: 能否请你为我们概述一下使用Akshell构建的程序的架构呢? 它的主要组件是什么呢?

Anton: Akshell应用程序应该只执行它的主任务;辅助任务应该由其它应用程序来处理。 Akshell为他们提供了交互的方法。 每个应用程序都可以是一个类库,即可以与其它应用分享它的代码。 最基本的Akshell类库叫做ak,它提供了一个模型-视图-控制器的框架。 使用该框架创建的应用程序有三个主要的组件: 数据库模型、HTML模板(来源于Django)以及处理请求的JavaScript代码。

这个基本类库是可选的;任何人都可以创建框架来替换它。 Akshell符合JSGI规范;因此我们可以在其中使用一些已有的框架。

InfoQ: 你如何来处理持久性问题?

Anton: 每个应用程序都能够访问一个文件存储和一个关系型数据库。 前者是很常用的。 而数据库存取是通过专门为嵌入到JavaScript设计的面向对象的API查询语言所提供的。 它和SQL一样强大,但更易于使用。 数据库是由Postgres支持的,因此很稳定。

InfoQ: 对于使用Akshell的团队,开发过程和工具应该是怎样的呢? 其中有没有与整合某些版本控制或者项目管理软件和服务(像SVN、Git等等)呢?

Anton: 应用程序管理员可以请开发者一起协作;Akshell会处理它们的访问权限。当前还没有SCM的支持,但是我计划与git和GitHub整合。 现在团队可以使用任何SCM系统和Akshell工具来与Akshell的本地文件进行同步。

InfoQ: 你认为服务端的JavaScript会在将来的几年中成为主流吗? 对于CommanJS你的想法如何?

 Anton: 我非常相信JavaScript会在服务器端流行起来,因为:

  1. 每个web开发者都了解它。
  2. 它的解释器真的很快,并且会变得更快。
  3. 它比带有复杂的标准类库的语言更适合沙盒环境;我想平台即服务(Platforms as a Service)是将来的趋势。
  4. 它是一门很棒的语言,我非常喜欢!:)

CommonJS非常有用;我希望它会成功。 但是设计这样的东西需要某种BDFL,而这似乎不会在JavaScript社区中出现。

InfoQ: 你认为在线的IDE会是将来开发者使用的方式吗? 你考虑过使用Bespin吗?

Anton: 我讨厌任何一种管理;因此我希望并且相信大多数程序都会到网络上,包括IDE。我考虑过Bespin,但最终选择的是EditArea。

InfoQ: 你下一步的打算和方向是什么呢?

Anton: 我会继续改善用户界面(UI): 在编辑器中支持tab,在其中添加对输入的评估和控制台。 让所有这些都在一页中,这会使得开发过程更简单。 并且我计划将GitHub整合到Akshell中。

如果想要得到更多信息,你可以访问Akshell的在线文档或者查看示例应用

查看英文原文:Akshell: A RAD Cloud Service based on server-side JavaScript and an Online IDE

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

another GAE!!!! by Huang Wenhai

其实是跟google app engine一样的东西吧

不过既然打算做一件事情并做好,就不必折腾在线IDE和github什么的,提高这个应用平台的其他方面才是关键.

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

1 讨论

深度内容

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT