V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
unique
V2EX  ›  分享创造

Blade 2.0.5 发布,一款简洁优雅、高性能的 Web 框架

  •  1
     
  •   unique ·
    hellokaton · 2017-12-16 19:44:28 +08:00 · 5189 次点击
    这是一个创建于 2515 天前的主题,其中的信息可能已经有所发展或是发生改变。

    基于 Java8 + Netty4 创造的轻量级、高性能、简洁优雅的 Web 框架 :yum:

    1 小时 学会它做点有趣的项目,一款除了 Spring 系框架的不二之选。

    官网 | 快速开始 | BladeInAction | 视频教程 | 捐赠我们


    Blade 是什么?

    Blade 是一款追求简约、高效的 Web 框架,让 JavaWeb 开发如虎添翼,在性能与灵活性上同时兼顾。 如果你喜欢尝试有趣的事物,相信你会爱上它。 如果觉得这个项目不错可以 star 支持或者 捐赠 它 :blush:

    功能特性

    • [x] 新一代 MVC 框架,不依赖更多的库
    • [x] 摆脱 SSH 的臃肿,模块化设计
    • [x] 源码不到 500kb,学习也简单
    • [x] Restful 风格路由设计
    • [x] 模板引擎支持,视图开发更灵活
    • [x] 高性能,100 并发下 qps 6w/s
    • [x] 运行 JAR 包即可开启 web 服务
    • [x] 流式 API 风格
    • [x] 支持插件扩展
    • [x] 支持 webjars 资源
    • [x] 内置多种常用中间件
    • [x] 内置 JSON 输出
    • [x] JDK8+

    框架概述

    » 简洁的:框架设计简单,容易理解,不依赖于更多第三方库。Blade 框架目标让用户在一天内理解并使用。
    » 优雅的:Blade 支持 REST 风格路由接口, 提供 DSL 语法编写,无侵入式的拦截器。
    » 易部署:支持 maven 打成 jar 包直接运行。

    快速入门

    Maven 配置:

    创建一个基础的 Maven 工程

    <dependency>
      <groupId>com.bladejava</groupId>
      <artifactId>blade-mvc</artifactId>
      <version>2.0.5-RELEASE</version>
    </dependency>
    

    不需要创建 webapp 项目骨架, Blade 没这么麻烦。

    或者 Gradle:

    compile 'com.bladejava:blade-mvc:2.0.5-RELEASE'
    

    编写 main 函数写一个 Hello World

    public static void main(String[] args) {
        Blade.me().get("/", (req, res) -> {
            res.text("Hello Blade");
        }).start();
    }
    

    用浏览器打开 http://localhost:9000 这样就可以看到第一个 Blade 应用了!

    v2.0.5 更新内容

    1. 支持 WebSocket
    2. 支持 SSL 配置
    3. 支持自定义启动 BannerText
    4. 支持自定义启动线程名称
    5. 支持自定义业务线程前缀
    6. 获取 Environment 参数允许设置默认值
    7. 升级 Netty 版本到 4.1.18.Final
    8. 修复获取客户端 IP 地址
    9. 修复 robots.txt 请求导致的异常
    10. 修复 Nginx 下获取 Cookie 小写问题
    11. 添加 CollectionKit 工具类
    12. 添加 StringKit.isAnyBlank() 方法
    18 条回复    2017-12-19 23:33:57 +08:00
    HaoLan
        1
    HaoLan  
       2017-12-16 19:53:10 +08:00 via iPhone
    占个沙发支持下
    unique
        2
    unique  
    OP
       2017-12-16 20:10:14 +08:00
    @HaoLan 谢谢
    tinyuu
        3
    tinyuu  
       2017-12-16 20:18:05 +08:00
    ⛽️加油
    siloong
        4
    siloong  
       2017-12-16 20:18:46 +08:00
    前排围观
    ob
        5
    ob  
       2017-12-16 20:40:16 +08:00
    文档看了一遍,感觉很赞。
    ranleng
        6
    ranleng  
       2017-12-16 22:11:28 +08:00
    收藏下 明天有时间好好看看
    gsggwbz
        7
    gsggwbz  
       2017-12-16 22:27:20 +08:00 via Android
    不错,了解下,spring 全家桶太麻烦了
    mryys
        8
    mryys  
       2017-12-16 23:12:49 +08:00
    mark
    Tiakon
        9
    Tiakon  
       2017-12-17 00:54:26 +08:00
    哇!好腻害的样子
    OpenJerry
        10
    OpenJerry  
       2017-12-17 00:59:24 +08:00 via Android
    mark
    qfdk
        11
    qfdk  
       2017-12-17 02:46:59 +08:00 via iPhone
    前排支持 jhipster 路过
    Patrick95
        12
    Patrick95  
       2017-12-17 03:03:01 +08:00
    支持
    seasstyle
        13
    seasstyle  
       2017-12-17 08:27:22 +08:00 via iPhone
    支持
    Wichna
        14
    Wichna  
       2017-12-17 21:56:10 +08:00
    之前关注过这个框架,没想到是国人写的,赞👍
    unique
        15
    unique  
    OP
       2017-12-18 09:35:56 +08:00 via iPhone
    😂收藏的很多,给个评论顶上去
    twogoods
        16
    twogoods  
       2017-12-18 17:00:09 +08:00
    会添加异步支持吗?像 vertx 一样
    unique
        17
    unique  
    OP
       2017-12-18 17:14:10 +08:00
    @twogoods 目前还没考虑这个,响应式编程可能未来会火,但性能满足的前提下我还不打算将事情变得复杂,感谢你的建议 :P
    YzSama
        18
    YzSama  
       2017-12-19 23:33:57 +08:00 via iPhone
    支持。想问问 什么是响应式编程?
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1208 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 19ms · UTC 18:09 · PVG 02:09 · LAX 10:09 · JFK 13:09
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.