感谢
感谢OSChina为我们提供了这么好的共享与交流平台。
感谢红薯及OSChina管理团队所有打过没打过交道同仁对Tiny一直以来的支持与帮助。
感谢所有鼓励和批评我的同学们,鼓励者为我们添加勇气,批评者让我们弥补不足。
感谢那些关注或点击过我的同学们,你们每一次的点击都会给我们力量,让我们坚信我们做的是有意义的;也感谢那些从来没有点击过我的同学们,因为你们让我知道我们还需要做得更多,更努力,更扎实。
当然尤其要感谢我的团队,正是我的团队们几年来对我的强力支持,才使我的梦想慢慢一步步变成现实。
一些时间节点及数字
让我们回顾一下,我们的几个重要时间与数字:
我们把源码库迁入OSC Git的时间是2014-2-21日,到目前为止,主工程已经有1014个commits,算上其它工程,commits应该在2000以上。
加入OSChina的时间是2013-08-09,到目前为止,写的博客是124篇 ,其中被OSC推荐的有32篇,其它的没有被推荐,但并不妨碍它们大多数都是精品。
到目前为目在OSC上的项目已经有18个之多,一部分是开放的,一部分是私有的,总共代码行数已经接近30万行,我们自己写的大概有28万行左右。
我们入驻SourceForge的时间是:2013-06-20 09:30:18 ,从开始到我们迁入OSChina,我们一共有3451个commits
代码复杂度:2.5 /method,15.1 /class,17.5 /file
代码重复率:2.8%
Sonar质量规则完成度:80.8%,如果去除我们引入的第三方的代码,应该在90%左右
以上质量数据可以与任何高质量项目相比较。
2014-3-1 Tiny
2013-6-30 Tiny框架有了第一个客户,
2012-3-14,Tiny框架正式开始启动编码
2011-6-4,Tiny框架正式开始启动,并逐步开始验证其中的技术难题
当然,再向前推进一点,那就是我策划并开发一个公司的J2EE的开发平台,虽然取得了相当的成绩,但是我总是感觉它距离我理想的框架还有相当的距离,但是由于项目是在公司体系下开发的,有时候想改变,却有心无力,而此时开源氛围愈加深厚,于是就催生了我通过开源方式来构建一个开发平台的想法。
我心目中理想的开源框架
- 她应该是小的、简单的,满足Simple Is Beautiful
- 她应该是成长性好的,随着不断的扩展,她可以越来越丰满
- 她应该是有良好工具支持的,为什么要花时间做工具可以完成的事情呢?
- 她应该是自组装的,也就是尽可能的脱离配置,而是用一种依赖即可用,取消依赖即消失的全自动处理模式
- 她应该是模块化的,所有的内容都可以被打入jar包而作为一个整体进行发布,并且能支持热部署的,可以开着车儿换轮胎的
- 她应该是支持水平部署的,想加服务器就加,想减服务器就减
- 她应该是有良好知识积累体系的,使得使用Tiny框架的人们越用越强,越用越爽
- 她应该是便于企业降低开发成本的,便于技术经理控制开发进度的,便于开发人员快速上手的
- 她应该是避免重复劳动的,所有软件参与者都不应该做重复的事情
- 她应该是自管理的,最好不要让程序员配置这个配置那个
- 她应该是让人有种"众里寻他千百度,蓦然回首,那人却在,灯火阑珊处”的开发框架
Tiny框架
- 虽然整体体量比较大,但是它的每个模块都分得非常小,因此非常容易掌握
- 它的各种组件都可以方便的进行扩展,通过扩展可以不断的提升系统的处理能力
- 它的工具已经非常强大,而且它还是变得更加强大。
- 不管是管理台还是过滤器、Servlet,不管是流程组件还是UI组件,还是UI组件包等等都是可以自组装的
- 在Tiny的世界中Web工程只是个集合,除了配置文件和Pom依赖,不应该有其它东西
- 支持水平扩展,同时可以支持7*24小时运行
- 开始团队由金字塔向哑铃型转变,高低水平者各司其职
- 绝大多数情况下,要做的只是依赖,而不需进行配置
- "众里寻他千百度,蓦然回首,那人却在,灯火阑珊处”,这一点是我们永远追求的目标
使用Tiny的理由
- 架构者十几年平台架构经验,避免了N多已经走过的坑
- 工程结构细化使得一切都可以非常容易理解及掌握
- 高内聚、低耦合、高质量的代码
- 完善的文档,快速入门在130页左右,全部文档接近600页,还在不断增加当中
- 与第三方平台的良好集成能力,想用什么就用什么,有非常低的侵入性
- 核心、前台、后台、UI、工具一应俱全
- 可以提供一站式应用开发支持,大多数的情况下都已足够
- 专职的团队,可以保持项目持续不断的前进
- 基于架构者设计的开发框架及Tiny上的产品的销售额累计有5个亿左右的销售额
- 正在构建的Tiny生态圈,上百个UI组件及流程组件已经足够你日常使用,还会有更多被不断加入
Tiny框架适用对象
- 在校学生,经常会做毕业论文啥的,如果需要搞点有深度的,到Tiny框架中挖挖,可以有不少猛料
- SOHO一族,整合SSH/I之类框架来做做应用一般是够的,但是Tiny框架依然可以给你不一样的选择
- 个体或小型企业,很明确,光是SSH/I已经不足让你的方案看起来高大上,也不足以支持业务数据量比较大的时候的应用场景,也不足以支撑居高不下的软件开发实施成本。
- 中型企业,个体或小型企业碰到的问题你都会碰到,尤其还要考虑是的多系统集成、体系化规范建设、人员复用、资产复用等等诸多问题,自己创建团队需要解决合适的人、巨大的成本,巨大的风险。
质疑的声音
我相信,肯定也会有诸多质疑的声音,这是非常正常的,不过在质疑之前,请先参考一下如下事实:
- Tiny构建了远超过Velocity性能和功能的模板引擎
- Tiny构建了基于JDBC Driver的数据库分区分表引擎
- Tiny构建了高性能的XmlParser、HtmlParser
- Tiny构建了网络爬虫
- Tiny构建了DBF读写程序
- Tiny构建了高效、强大的中文分词引擎
- Tiny构建了虚拟文件系统,简单、高效、且不存在内存泄露(Apache VFS中存在)
- Tiny解决了模块化问题,可以把一切资源放入Jar包,甚至JSP
- Tiny解决了前端UI组件化问题,所有js,css,img都可以打入jar包,而让程序员避免关心UI组件的依赖关系
- Tiny解决了每次升级的数据库脚本升级问题,程序员可以告别编写升级脚本的生活
- Tiny解决了缓冲从业务代码中完全剥离的难题
- Tiny解决了服务的一次开发到处使用难题,WebService,JSON,XML,etc统统不是问题
- Tiny解决了流程编排全自动排列问题(此项已申请专利)
- Tiny解决了业务单元热部署的难题
- Tiny解决了业务对象自动构建
- Tiny解决了还有许多的技术难题
所以,我要说的是,我们和一般的二货还是有差别的。
常用连接
当然,这里总结的比较粗,详细的介绍请查阅Tiny框架介绍PPT,或者下载了自己电脑看,如果有任何问题,请回贴提问。
Tiny的博客里有许多精彩的文章,不一样的内容,一样的精彩,欢迎前来观看,保证不会让您失望。
当然,也可以看看下面的快速入门文档,了解一下Tiny的开发模式。
Tiny快速入门之服务开发
Tiny快速入门之Web界面快速开发实践
Tiny快速入门之控制层开发
总结
Tiny框架目前的版本号是1.2.0-SNAPSHOT,现在正式对外开放,Tiny社区正在构建当中,将于近日开放。
经过社区验证一段时间之后,将正式发布Tiny2.0。
亲,你还在等什么?