TINY FRAMEWORK

基于组件化的J2EE开发框架,from:http://www.tinygroup.org/

 

名字

Tiny名称的来历

取名Tiny是取其微不足道,微小之意。

Tiny的构建者认为,一个J2EE开发框架是非常复杂的,只有把框架分解成非常细小、可控的部分,并且对每个细小、可控的部分都有一个最优解或相对最优解, 那么整个方案也就可以非常不错的落地。

策略

Tiny框架的构建策略

Think big, start small, scale fast.

想法要宏伟,但是要从小的开始,同时可以快速的进行扩展。

Tiny框架的构建者认为:如果想法不够宏伟,那么就会局限于细节;如果一开始就铺非常大的摊子,将会失去控制;如果不能快速扩展,就无法满足应用需要。

定位

Tiny框架的应用定位

基于WEB的展现平台

主要包括展现层及控制层,可以让开发人员方便快速的实现WEB层的开发,同时要避免现有方案的缺点,同时要有自己非常突出的优点。

基于SOA的服务开发平台

可以方便的开发平台无关的服务,同时有水平扩展,应用集群方面要有良好的支持,可以满足7*24的运维要求。

目标

Tiny框架的目标定位

Tiny框架的构建者认为再好的框架也有过时的时候,再优秀的架构师也有视野盲区,再NB的写手也无法实现所有的部分。

所以Tiny框架的构建者认为:只有建立一个良好的生态圈,让广大开发者使用者都在生态圈在找到自己的位置,才是有生命的模式。

UI示例:

在线演示地址:http://www.tinygroup.org/tinyadmin/

 
以下是来自OSChina的推荐文章,摘自:http://www.oschina.net/news/57443/tinyframework-1-2-0

TinyFramework 1.2.0 预览版正式发布,更新内容如下:

Tiny框架

  • 虽然整体体量比较大,但是它的每个模块都分得非常小,因此非常容易掌握

  • 它的各种组件都可以方便的进行扩展,通过扩展可以不断的提升系统的处理能力

  • 它的工具已经非常强大,而且它还是变得更加强大。

  • 不管是管理台还是过滤器、Servlet,不管是流程组件还是UI组件,还是UI组件包等等都是可以自组装的

  • 在Tiny的世界中Web工程只是个集合,除了配置文件和Pom依赖,不应该有其它东西

  • 支持水平扩展,同时可以支持7*24小时运行

  • 开始团队由金字塔向哑铃型转变,高低水平者各司其职

  • 绝大多数情况下,要做的只是依赖,而不需进行配置

  • "众里寻他千百度,蓦然回首,那人却在,灯火阑珊处”,这一点是我们永远追求的目标

使用Tiny的理由

  • 架构者十几年平台架构经验,避免了N多已经走过的坑

  • 工程结构细化使得一切都可以非常容易理解及掌握

  • 高内聚、低耦合、高质量的代码

  • 与第三方平台的良好集成能力,想用什么就用什么,有非常低的侵入性

  • 核心、前台、后台、UI、工具一应俱全

  • 可以提供一站式应用开发支持,大多数的情况下都已足够

  • 专职的团队,可以保持项目持续不断的前进

  • 基于架构者设计的开发框架及Tiny上的产品的销售额累计有5个亿左右的销售额

  • 正在构建的Tiny生态圈,上百个UI组件及流程组件已经足够你日常使用,还会有更多被不断加入

Tiny框架适用对象

  • 在校学生,经常会做毕业论文啥的,如果需要搞点有深度的,到Tiny框架中挖挖,可以有不少猛料

  • SOHO一族,整合SSH/I之类框架来做做应用一般是够的,但是Tiny框架依然可以给你不一样的选择

  • 个体或小型企业,很明确,光是SSH/I已经不足让你的方案看起来高大上,也不足以支持业务数据量比较大的时候的应用场景,也不足以支撑居高不下的软件开发实施成本。

  • 中型企业,个体或小型企业碰到的问题你都会碰到,尤其还要考虑是的多系统集成、体系化规范建设、人员复用、资产复用等等诸多问题,自己创建团队需要解决合适的人、巨大的成本,巨大的风险。

质疑的声音

我相信,肯定也会有诸多质疑的声音,这是非常正确的,不过在质疑之前是,请先考虑一下如下事实:

  • Tiny构建了远超过Velocity性能和功能的模板引擎

  • Tiny构建了基于JDBC Driver的数据库分区分表引擎

  • Tiny构建了高性能的XmlParser、HtmlParser

  • Tiny构建了网络爬虫

  • 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源码Git仓库

TinyAdmin在线演示网站

Tiny的博客里有许多精彩的文章,不一样的内容,一样的精彩,欢迎前来观看,保证不会让您失望。

