Java开发框架-当前三强功能对比

一、当前主流的开发框架

  1. Spring,开发团队Vmware(Pivotal)
  2. Quarkus,Redhat的JBoss团队开发
  3. Vertx,Eclipse旗下开源项目,项目负责人受雇于Redhat

二、功能分类

分为以下几大部分:

  • core,核心功能
  • web,开发和访问Web服务
  • data,数据访问,包括关系数据库,缓存,Nosql等
  • net ,包括RPC, serializable, message, microservice等
  • ops,运维监控
  • security,安全相关
  • cloud,云计算部署
  • misc,其他开发功能

三、Spring

core:

  • ioc, aop

web:

  • spring web, spring reactive web, spring hateoas
  • graphql, spring session
  • rest repository
  • web serice, jersey
  • vaadin, hilla
  • thymeleaf, freemarker, mustache, groovy template
  • websocket

data:

  • spring data (jpa, jdbc, r2dbc, redia, mongodb, elasticsearch, cassandra, couchbase, neo4j)
  • mybatis, jooq
  • liquibase, flyway
  • db2, derby, h2, mariadb, mssql, mysql, oracle, postgresql
  • validation
  • spring cache abstraction

net:

  • config client, config server, vault, zookeeper, consul, eureka
  • gateway, openfeign, cloud loadbalacer
  • cloud bus, cloud stream
  • rabbitmq, kafka,activemq 5, artemis, pulsar,
  • kafka stream
  • rsocket, solace pubsub
  • mail sender
  • spring ai

ops:

  • resilience4j
  • Spring boot actuator, sentry
  • graphlite, newrelic, prometheus, ditribute tracing, wavefront, zipkin

security:

  • spring security,
  • oauth2 client, authorization server, resource server
  • spring ldap, okta, embedded ldap server

cloud:

  • cloud bootstrap, function, task
  • azure (active directory, cosmos, key vault, storage)
  • google (messaging, storage)

misc:

  • spring integration, apache camel
  • spring batch
  • quartz, timefold solver
  • speing shell
  • spring rest doc, testcontainer, contract verifier

四、Quarkus

core:

  • cdi
  • yaml config
  • logging json

web:

  • Resteasy reactive, resteasy client
  • undertow, websocket
  • Qute
  • openapi, graphql(vertx, smallrye)

data:

  • jdbc driver, hibernate, jpa, panache, envers
  • hibernate reactive, hibernate search
  • narayana, jta
  • hibernate validator
  • infinispan, redis
  • cassandra, elasticsearch, mongodb, neo4j
  • flyway, liquibase

net:

  • gRPC,
  • apache avro, jackson, jaxb, jsonb, jsonp
  • Reactive, Mutiny, Vertx
  • JMS, smallrye(reactive messaging),
  • kafka client, kafka stream
  • Pulsar, RabbitMQ
  • apicrio registety, confluent schema registry
  • Stork, Consul
  • mailer, SMTP
  • langchain4j extension

ops:

  • smallrye(health, fault tolerance, metrics)
  • micrometer, info
  • opentelemetry
  • log management, Elasticsearch

security:

  • openid connect, Vault
  • smallrye jwt, Keycloak auth, Security WebAuthn
  • elytron security (JDBC, LDAP, Oauth)

cloud:

  • kubernate, openshift, kind, k8s client, k8s config, k8s service binding
  • operator sdk
  • funqy (aws, google, http, knative)
  • aws lambda, s3, kinesis, sns, function
  • google bigquery, firebase, spanner, pubsub, bigtable, function
  • azure function
  • container image(buildpack, docker, jib, openshift)

misc:

  • camel, Kogito
  • jacoco(code coverage)
  • awt
  • picocli(cli)
  • quartz, scheduler
  • spring extension(springboot props, spring cache, spring cloud config, spring data, spring web, spring security )
  • Tika

五、Vertx

core:

  • tcp client, tcp server, datagram, dns client
  • event bus, verticles, periodic and delayed action
  • file system
  • ha, clustering

web:

  • web client, graphql
  • template (thymeleaf, freemarker,…)
  • session storage (redis, cookie, infinispan)
  • openapi, web validation

data:

  • reactive client (pg, mysql, db2, mssql, oracle), jdbc
  • mongodb, redis, cassandra

net:

  • gRPC
  • rxjava, reactive streams,
  • service discovery, config
  • mqtt, AMQP, STOMP, RabbitMQ, kafka
  • consul client, mail, TCP eventbus
  • cluster manager (hazelcast, infinispan, ignite, zookeeper)
  • service proxies, sockJS, service factories(maven, http)

ops:

  • metrics (micrometer), health check, circuit breaker
  • tracing (zipkin, opentracing, opentelemetry)

security:

  • auth (JDBC, jwt, shiro, mongodb, properties, LDAP, webauthn, otp), oauth2

misc:

  • camel bridge
  • JUnit5
  • JSON schema
  • shell

六、简述

本文只罗列功能。

三个开发框架都是非常优秀的,根据软件应用的需求选择合适。

虽然技术路线有所不同(Quarkus在2.0之后已经融合的Vertx),但如果是相似的需求,开发方法也是相对应的。

国内开发者受互联网开发团队的影响,很多人只知道Spring,确切的说只知道Spring的经典用法。

另外还有很多优秀的技术框架:

现有的

  • 云原生:Micronaut, Helidon
  • Rest:Jersey, Resteasy
  • 界面:Vaadin, PrimeFaces
  • Web开发:Play

过去的

  • MVC:Struts, Spark
  • 界面(渲染方式):JSF, Wicket, Tapestry
  • 界面(语言编译方式):GWT
  • Rest:Dropwizard
  • 完整框架:Grails, Seam, Thorntail

原创文章,作者:guozi,如若转载,请注明出处:https://www.sudun.com/ask/90863.html

(0)
guozi's avatarguozi
上一篇 2024年6月7日 上午11:24
下一篇 2024年6月7日 上午11:25

相关推荐

  • 站群服务器多ip的好处有哪些?

    你是否听说过站群服务器?它是一种网络行业中常用的服务器,能够为网站提供多个IP地址。那么,你知道站群服务器多IP的好处有哪些吗?通过本文,我们将带您一起探讨什么是站群服务器、它的作…

    行业资讯 2024年3月20日
    0
  • 前端小而美的javascript库

    drag-and-drop Drag and Drop 是一个小型拖拽库,用于在您的应用中添加数据优先的拖放排序和元素传输。它简单、灵活、与框架无关,压缩后大小仅为 ~4Kb。Dr…

    2024年5月31日
    0
  • 独立ip虚拟主机

    在当今互联网时代,网络安全问题日益凸显,各种安全威胁层出不穷。而针对这一问题,独立IP虚拟主机应运而生。它不仅可以有效加速网络安全行业的发展,更能为用户提供更加安全、稳定和高效的网…

    行业资讯 2024年3月24日
    0
  • 站群优化怎么做

    站群优化怎么做?站群优化,作为网站推广的重要手段,是如何实现的呢?它的重要性又体现在哪里?如何通过简单的步骤和方法来进行站群优化?选择适合的云服务器又有哪些注意事项?随着互联网时代…

    行业资讯 2024年4月15日
    0

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注