Serverless 原生框架:Malagu Framework-阿里云开发者社区

开发者社区> 阿里云Serverless Compute> 正文

Serverless 原生框架:Malagu Framework

简介: 背景 早期,Serverless Framework 的定位是偏运维侧,通过 Yaml 文件定义规则,Serverless Framework 负责部署到对应的云厂商。Serverless Framework 提供了一种方案去适配不同的云厂商。

背景

早期,Serverless Framework 的定位是偏运维侧,通过 Yaml 文件定义规则,Serverless Framework 负责部署到对应的云厂商。Serverless Framework 提供了一种方案去适配不同的云厂商。

最近 Serverless 提供了一个 Serverless Component 方案,这个方案更面向开发侧。在同一时间,Malagu Framework 也想到了 Component 类似的方案。

Malagu Framework 一开始定位就是偏开发侧的。Malagu Component 与 Serverless Component 解决的问题是一样的:适配不同平台的服务(阿里云函数计算、阿里云 oss、腾讯云函数、aws lambda 等等)和封装通用的业务代码。

Malagu Component 与 Serverless Component 设计上也存在不同的地方,后面可以单独写一篇文章介绍一下。

Malagu 由 CLI + Framework 组成,其中 Framework 本身就是基于 Malagu Component 实现。

简介

Malagu 是基于 TypeScript 的 Serverless First、可扩展和组件化的应用框架。

在 Malagu 的世界里一切皆组件,应用也是组件:根组件。高级组件可以基于低阶组件实现,组件的编排形成我们的应用。

Malagu 组件的实现就是一个标准的 node module。只需要将 Malagu 组件发布到 npmjs 仓库,就可以与大家分享你自定义的组件。

特点

  1. Serverless First,默认提供适配 Serverless 最佳实践,也支持运行在服务器上
  2. 支持前后端一体化,基于 JSON RPC,前端像调用本地方法一样调用后端方法
  3. 前后端支持 rpc 和 mvc 两种通信形式,mvc 可以满足传统纯后端 rest 风格接口开发需要
  4. 支持 typeorm,事务 AOP 和事务传播行为,也可以集成其他的开源 ORM 框架
  5. 提供类 spring security 的认证和授权,现在已经集成了开箱即用的 authing 平台,实现了 oidc 认证和授权
  6. 组件化,框架本身也是基于组件化实现,将复杂大型项目拆解成一个个 Malagu 组件,提高了代码的复用能力、降低了代码维护难度
  7. 依赖注入和 AOP,抽象了一套前后端统一的依赖注入,依赖注入的体验与 spring 差不多
  8. 命令行工具插件化,默认提供初始化、运行、构建、部署能力,通过插件可以扩展命令行的能力
  9. 零配置,提供了一套默认行为,你也可以通过 Malagu 配置文件覆盖默认行为
  10. 支持适配任意前端框架,目前集成了 React 前端框架,另外,UI 框架集成了 antd、md 等

快速体验

  1. 创建应用


先安装命令行,然后初始化一个模板:

npm install -g yarn
npm install -g malagu
malagu init

Malagu_Backend_App_

  1. 本地运行应用
malagu serve

Malagu_Backend_App_

  1. 本地调试应用


使用 vscode 单步调试工具。

Malagu_Backend_App_

  1. 部署应用
malagu deploy

Malagu_Backend_App_

相关链接

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:
阿里云Serverless Compute
使用钉钉扫一扫加入圈子
+ 订阅

Serverless微服务应用实践分享

官方博客
函数计算官网