Solon轻量级Web框架:俄乌战争后的抉择(一)
引言
随着俄乌战争局势日益焦灼,西方各国相继宣布了要全面制裁俄罗斯的消息,美国更是将俄罗斯列入科技出口管制名单中。令人意外的是,俄乌战争影响范围之广,几乎波及了全球科技网。以谷歌、苹果、微软、英特尔、Facebook、亚马逊、戴尔、Oracle 为首的 20 多家科技巨头相继宣布对俄罗斯进行制裁。
此次俄罗斯的遭遇,给我们一个非常生动的警示:互联网空间的话语权在当今这个时代,对于一个国家的生死存亡有决定性作用,而掌控互联网空间话语权的互联网巨头们,在关键时刻,绝对是有国界的,是有自己明确立场的。
而在Web框架领域,一个自主的、可控的框架尤为重要。这时Solon进入我的视野,当然选择新的Web框架最早是从华为受制裁就开始考量的。在综合学习成本,开发难度,自主性等多方面权衡后,选择了Solon。
Solon:一个轻量级Web框架
官方对Solon的描述:一个更现代感的应用开发框架:更快、更小、更自由。 Git源码:https://gitee.com/noear/solon 官方文档:https://solon.noear.org
本人也基于Solon轻量级Web框架开发路一个小项目 https://gitee.com/hiro/melon-data-simple ,打包后大小6.31M,完美替代Springboot + Mybatis框架,项目基础代码部分翻译于 Ruoyi (官网 http://doc.ruoyi.vip/ )。
值得一说的是Solon主要参考 SpringBoot 和 Javalin ,吸取了诸多优点,更重要的始终保持0.1Mb 的身材,超高的跑分,良好而自由的使用体验。
比SpringBoot更优的是,代码自由,除去注解外的使用方式:
//手动获取配置(Props 为 Properties 增强版)
Props db = Solon.cfg().getProp("db");
//手动获取容器里的Bean
UserService userService = Aop.get(UserService.class);
//手动监听http post请求
Solon.global().post("/user/update", x-> userService.updateById(x.paramMap()));
//手动添加个RPC服务
Solon.global().add("/rpc/", HelloService.class, true);
//手动获取一个RPC服务消费端
HelloService helloService = Nami.builder().create(HelloService.class);
//手动为容器添加组件
Aop.wrapAndPut(DemoService.class);
如果想了解框架想法:点击这里
小结
在制裁背景下您选择Solon,在硬件逐年涨价的情况下,资源消耗更小的Solon也是一个很好的体验。
作为苦逼的程序员,在开发一样的情况下,快速启动是我选择Solon的最终原因。程序员们,跟我一起开始Solon之旅吧。

浙公网安备 33010602011771号