ActFramework 1.0 正式发布, Java MVC 框架

罗格林
 罗格林
发布于 2017年03月09日
收藏 111

ActFramework 是一个Java的非轻量级全栈式MVC框架. 和其他框架相比ActFramework的主要特点有:

  • 热加载. 开发过程(包括新增方法变量)不需要重启系统, 随时可以看到最新代码的效果

  • 强大的参数绑定. 控制器方法可以绑定任何Java类型,包括基本类型,字符串,enum,数组,集合类型,Map类型和用户自定义的POJO

  • 灵活的路由配置 - 支持注入和路由表配置

  • 符合JSR330标准的依赖注入

  • 内置CSRF,XSS防护

  • 内置CORS,支持SPA前后端分离

  • 功能完备的数据库访问层

  • 完整的RESTFul服务支持

  • 优秀的运行时性能

  • 支持不同运行环境的配置

  • 支持多种模板引擎

  • 非Servlet框架, 容易开发和部署

  • 多种插件,包括mongodb, Excel输出, OAuth认证,认证/授权/记账等

这次发布除了ActFramework核心框架还包括一些成熟可用的插件

  • actframework 1.0.1 - 核心框架

  • act-ebean 1.0.0 - SQL数据访问

  • act-morphia 1.0.0 - MongoDB访问

  • act-aaa 1.0.0 - 认证/授权/记账

  • act-excel 1.0.0 - Excel输出

  • act-storage 0.8.0 - 上传文件管理引擎

  • act-beetl - beetl模板支持

  • act-freemarker - freemarker模板支持

  • act-mustache - mustache模板支持

  • act-thymeleaf - thymeleaf模板支持

  • act-velocity - velocity模板支持

ActFramework将采用语义化版本管理发布. 

