Serverless 技术已经来临,Web 应用是 Serverless 技术一个重要的场景之一。应该以什么姿态和角色去迎接新的技术变革,是每个端开发需要思考的问题。
我们可能会有如下思考:
- Serverless 能给我们带来多大价值?
- 有没有符合 Serverless 应用的开发框架?
- Serverless 应用的开发模式会不会和过去的开发模式存在很大的差异?
如何让 Web 应用在 Serverless 场景下,保持或者超越传统开发体验,我们做了许多探索。尝试过将传统 Web 应用框架迁移到 Serverless 平台上,比如 expressjs 等框架,虽然与传统开发体验相差不大,但是存在不少问题,例如不支持跨云平台,用户还需要正对 Serverless 特性做很适配,相关的工具也没法深度适配 Web 应用框架这种特定场景。因此,函数计算技术团队以开源不绑定的原则,基于 Typescript 和 Webpack 相关技术,实现了一套前后端一体化框架,去深度适配 Serverless。
你可能会对前后端一体化有以下疑问:
- Serverless 对前端的意义到底有多大?
- 前后端一体化与前后端分离思想是否冲突?
- 前后端一体化是否没法实现微服务?
本次分享将会以 Serverless 技术对开发框架带来的变革作为起点,详细介绍框架在适配这种变革所遇到的挑战,以及框架又是如何解决的。主要内容包括框架的原理和实现,其中,包括组件定义、依赖注入、本地调试、通信方式和多云适配等方面。希望给关注开发框架的与会者带来思路上的拓展和帮助,同时,也希望有共同想法的人能一起来共建,帮助更多的个人和公司把自己业务迁移到 Serverless 平台上,从而享受 Serverless 带来的技术红利。
演讲提纲:
- 背景
- Serverless 概述
Servserless 下的 Web 应用开发现状,以及正在发生的变化
面临的问题
(1)开发模式问题
(1)平台绑定问题
(2)冷启动问题
(3)数据库连接池问题
- malagu 框架介绍
(1)简介
(2)组件化
(3)依赖注入
(4)扩展性
(5)通信方式
(6)配置
(7)构建
(8)部署
(9)多云适配
(10)生态
- 演示
(1)快速开始
(2)前端调用后端
(3)本地调试
- 使用场景
(1)个人微应用
(2)中小公司轻应用
(3)大公司平台级应用
- 设计思考
(1)约定大于配置
(2)Cloudless
(3)知识可积累可分享
(4)简单的事简单做,复杂事件也能做
- 展望
(1)面向业务人员基于组件的可视化应用设计