中国这么多 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 的,可以帮助宣传。喜欢但觉得不够好的,可以助其成长。不方便切换框架的,也可支持:

  • https://gitee.com/noear/solon
  • https://github.com/noear/solon

众人拾柴火焰高”,支持它、使用它、传播它、一起贡献代码:)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/84910.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

在Windos 10专业版搭建Fyne(Go 跨平台GUI)开发环境

目录 在Windos 10专业版搭建Fyne(Go 跨平台GUI)开发环境一 Fyne 和 MSYS2简介1.1 Fyne1.2 MSYS2 二 安装 MSYS22.1 下载MSYS22.2 安装2.3 环境变量设置2.4 检测安装环境 三 参考文档 在Windos 10专业版搭建Fyne(Go 跨平台GUI)开发…

java内存分页工具类

hutool 依赖&#xff1a; <dependency><groupId>cn.hutool</groupId><artifactId>hutool-all</artifactId><version>5.5.7</version></dependency>代码如下&#xff1a; import cn.hutool.core.util.PageUtil; import lombok…

Greenplum实用工具-gpfdist

注&#xff1a;本文翻译自https://docs.vmware.com/en/VMware-Greenplum/7/greenplum-database/utility_guide-ref-gpfdist.html 向Greenplum数据库段提供数据文件或从数据库段写入数据文件。 语法 gpfdist [-d <directory>] [-p <http_port>] [-P <last_http…

zabbix学习2--zabbix6.x高可用

文章目录 1. server高可用-默认HA2. 访问高可用 1. server高可用-默认HA 1.部署zabbix单节点后&#xff0c;配置添加HANodeName和NodeAddress即为HA架构 2.zabbix1故障后切换zabbix2使用 3.浏览器访问主机1&#xff0c;使用主机1php前端连接mysql后zabbix2提供后台服务--------…

算法-单词搜索 II

算法-单词搜索 II 1 题目概述 1.1 题目出处 https://leetcode.cn/problems/word-search-ii/description/?envTypestudy-plan-v2&envIdtop-interview-150 1.2 题目描述 2 DFS 2.1 解题思路 每个格子往上下左右四个方向DFS&#xff0c;拼接后的单词如果在答案集中&…

API接口大全:常用、热门、免费的都有

常用、热门、免费的第三方接口应有尽有… 二次号查询&#xff1a;通过手机号查询是否二次入网&#xff0c;直连三大运营商&#xff0c;精准查询。反欺诈&#xff08;羊毛盾&#xff09;&#xff1a;反机器欺诈&#xff0c;检测异常IP、异常手机号。IP应用场景-IPv4&#xff0c…

基于TCP的简易电子词典

头文件&#xff1a; #ifndef __HEAD_H__ #define __HEAD_H__#include <myhead.h>#define N 32 typedef struct {int type;char name[N];char data[256];int option;int flag; }MSG;#define R 1 // 用户注册 #define L 2 // 用户登录 #define Q 3 // 查询…

【若依框架2】前后端分离版本添加功能页

在VSCode的src/views下新建个文件平example,在example下创建test文件夹&#xff0c;在test里创建index.vue文件 <template> <h1>Hello world</h1> </template><script> export default {name: "index" } </script><style s…

2023/9/20总结

maven maven本质是 一个项目管理工具 将项目开发 和 管理过程 抽象成 一个项目对象模型&#xff08;POM&#xff09; POM &#xff08;Project Object Model&#xff09; 项目对象模型 作用 项目构建 提供标准的自动化 项目构建 方式依赖管理 方便快捷的管理项目依赖的资源…

C++【个人笔记1】

1.C的初识 1.1 简单入门 #include<iostream> using namespace std; int main() {cout << "hello world" << endl;return 0; } #include<iostream>; 预编译指令&#xff0c;引入头文件iostream.using namespace std; 使用标准命名空间cout …

springboot整合返回数据统一封装