当然,也可以看看下面的快速入门文档,了解一下Tiny的开发模式。

Tiny快速入门手册

Tiny快速入门之服务开发

Tiny快速入门之Web界面快速开发实践

Tiny快速入门之控制层开发

推荐使用Tiny Framework web开发UI组件的更多相关文章

  1. 工作流,WEB框架,UI组件网络收集整理

    工作流,WEB框架,UI组件网络收集整理 在博客园上逛了好多年,随手收录了一些工作流,WEB开发框架,UI组件,现在整理一下与大家分享. 由于个人能力与精力有限,望各位园友在评论中补充,我将全部整理到 ...

  2. 038——VUE中组件之WEB开发中组件使用场景与定义组件的方式

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  3. Web 前端 UI 组件库文档自动化方案 All In One

    Web 前端 UI 组件库文档自动化方案 All In One 需求 自动化 动态 好用 markdown element-ui 中示例和说明按照一定规则写在md文件中,调用md-loader将md文 ...

  4. 微信小程序开发UI组件

    第一  view和input和button组件 1.UI组件的通用属性 (1)id       唯一标识 (2)class  设置组件的样式类 (3)style 设置组件的内联样式 (4)hidden ...

  5. [deviceone开发]-UI组件的动画示例

    一.简介 自定义组件模版(头部,按钮,加减数量,加载,底部弹出,开关(文字/无文字),选项卡(2-4), radio)全部带自定义动画效果,需从组件商店中添加:do_Animator组件 二.效果图 ...

  6. Play Framework Web开发教程(33): 结构化页面-组合使用模板

    和你编写代码相似,你编写的页面也能够由多个小的片段组合而成,这些小的片段本身也能够由更小的片段构成.这些小片段一般是能够在其他页面反复使用的:有些部分能够用在全部页面,而有些部分是某些页面特定的.本篇 ...

  7. 挂号平台首页开发(UI组件部分)

    JQ插件模式开发UI组件 JQ插件开发方法: 1.$.extend() 扩展JQ(比较简单,功能略显不足) $.extend({ sayHello:function(){ console.log(&q ...

  8. 转Web开发的发展史---Web开发技术的演变

    转自:http://blog.csdn.net/zzzkk2009/article/details/9849431 在接下来的几个月时间里,我打算写一系列关于完整web开发的文章.这第一篇文章虽然有所 ...

  9. Web 开发中很实用的10个效果【附源码下载】

    在工作中,我们可能会用到各种交互效果.而这些效果在平常翻看文章的时候碰到很多,但是一时半会又想不起来在哪,所以养成知识整理的习惯是很有必要的.这篇文章给大家推荐10个在 Web 开发中很有用的效果,记 ...

随机推荐

  1. javascript之DOM操作

    一.document.getElementById()    根据Id获取元素节点 <div id="div1"> <p id="p1"> ...

  2. JSON 数字排序 多字段排序

    原文http://bbs.csdn.net/topics/390594744?page=1#post-395599672 //排序数组 function SortBy(field, reverse, ...

  3. Linux MySql安装步骤

    本文将以MySQL 5.5.47为例,以CentOS 6.5为平台,讲述MySQL数据库的安装和设置. 源码包方式安装 1.新建MySql用户和用户组 groupadd mysql useradd - ...

  4. c#将输入的人民币数字金额转换成小写

    //// <summary> /// 人民币大小写金额转换 /// </summary> class RMBCapitalization { private const str ...

  5. 手动调整导航控制器中的viewcontroller

    NSMutableArray *array = [[NSMutableArray alloc]initWithArray: [self.navigationController viewControl ...

  6. Cocos2d-x3.1UserDefaule类具体解释

    在Cocos2d-x存储数据使用的类是UserDefault类,以下分析下该类的使用 //.h #include "base/CCPlatformMacros.h" #includ ...

  7. Android Studio Errors

    1.The import org.apache.http.client; tip: cannot be resolved; resolve: add this line in build.gradle ...

  8. 浅谈JavaScript DOM编程艺术读后感和一点总结

    最近工作不是很忙就想想想JavaScript的内部组成和一些要点,就是从这本书开始的.对新手来说还好,简单易懂. 简单终结下我重书中学到的一些要点. 下面都是个人学习的要点提取: 1.给自己预留退路, ...

  9. SyntaxError: Non-ASCII character '\xe2' in file 编码错误

    Editing .py file in the Notepad: But when run in the PowerShell, I found the follwing error: It seem ...

  10. Aandroid Error之 新导入工程报Unable to resolve target 'android-18'和R cannot be resolved

    有段时间没有写安卓了,今天导入以前的项目,结果看到控制台打印出了这样一句:Unable to resolve target 'android-18', 解决方法: 项目->属性->Andr ...