中国这么多 Java 开发者,应该诞生出生态级应用开发框架
1、必须要有,不然就永远不会有
应用开发框架,虽然没有芯片、操作系统、数据库、编程语言这些重要。但是最终呈现在用户面前的,总是有软件部分。而软件系统开发,一般都需要应用开发框架,它是软件系统的基础性部件之一。
很多很多软件系统都会有 Java 开发的部分,尤其是政府部门的软件系统大量的使用了 Java。市场非常的大,我们有很多的 Java 程序员,更有很多技术大能,也为很多全球级的项目供献过力量。理所应该当也要有自己的“生态级”应用开发框架,不是说卡不卡脖子的问题,而是不好意思没有啊!外面可是隔三差五的出语言。
国内现在有很多好的“功能性能框架”,也有很多好的“快速开发框架”,还有很多好的“后台脚手架”。但是没有像 Spring 这样生态级的框架出现。个人觉得,这应该是有问题的、是可惜的、是遗憾的。
想要搞个 Java 生态级的应用开发框架。一般是以年为开发时间单位的(需要漫长的时间打磨),一般是不赚钱的。还有 Spring 生态这个巨人存在。但,真的有很多人是期待的:一个轻量的,更现代感的,最好还是国产的。
刚开始的确会很难;刚开始可能不如人家的完善;刚开始会有很多人质疑和漫骂。再难能有芯片难???不是说非要替换代别人,而是必须要有,不然就永远不会有。
2、一个美好的“生态级”应用开发框架
应该是所有“功能型”框架的好朋友,就像水、土、空气一样串起万物生长;应该是接地气些,方便所有技术员快速学习和使用。比如:
- 应该能自动装配扩展能力(方便做第三方扩展)
- 应该有很多的第三方合作与便利适配(生态嘛)
- 应该有IOC 和 AOP(确实更便利)
- 应该启动很快(必须要远超它的前辈)
- 应该内存更少,尤其是在启动时和静默时的内存(休息时,不该吃那么多内存)
- 应该很少量的代码(不然学习太幸苦了)
- 应该有自己的思考方式和性格特性(抄过来的不好)
其实要求也不高,只要道心稳,慢慢打怪升级。最近有位技术大牛说:国外有 spring 和 apache,国内有 solon 和 dromara。
3、论 Solon 框架的意义
是一个国产的生态级 Java 应用开发框架(已发具备全球第二级别的生态)。开玩笑,两三百个生态扩展呢。
- 国内第一个
从零开始构建,有自己的标准规范与开放生态。尤其没有使用 javaee 的接口规范(它改包名了,可麻烦)。会借鉴与善用前人的成果,但绝对是原创。
- 为什么说是生态呢
没有功能,没有集成。都是基于标准与规范的扩展与适配。同一个需求,可以有很多不同的方案选择。这是架构的美感。当然别人家的生态框架也会是这样。
- 提供不同的选择
以前只有包子,没得选,不管什么场景只有包子吃。而且很多人都习惯了这样。现在是还有饼干和花生米,你可以按需选择。
- 助力信创国产化
信创,讲国产可控。但是很多软件系统用了 spring 开发。之前是没得选。现在可以用 solon 了。
- 助力国产语言的成长
当有适合的国产语言出现时,可以快速实现副本迁移。因为 solon 是原创,有自己的标准规范与开放生态,迁移起来很方便。开发语言,有好的生态框架,能优化用户体验,加速成长。
- 助力部训机构使用国产框架进行 Java 教学
一个生态级的应用开发框架。无形之中,会有很多模式,有很多术语。应用于教学,对国产开发环境是好事。
- 助力高校使用国产框架进行 Java 教学
Solon 的愿景里,会有很多相关书出现。以 Solon 的视角去展现 Java。 以前是没得选,以后可以选 Solon 相关的书,进行教学。
- 助力 Java 开源项目成长
以前嘛,我们的 Java 开源项目很多是“面向 Spring 编程的”。现在可以回归本源,“面向 Java 编程”(同时也适配下 Solon)。Java 的世界很大,有很多的不同的生态框架。
- 助力 Java 程序员的成长
有些 Java 程序员,如果没有 Spring 是不能编程的。其实 Java 的世界很大,Java 之外的世界更大。见识不同的生态应用开发框架,见识不同的编程语言,可以看见更大的世界。
4、Solon 生态框架是应运而生的
这不是吹牛,之前真的是没有,这是第一个生态级的。打磨五六年了。暂时,它还真是中国人的 Java 生态框架(没别的啦)。
特性:
- 启动快 5 ~ 10 倍。 (更快)
- qps 高 2~ 3 倍。 (更高)
- 运行时内存节省 1/3 ~ 1/2。 (更少)
- 打包可以缩小到 1/2 ~ 1/10;比如,300Mb 的变成了 23Mb。 (更小)
- 同时支持 jdk8, jdk11, jdk17, jdk21, graalvm native image
简介:
- 克制、简洁、高效、开放、生态
- 支持 JDK8、JDK11、JDK17、JDK20(是同时支持)
- Http、WebSocket、Socket 三种信号统一的开发体验(俗称:三源合一)
- 支持“注解”与“手动”两种模式,按需自由操控
- Not Servlet,可以适配任何基础通讯框架(最小 0.3m 运行rpc架构)
- 独特的 IOC/AOP 容器设计。不会因为插件变多而启动变很慢
- 支持 Web、Data、Job、Remoting、Cloud 等任何开发场景
- 兼顾 Handler + Context 和 Listener + Message 两种架构模式
- 强调插件式扩展,可扩展可切换;适应不同的应用场景
- 支持 GraalVm Native Image 打包
- 允许业务插件“热插”、“热拔”、“热管理”
预览:
@Controller
public class App {
public static void main(String[] args) {
Solon.start(App.class, args, app -> {
//手写模式
app.get("/hello1", ctx -> ctx.output("Hello world!"));
});
}
//注解模式
@Get
@Socket
@Mapping("/hello2")
public String hello2(String name) {
return String.format("Hello %s!", name);
}
}
5、什么样的 Java 项目用 Solon 好
就像华为讲的,不要因为爱国而特意买华为手机。Solon 也是,有需要就用不需要就跳过(按正常的需求选择):
- 信创需要国产化,应该用 Solon 或者 Solon Cloud(有案例)
- 军工项目要国产化,应该用 Solon 或者 Solon Cloud(有案例)
- 嵌入式设备,内存有限,算力差,可以用 Solon 或者 Solon Native(有案例)
- 客户的希望你内存更少,可以用 Solon (有案例)
- 别的框架用腻了,可以用 Solon (有案例)
- 有新系统开发想尝新的框架,可以用 Solon (有案例)
- 老系统要轻量化改造,可以用 Solon(有案例)
作为后来者,大家的疑或是会多一些。有问题,可以去交流群里多交流。
6、Solon 的代码仓库
喜欢 Solon 的,可以帮助宣传。喜欢但觉得不够好的,可以助其成长。不方便切换框架的,也可支持:
“众人拾柴火焰高”,支持它、使用它、传播它、一起贡献代码:)
中国这么多 Java 开发者,应该诞生出生态级应用开发框架的更多相关文章
- 2020 Java开发者数据分析:中国已成为 Java 第一大国
最近知名开发工具供应商Jetbrains在Java 25周年之际,对开发群体做了一次有意思的数据分析. 全文内容可见:https://blog.jetbrains.com/idea/2020/09/a ...
- 新鲜出炉的Java开发者中心,约起来!
入门教程.SDK 和工具推荐下载.操作方法指导.API 参考,Java 开发者需要的,这里应有尽有. ▼ 话说现在 Java 开发者在云端进行开发非常火热啊,「云+Java」就好比才子配佳人,真是难以 ...
- Java开发者薪资最低?程序员只能干到30岁?国外真的没有996?Intellij真的比Eclipse受欢迎?
Stack Overflow作为全球最大的程序设计领域的问答网站,每年都会出据一份开发者调查报告.近日,Stack Overflow公布了其第9次年度开发者调查报告(https://insights. ...
- Java开发者常犯的十个错误
翻译自:Top 10 Mistakes Java Developers Make 文章列出了Java开发者最常犯的是个错误. 1.将数组转换为ArrayList 为了将数组转换为ArrayList,开 ...
- 八成Java开发者解答不了的问题
统计数据来自Java“死亡”竞赛——一个针对开发者的迷你测验 几个月前,我们在一个小型网站上发布了一个称为Java“死亡竞赛”的新项目.测验发布后,超过20000位开发者参加了测验.网站以20道关于J ...
- Java开发者易犯错误Top10
本文总结了Java开发者经常会犯的前十种错误列表. Top1. 数组转换为数组列表 将数组转换为数组列表,开发者经常会这样做: List<String> list = Arrays.asL ...
- Java开发者必备的10大学习网站,送给入门学习java的你,请收下!
作为开发者来说,必备的除了对编码的热情还要有自己的一套技巧,另外不可缺少的就是平时学习的网站.以下本人收集的 Java 开发者必备的网站,这些网站可以提供信息.以及一些很棒的讲座 , 还能解答一般问题 ...
- 推荐几个IDEA插件,Java开发者撸码利器(转载)
推荐几个IDEA插件,Java开发者撸码利器. 这里只是推荐一下好用的插件,具体的使用方法不一一详细介绍. JRebel for IntelliJ 一款热部署插件,只要不是修改了项目的配置文件,用 ...
- 想入职阿里的Java开发者必看,阿里巴巴面试官实战经验分享!
最近社区Java技术进阶群的小伙伴总是会问,如何面试阿里Java技术岗,需要什么条件,做哪些准备:小编就这些问题找到了阿里技术团队中在一线真正带Java开发团队并直接参与技术面试的专家,分享了自身在筛 ...
- 【IDEA&&Eclipse】1、为何 IntelliJ IDEA 比 Eclipse 更适合于专业java开发者
圣战 有一些没有唯一正确答案的“永恒”的问题,例如哪个更好:是Windows还是Linux,Java还是C#:谁更强壮:Chuck Norris还是Van Damme. 其中的一个圣战便是Java I ...
随机推荐
- 逍遥自在学C语言 | 指针的基础用法
前言 在C语言中,指针是一项重要的概念,它允许我们直接访问和操作内存地址. 可以说,指针是C语言一大优势.用得好,你写程序如同赵子龙百万军中取上将首级:用得不好,则各种问题层出不穷,有种双拳难敌四手的 ...
- PHP处理模板 cookie优先 检测用户登录
<?php// +----------------------------------------------------------------------// | easy pay [ pa ...
- .Net下验证MongoDB 的 Linq 模式联合查询是否可用
MongoDB.Driver 类库提供了 Linq 查询的支持.然而,在使用 Linq 进行联合查询时,是否能够正确转换为 MongoDB 底层的查询语句还有待验证.今天,我将进行实验来验证一下. 输 ...
- Multi-Modal Attention Network Learning for Semantic Source Code Retrieval 解读
Multi-Modal Attention Network Learning for Semantic Source Code Retrieva Multi-Modal Attention Netwo ...
- Qt源码阅读(五)-deleteLater
Qt deleteLater作用及源码分析 个人经验总结,如有错误或遗漏,欢迎各位大佬指正 在本篇文章中,我们将深入分析源码,探讨deleteLater的原理. deleteLater是Qt框架提供的 ...
- 《Among Us》火爆全球,实时语音助力派对游戏开启第二春
今年在全球"宅经济"的影响下,社交派对类游戏意外的迎来了爆发. 8月份,<糖豆人:终极淘汰赛>突然爆火,创造了首日150万玩家.首周Steam 200万销量.单周Twi ...
- MariaDB start 报错:mysql-bin.index' not found (Errcode: 2) (Errcode: 13)
问题是修改配置log-bin=/data/mysql/binlog/mysql-bin后出现的. 报错:Errcode: 2 mkdir -p /data/mysql/binlog ## 和正常的DB ...
- APubPlat 一款Devops自动化部署、持续集成、堡垒机开源项目、友好的Web Terminal
嗨.很高心你能进入这里,我是zane, 在这里给你介绍一款完整的Devops自动化部署工具 APubPlat - 一款完整的Devops自动化部署.持续集成.堡垒机.并且友好的Web Termina ...
- 【高并发】SimpleDateFormat类到底为啥不是线程安全的?(附六种解决方案,建议收藏)
大家好,我是冰河~~ 首先问下大家:你使用的SimpleDateFormat类还安全吗?为什么说SimpleDateFormat类不是线程安全的?带着问题从本文中寻求答案. 提起SimpleDateF ...
- 解决使用sqlalchemy时MySQL密码含有特殊字符问题
前言 当MySQL密码中含有特殊字符时,使用sqlalchemy大概率连不上,这时候就需要from urllib.parse import quote_plus as urlquote. 示例代码 f ...