本站文章除注明转载外,均为本站原创或编译。欢迎任何形式的转载,但请务必注明出处,尊重他人劳动共创开源社区。
转载请注明:文章转载自 OSCHINA 社区 [http://www.oschina.net]
本文标题:ActFramework 1.0 正式发布, Java MVC 框架
加载中

精彩评论

红薯
红薯
热加载这个牛逼啊!!!
罗格林
罗格林

引用来自“心尖偏左”的评论

关注一下 与play比不知道怎么样
Play2不提,我不熟悉, 也不喜欢. Play 1基本上是今天有Act的最初推动. 和Play1 相比, 共同点是:

1. MVC 模型, 而不是Component模型
2. 无状态Session处理 - 完全借鉴Play1的做法
3. 开发时动态加载机制.
4. 字节码增强, 比如控制器方法中render(x, y, z)这种就必须要有字节码增强才能实现
5. 控制器参数注入都非常灵活,支持基本类型和POJO,File等
6. 路由表的语法基本一致. 都能支持完全的RESTful路由
7. 都支持后台Job

不同的地方
1. 没有控制器方法必须是public static void 的限制
2. 项目组织没有想play那样自己弄一套. Act应用follow业界标准, 也就是maven那一套
3. 在JSR规范支持上比Play好很多,比如依赖注入, 数据校验还有i18n这些的支持都是符合Java标准的
4. 系统默认的模板引擎是Rythm, 语法更容易掌握, 而且性能比Play的groovy引擎好很多
6. 除了路由表,路由还可以由注解定义
7. CLI的支持, Play是没有的
8. 对Job的支持比play简化了很多, 而且也强大很多,比如支持联动Job
9. 支持事件分派
10. 性能比Play强很多, 包括路由, 参数解析, 字节码扫描与增强这些地方都比Play强了不止一点点. 可以看看: https://github.com/networknt/microservices-framework-benchmark
罗格林
罗格林

引用来自“闲大赋”的评论

支持一个,轻量高效,有我的beetl模板引擎集成
谢谢@闲大赋. 我们一起合作了beetl模板引擎集成. 还会一起合作beetlsql数据库访问组件的Act集成
罗格林
罗格林

引用来自“WeiXiaodong”的评论

ActFramework 是一个Java的非轻量级全栈式MVC框架.

第一次看到自称非轻量级的,能否介绍下和自称轻量级的其他框架比起来,是否轻量级主要体现在哪

引用来自“罗格林”的评论

呵呵, 按照#TinyFramework#的说法(https://my.oschina.net/tinyframework/blog/347176), ActFramework大概算是5万块钱的车. 不是#JFinal#的1万(轻量),也不是#TinyFramework#的30万(重量), 就勉强给自己一个非轻量的定语. 是个玩笑了.

首先, Act不是极简型的框架, 有很多依赖, 一个HelloWorld程序打包下来大概有18M的zip文件, 比极简型的几百K要多上不少. 当然像Play1的一个War包大概有40M, SpringBoot的包可能也差不多把. 所以从部署角度触发, Act虽然不是极简, 但是也算不上重量级框架.

从功能上讲, Act提供了大部分MVC应用所需要的特性, 包括路由, 控制器, 请求数据绑定, 文件上传下载, 数据访问, 后台任务, 事件分派, 邮件发送, 认证授权记账, 安全性方面的CSRF, XSS防护, SPA支持方面的CORS, RESTful方面的JSON, 路由变量等等功能, 也算是比较齐全了. 和SparkFramework之类比起来功能完备了不少, 当然和Spring这些重量级的框架相比还是有很多欠缺.

诸如以上考虑, 我也就给Act一个非轻量的定语

引用来自“WeiXiaodong”的评论

感谢。那请问act是否可以应用于大型复杂系统并维持高性能呢?比如高峰时期的淘宝。
这个话题太大了. 我自己的理解是道理淘宝这样的规模, 每个部件都应该是定制的吧. 不太可能用一个通用的框架(比如Spring)来解决问题.

回到Act来说, 目前没有提供异步通信的支持. 我不建议用在需要支持大并发的系统上面
罗格林
罗格林

引用来自“WeiXiaodong”的评论

ActFramework 是一个Java的非轻量级全栈式MVC框架.

第一次看到自称非轻量级的,能否介绍下和自称轻量级的其他框架比起来,是否轻量级主要体现在哪
呵呵, 按照#TinyFramework#的说法(https://my.oschina.net/tinyframework/blog/347176), ActFramework大概算是5万块钱的车. 不是#JFinal#的1万(轻量),也不是#TinyFramework#的30万(重量), 就勉强给自己一个非轻量的定语. 是个玩笑了.

首先, Act不是极简型的框架, 有很多依赖, 一个HelloWorld程序打包下来大概有18M的zip文件, 比极简型的几百K要多上不少. 当然像Play1的一个War包大概有40M, SpringBoot的包可能也差不多把. 所以从部署角度触发, Act虽然不是极简, 但是也算不上重量级框架.

从功能上讲, Act提供了大部分MVC应用所需要的特性, 包括路由, 控制器, 请求数据绑定, 文件上传下载, 数据访问, 后台任务, 事件分派, 邮件发送, 认证授权记账, 安全性方面的CSRF, XSS防护, SPA支持方面的CORS, RESTful方面的JSON, 路由变量等等功能, 也算是比较齐全了. 和SparkFramework之类比起来功能完备了不少, 当然和Spring这些重量级的框架相比还是有很多欠缺.

诸如以上考虑, 我也就给Act一个非轻量的定语

最新评论(72

WeiXiaodong
WeiXiaodong

引用来自“WeiXiaodong”的评论

ActFramework 是一个Java的非轻量级全栈式MVC框架.

第一次看到自称非轻量级的,能否介绍下和自称轻量级的其他框架比起来,是否轻量级主要体现在哪

引用来自“罗格林”的评论

呵呵, 按照#TinyFramework#的说法(https://my.oschina.net/tinyframework/blog/347176), ActFramework大概算是5万块钱的车. 不是#JFinal#的1万(轻量),也不是#TinyFramework#的30万(重量), 就勉强给自己一个非轻量的定语. 是个玩笑了.

首先, Act不是极简型的框架, 有很多依赖, 一个HelloWorld程序打包下来大概有18M的zip文件, 比极简型的几百K要多上不少. 当然像Play1的一个War包大概有40M, SpringBoot的包可能也差不多把. 所以从部署角度触发, Act虽然不是极简, 但是也算不上重量级框架.

从功能上讲, Act提供了大部分MVC应用所需要的特性, 包括路由, 控制器, 请求数据绑定, 文件上传下载, 数据访问, 后台任务, 事件分派, 邮件发送, 认证授权记账, 安全性方面的CSRF, XSS防护, SPA支持方面的CORS, RESTful方面的JSON, 路由变量等等功能, 也算是比较齐全了. 和SparkFramework之类比起来功能完备了不少, 当然和Spring这些重量级的框架相比还是有很多欠缺.

诸如以上考虑, 我也就给Act一个非轻量的定语

引用来自“WeiXiaodong”的评论

感谢。那请问act是否可以应用于大型复杂系统并维持高性能呢?比如高峰时期的淘宝。

引用来自“罗格林”的评论

这个话题太大了. 我自己的理解是道理淘宝这样的规模, 每个部件都应该是定制的吧. 不太可能用一个通用的框架(比如Spring)来解决问题.

回到Act来说, 目前没有提供异步通信的支持. 我不建议用在需要支持大并发的系统上面
非常感谢
火星小破孩
火星小破孩
做个标记
罗格林
罗格林

引用来自“oreak”的评论

这些所谓热加载,就是监控文件变化,触发回调,重新reload ?

引用来自“小杨阿哥哥”的评论

源代码是这么实现的吗?
回复@小杨阿哥哥 : 基本上原理是一致的. 需要自己定义ClassLoader. 有兴趣可以看看源码
小杨阿哥哥
小杨阿哥哥

引用来自“oreak”的评论

这些所谓热加载,就是监控文件变化,触发回调,重新reload ?
源代码是这么实现的吗?
小白小霸王
小白小霸王
英文视频教程  哥!稳!
罗格林
罗格林

引用来自“游客”的评论

@罗格林 使用这种框架的公司,一般都是期望能快速开发,不知道有没有计划 1.添加代码的自动生成 2. 前端页面增删改查功能的生成?
没有添加代码自动生成的计划. CRUD工具在计划之中. 但还没有具体时间安排. 我也希望community能够围绕ActFramework开始做一些工具插件来满足他们自己的需求
foy
foy
相当牛逼啊
罗格林
罗格林

引用来自“游客”的评论

能打war包放到weblogic、tomcat、WebSphere 里吗
ActFramework不是Servlet架构, 不能打成War包. 也不需要Servlet容器来运行.
返回顶部
顶部