免费下载!由 O’Reilly 出版的《NGINX 完全指南》中文版已正式上线 了解详情
写点什么

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

  • 2010-05-21
  • 本文字数:1666 字

    阅读完需:约 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

2010-05-21 21:382438
用户头像

发布了 340 篇内容, 共 122.6 次阅读, 收获喜欢 13 次。

关注

评论

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

通用池化框架实践之GenericKeyedObjectPool

FunTester

聚焦无障碍阅读,福昕捐出2000套福昕高级PDF编辑器

联营汇聚

IoT技术的最后决战!百万大奖究竟花落谁家?

华为云开发者联盟

IoT 华为云 iotda NSBD-IOT

开发者的福音 提前为你揭秘2022鲲鹏开发者创享日武汉站

Geek_2d6073

小程序怎样一键转化成APP

Geek_99967b

小程序生态 小程序容器 小程序转app

Linux环境编译动态库

Loken

音视频 5月月更

前沿聚焦:2022最受关注的六大技术热词,你都知道吗?

华为云开发者联盟

零代码 NFT 数字人 元宇宙 云边端协同

在线文本删除空行工具

入门小站

工具

模块2-微信朋友圈高性能复杂度分析

Fan

架构实战营

微信视频号严查教育招生类账号:应该抵制恶意网络营销

石头IT视角

vue响应式原理简述

达摩

Vue vue源码解读

查看Docker容器的信息

程序员欣宸

Java 5月月更

开发一个社区网站,只要20分钟?

华为云开发者联盟

ide 敏捷开发 devcloud 网站开发

技术立根,行业立范,发展立本:中国工业互联网的2.0新征程

脑极体

使用 awk 命令统计文本

程序员小航

后端 awk Linxu

vue + electronの文件读写

空城机

Electron 5月月更

发布订阅模式和观察者模式【vue】

达摩

Vue 观察者模式 发布订阅

Kube-OVN v1.10.0:新增Windows节点支持,用户自定义子网ACL等10+硬核功能

York

云原生 网络 cni

Java Core「4」java.util.concurrent 包简介

Samson

学习笔记 5月月更 Java core

做一个能对标阿里云的前端APM工具

光毅

阿里云 性能优化 前端

Linux 使用 cp 命令强制覆盖功能

AlwaysBeta

Linux 运维

linux之curl命令

入门小站

Linux

P2P传输模式

秋名山码民

计算机网络 5月月更

小程序如何实现一键转换成App

Geek_99967b

小程序容器 小程序转app

Kernel SIG直播:关于 Plugsched 调度器热升级 | 第 18 期

OpenAnolis小助手

Linux 直播 内核 sig 龙蜥大讲堂

在线HTML转SQL工具

入门小站

工具

软件开发的核心原则

宇宙之一粟

软件设计原则 5月月更

HDFS 细粒度锁优化,FusionInsight MRS有妙招

华为云开发者联盟

hdfs NameNode 元数据 FusionInsight MRS FGL

flask框架学习总结(四)【 文件上传,实现最小应用,路径变量,模板继承】

恒山其若陋兮

5月月更

1.2架构的定义(一)

凌晞

架构 架构设计

Akshell: 基于JavaScript和在线IDE的RAD云_JavaScript_Dio Synodinos_InfoQ精选文章