@lsmn
2015-08-06T08:53:34.000000Z
字数 1399
阅读 2614
JS
AWS
JavaScript
Node.js
jQuery
JAWS是一个高度可扩展的Web应用程序模板,由个人数据库提供商Servant开源。它使用Amazon Web Services提供的新工具(DynamoDB、Lambda、API Gateway、AWS S3 )重新定义了如何使用JS(后台Node.js,前端jQuery)构建大规模弹性Web应用程序。
JAWS是一个高度可扩展的Web应用程序模板,由个人数据库提供商Servant开源。它使用Amazon Web Services提供的新工具(DynamoDB、Lambda、API Gateway、AWS S3 )重新定义了如何使用JS(后台Node.js,前端jQuery)构建大规模弹性Web应用程序,其目标是:
JAWS主要包含如下四个部分:
api
文件夹中。每个API URL指向一个Lambda函数。这样,每个API Route的代码都是完全隔离的,开发者可以针对特定的API URL开发、更新、配置、部署及维护代码。其作用相当于传统MVC结构中的“Controller”。lib
是一个npm模块,其中包含了可以在所有Lambda函数中重用的代码,可以认为是传统MVC结构中的“Model”。按照设计,Lambda可以按需requrire
它的代码,而不是全部代码,例如,只加载User模型需要的代码:var ModelUser=require('jaws-lib').models.User;
。下一步,Servant计划在JAWS中引入AWS API Gateway Swagger导入工具,为现有的API函数编写swagger.json,向CLI添加Swagger导入命令。在同Hacker News网友进行讨论的过程中,项目作者ac360指出:
下一步,开发者可以通过Swagger在JSON中定义API,然后导入AWS API Gateway,实现API的即时创建/更新。这应该会极大地缩短开发时间,简化JAWS REST API的构建。
这意味着,你仍然可以进行大规模的版本化发布,而且只需要简单地更新Swagger文件中的JSON。这将使JAWS工作流有一个优美的结构,而且非常简单。
有许多网友都认为JAWS是一个不错的项目,ahallock就是其中之一。不过,他希望JAWS提供Lambda与RDS的集成,因为他不想使用DynamoDB。对此,ac360回复说:
我一直计划增加RDS集成,尤其是Aurora支持。计划一直没变!只是需要一些时间。
另外,ac360指出:
我在AWS Pop-Up Loft上增加了一个JAWS优化章节……这个页面非常受欢迎。