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. java生成json字符串的方法

    例1:将map对象添加一次元素(包括字符串对.数组),转换成json对象一次. 代码: package com.json; //这是使用org.json的程序: import java.util.Ha ...

  2. UESTC_秋实大哥掰手指 2015 UESTC Training for Dynamic Programming<Problem B>

    B - 秋实大哥掰手指 Time Limit: 3000/1000MS (Java/Others)     Memory Limit: 2048/1024KB (Java/Others) Submit ...

  3. Letter Combinations of a Phone Number 解答

    Question Given a digit string, return all possible letter combinations that the number could represe ...

  4. Best Time to Buy and Sell Stock III 解答

    Question Say you have an array for which the ith element is the price of a given stock on day i. Des ...

  5. Isomorphic Strings 解答

    Question Given two strings s and t, determine if they are isomorphic. Two strings are isomorphic if ...

  6. GridBagLayout占多行效果注意

    如果想要出现按钮2占两行的效果,必须按键3.按钮4同时存在且同时可见. 如果缺少按钮4,则按钮2不会占两行: 如果缺少按钮3.4,则按钮2也不会占两行. package com.wst.bj; imp ...

  7. Unity 音乐播放全局类

    今天晚了LOL, 发现里面的声音系统做得很不错,于是最近就写了一份反正以后也用的到,2D音乐全局播放. 项目跟PoolManager对象池插件结合了. 解决的问题: 1. 已经播放的声音,可以马上暂停 ...

  8. 用Robocod游戏来学习JAVA

    Robocode(用游戏来学习Java技术还是用Java来玩游戏?)用你的JAVA编程技术来玩游戏吧!不会JAVA?那就用游戏来学习JAVA吧!什么是Robocode? 其实我对机器人一直很感兴趣.我 ...

  9. wpf动画概述

    http://msdn.microsoft.com/zh-cn/library/vstudio/ms752312(v=vs.100).aspx Windows Presentation Foundat ...

  10. Unity NGUI 血条制作

    NGUI 血条制作步骤 实现过程: 模拟血条的变化当点击按钮Button是血条会实时发生变化. 1.向Unity中导入NGUI2.6.3.unitypackage 点击create your ui 后 ...