背景
使用过Laf的同学都知道,Laf非常快。三分钟接入一个AI,三分钟撸一个TodoList。将Function as Service发挥的淋漓尽致!做一些小工具(轻应用),无疑Laf可以排在第一梯队。但是如果去构建一个稍微复杂的应用,或者企业集应用,可以选用Laf吗?选用Laf我们将面临什么样的挑战?本文在此背景下,结合我自己遇到的问题,来和大家一起探讨下。
应用信息
仿造的开源项目 ElAdmin
后端 eladmin (SpringBoot)
前端 eladmin-web (Vue)
改造点
- eladmin项目,使用Laf做为后端提供服务(暂时只做了系统管理模块)
- eladmin-web项目,改造api交互模块
- eladmin-web打包后,放入Laf的存储中,提供在线访问
改造后体验地址
实践
1. 云函数选择困难
2.一个云函数一个应用
实际代码效果
从图中看出,去除import的代码,总共的代码也就6、7行。所有的应用业务代码都在eladmin-laf-impl项目中(底层依赖echo-laf-core)。后期维护起来,只需要找到对应模块文件的业务方法,进行维护即可
核心能力的总结
从我自己的实践中很清楚的感受到,如果laf不提供下沉的一些core模块能力,开发者开发任何领域的应用,复杂度都要上升一个维度。在重写Eladmin这个管理端应用时,对它前端的api交互模块代码也不了解,后端一边写一边总结,感到有在写重复的业务功能时,就会抽出一些通用的模块代码到echo-laf-core中,这样前前后后花了近2个星期的时间。当然如果现在再来做这个管理端的某个模块,配合自己做的一些工具,估计半个小时就差不多,甚至更少。
后面打算
想和disscode
的开发者一起重写php的开源Flarum论坛,看看laf和disscode低代码工具结合,生产能力能不能再往前走一走
思考和问题
1. Laf是想做云函数市场,还是应用市场?
2.面对市场上那么多的应用市场,Laf能给应用开发者带来怎么底层core能力,方便开发;版权和收益保障(太多的应用市场都死在半路上,没有更多的应用开发者参与,零零星星就那么几个应用)
3.面对轻应用、复杂应用、企业级应用、工业级应用,Laf的重心放在哪里?
4.面对企业级应用、工业级应用 Sealos除了K8S运行时环境,还能做些什么?能否提供其他语言的WebIDE,让开发企业级应用也能像Laf一样,所见即所得