GithubHelp home page GithubHelp logo

sxxjava / solon Goto Github PK

View Code? Open in Web Editor NEW

This project forked from opensolon/solon

0.0 0.0 0.0 26.4 MB

noear:: 更现代感的应用开发框架。更快、更小、更少、更自由!!!启动快 5 ~ 10 倍;qps 高 2~ 3 倍;运行时内存节省 1/3 ~ 1/2;打包可以缩到 1/2 ~ 1/10

Home Page: https://solon.noear.org

License: Apache License 2.0

Java 99.43% HTML 0.54% FreeMarker 0.04%

solon's Introduction

Solon for java

更现代感的,轻量级应用开发框架

https://solon.noear.org

Maven Apache 2 jdk-8 jdk-11 jdk-17 jdk-19
gitee star github star



启动快 5 ~ 10 倍;qps 高 2~ 3 倍;运行时内存节省 1/3 ~ 1/2;打包可以缩到 1/2 ~ 1/10


Solon

更现代感的应用开发框架。更快、更小、更少、更自由!

支持jdk8、jdk11、jdk17、jdk19;主框架0.1mb;组合不同的插件应对不同需求;方便定制;快速开发。

  • 克制、简洁、开放、生态
  • Http、WebSocket、Socket 三种信号统一的开发体验(俗称:三源合一)
  • 支持注解与手动两种模式,按需自由操控
  • Not Servlet,可以适配任何基础通讯框架(所以:最小0.2m运行rpc架构)
  • 自建 IOC & AOP容器,支持 Web、Data、Job、Remoting、Cloud 等任何开发场景
  • 集合 Handler + Context 和 Listener + Message 两种架构模式;强调插件式扩展;适应不同的应用场景
  • 插件可扩展可切换:启动插件,扩展插件,序列化插件,数据插件,会话状态插件,视图插件(可共存) 等...
  • 支持 GraalVm Native 打包
  • 允许 业务插件 热插、热拨
  • 体验与 Spring Boot 相近,迁移成本低: 《Solon 特性简集,相较于 Springboot 有什么区别?》

Solon Cloud

一系列分布式开发的接口标准和配置规范,相当于DDD模式里的防腐层概念。是 Solon 的微服务架构模式开发解决方案。 目前已适配了一系列的插件用于支持这一标准:《Solon Cloud 分布式服务开发套件清单,感觉受与 Spring Cloud 的不同》

其中,Water 项目 是一站式支持 Solon Cloud 系列标准的支撑平台。 功能相当于:consul + rabbitmq + elk + prometheus + openFaas + quartz + 等等,并有机结合在一起。一直与 Solon 项目伴生成长。

Hello world:

<parent>
    <groupId>org.noear</groupId>
    <artifactId>solon-parent</artifactId>
    <version>1.10.5</version>
</parent>

<dependencies>
    <dependency>
        <groupId>org.noear</groupId>
        <artifactId>solon-web</artifactId>
    </dependency>
</dependencies>
//Handler 模式:
public class App{
    public static void main(String[] args){
        SolonApp app = Solon.start(App.class,args);
        
        app.get("/",(c)->c.output("Hello world!"));
    }
}

//Controller 模式:(mvc or rest-api)
@Controller
public class App{
    public static void main(String[] args){
        Solon.start(App.class,args);
    }
  
    //限定 WebSocket 方法类型
    @WebSocket
    @Mapping("/")
    public String hello(String name){
        return "Hello " + name;
    }
}

//Remoting 模式:(rpc)
@Mapping("/")
@Remoting
public class App implements HelloService{
    public static void main(String[] args){
        Solon.start(App.class,args);
    }

    @Override
    public String hello(){
        return "Hello world!";
    }
}

主框架及快速集成开发包:

主框架
组件 说明
org.noear:solon-parent 框架版本管理
org.noear:solon 主框架
org.noear:nami 伴生框架(做为solon remoting 的客户端)
快速集成开发包及相互关系
组件 说明
org.noear:solon-lib 快速开发基础集成包
org.noear:solon-api solon-lib + jlhttp boot;快速开发接口应用
org.noear:solon-web solon-api + freemarker + sessionstate;快速开发WEB应用
org.noear:solon-beetl-web solon-api + beetl + beetlsql + sessionstate;快速开发WEB应用
org.noear:solon-enjoy-web solon-api + enjoy + arp + sessionstate;快速开发WEB应用
org.noear:solon-rpc solon-api + nami;快速开发RPC应用
org.noear:solon-cloud solon-rpc + consul;快速开发微服务应用

快速了解 Solon 架构的材料:

官网及相关示例:

solon's People

Contributors

noear avatar iyarnfog avatar liaocp666 avatar dependabot[bot] avatar cym1102 avatar tomsun28 avatar andnnl avatar iamd3 avatar 7rikka avatar viszoe avatar 2738671 avatar gollyhu avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.