1、MagCode&#xff0c;错误码枚举类 package com.mgx.common.enums;import lombok.*; import lombok.extern.slf4j.Slf4j;/*** 错误码* author mgx*/ Slf4j NoArgsConstructor AllArgsConstructor public enum MsgCode {/*** 枚举标识&#xff0c;根据业务类型进行添加*/Code…

轻量云服务器租用好在哪

从技术上讲&#xff0c;轻量级云服务器是特化了某一配置的高性价比云服务器的结合。下面&#xff0c;我们将了解轻量级云服务器有什么优 势&#xff0c; 使用物理服务器搭建网站&#xff0c;您需要租用整个服务器&#xff0c;这成本会变得非常昂贵。这对于一些比较简单的使用需…

PostgreSQL 数据库实现公网远程连接

文章目录 前言1. 安装postgreSQL2. 本地连接postgreSQL3. Windows 安装 cpolar4. 配置postgreSQL公网地址5. 公网postgreSQL访问6. 固定连接公网地址7. postgreSQL固定地址连接测试 前言 PostgreSQL是一个功能非常强大的关系型数据库管理系统&#xff08;RDBMS&#xff09;,下…

建议收藏《Verilog代码规范笔记_华为》(附下载)

华为verilog编程规范是坊间流传出来华为内部的资料&#xff0c;其贴合实际工作需要&#xff0c;是非常宝贵的资料&#xff0c;希望大家善存。至于其介绍&#xff0c;在此不再赘述&#xff0c;大家可看下图详细了解&#xff0c;感兴趣的可私信领取《Verilog代码规范笔记_华为》。…

JS【filter过滤器】的用法

在JavaScript中&#xff0c;filter()是一个高阶函数&#xff0c;它是数组(Array)的一部分&#xff0c;可用于创建一个新数组&#xff0c;其中包含通过所提供函数实现的测试的所有元素。 filter()函数的语法如下&#xff1a; let newArray arr.filter(callback(element[, ind…

Spring面试题1:Spring框架的核心功能是什么?Spring框架的好处是什么?

该文章专注于面试,面试只要回答关键点即可,不需要对框架有非常深入的回答,如果你想应付面试,是足够了,抓住关键点 Spring框架的核心功能是什么 Spring框架的核心功能包括: 控制反转(IoC):Spring通过IoC容器管理对象的生命周期和依赖关系。它将对象的创建、组装和管理…

React中的dispatch()

在React中&#xff0c;dispatch函数是Redux提供的一个方法&#xff0c;用于触发store中的action。它是Redux中的一个核心概念&#xff0c;用于将action传递给store&#xff0c;从而触发相应的状态更新。 当我们调用dispatch函数时&#xff0c;它会将action对象作为参数&#x…

IDEA开发工具技巧

1.1 IDEA相关插件 idea插件下载地址&#xff1a;https://plugins.jetbrains.com/ 开发必装插件&#xff1a; &#xff08;1&#xff09; 快速查找api接口 RestfulTool 插件&#xff0c;推荐指数⭐⭐⭐⭐⭐ [RestfulTool搜索插件使用详解](https://blog.csdn.net/weixin_450147…

Spring学习笔记2 Spring的入门程序

Spring学习笔记1 启示录_biubiubiu0706的博客-CSDN博客 Spring官网地址:https://spring.io 进入github往下拉 用maven引入spring-context依赖 写spring的第一个程序 引入下面依赖,好比引入Spring的基本依赖 <dependency><groupId>org.springframework</groupId&…

【力扣】9. 回文数

题目描述 给你一个整数 x &#xff0c;如果 x 是一个回文整数&#xff0c;返回 true &#xff1b;否则&#xff0c;返回 false 。 回文数是指正序&#xff08;从左向右&#xff09;和倒序&#xff08;从右向左&#xff09;读都是一样的整数。 例如&#xff0c;121 是回文&am…