概述

Uncode 是基于Java 语言的一系列开源后端开发组件,主要包括:移动后端开发框架Uncode-BaaS,通用数据库访问组件Uncode-DAL和分布式任务调度组件Uncode-Schedule。其核心设计目标是使移动后端开发更加简单、易于维护,同时框架对部分基础操作进行了封装,提供认证、安全控制、Restful等基础功能模块,可以大大提高开发速度,降低开发成本。

发展概况

Uncode 项目开发始于2014年末,作者冶卫军(Juny Ye)架构师,具有多年电商、银行等大型系统开发和架构经验,随着移动互联网的流行,在移动互联网领域带领技术团队创业多年。深刻体会到中小公司在发展过程中所遇到的各种技术问题,所以发起 Uncode 系列开源项目,希望可以为中小公司快速发展提供参考和方向。Uncode 采用对商业应用友好的Apache Licence 2.0协议。开源以来在中国最大的开源社区深受广大开发者欢迎。

Uncode 系列项目秉承以下设计目:快速开发、代码简单、易于学习、功能强大、轻量级、易扩展,在坚持以上设计目标的同时,本着不重复制造轮子的原则,很好的应用和整合现有流行框架,打创功能全面的移动应用后端系列组件,彻底解放中小公司开发者的生产力,让中小公司开发者将更多的精力投入到具体业务实现,降低公司产品研发的时间和人力成本,使产品快速投向市场。

Uncode 通过实践将逐步形成了一系列移动互联网公司后端开发组件,并将在 Uncode 开发社区展示出来。

Uncode-BaaS 移动后端开发框架

功能概述

Uncode-BaaS移动后端开发框架,注于移动应用后端服务开发,旨在让移动后端开发变得更简单。任何企业或个人,通过Uncode-BaaS都可以给移动应用快速定制个性化的后端业务逻辑,可以大大降低后端开发时间和成本。Uncode-BaaS框架提供了这种灵活性,可以让您的代码实现非常简单,并直接在各种云服务上运行。一旦你更新了代码,所有的移动应用都会立即自动更新,新功能的发布将会变得更加简单可控。

主要特色

1、简单易用

Uncode-BaaS移动后端开发框架,简单易用,易于开发。开发者可以自已制定或者直接使用第三方插件实现移动应用后端业务逻辑,让开发者可以快速完成业务逻辑制定,并直接运行,完全省掉后端开发的时间和人力成本。使开发者可以投入更多精力到移动应用本身,研发出更具竞争力的移动产品。

2、易于维护

Uncode-BaaS移动后端开发框架,为开发者提供集成测试功能,可以随时进行测试,直接运行,无需发布。具有良好的可扩展性,无需对原有业务进行修改,即可实现扩展,同时多个服务之间可以互相调用。可以根据业务量自动扩容,不会对现有业务产生任何影响,具有完美的可伸缩性。

3、个性化定制

Uncode-BaaS移动后端开发框架,可以帮助开发者为自已的移动应用定制个性化的业务逻辑,可以满足所有业务场景的需求。开发者可以用最小的成本快速定制出所需要的业务逻辑,在众多移动应用中脱颖而出,占领先机。同时当应用需要调整时,开发者也可以快速重试。

4、低成本快速开发

Uncode-BaaS移动后端开发框架,对移动后端业务逻辑进行了高度封装,提供非常简单的方法,可以使任何开发者根据自已的业务需要定制业务逻辑,同时我们提供非常完善的帮助文档、示例应用和在线问答,帮助您完成业务定制。您可以完全不需要后端开发人员,将大量精力投入到移动应用本身,极大的降低人工及时间成本。

5、多终端

Uncode-BaaS移动后端开发框架,基于标准rest协议,可以适用所有终端,包括IOS、Android、Windows Phone、Html5等。不用在移动应用中作任何代码嵌入,就可以对开发者的应用进行全方位的统计和分析,大大降低了移动应用开发的难度和成本,同时可以保证数据的及时性和准确性。

6、安全可靠

Uncode-BaaS移动后端开发框架,为了保障数据安全,可以同时对服务和数据进行权限控制,对于服务可以设置服务的访问对象和操作权限。对于数据本身,可以分别按照用户、角色和用户组,对表或字段级使用权限进行严格控制,可以保障最小粒度的权限控制,完美解决移动应用数据安全问题。另外利用云特性保障存储安全。

Uncode-DAL 通用数据访问组件

功能概述

Uncode-DAL通用数据访问组件,本着不重复制造轮子的原则,基于Mybatis、Spring JDBC、Hibernate、MongoDB等ORM框架开发,同时支持基于多数据源的读写分离、主备切换、故障转移,自动恢复、负载均衡、缓存等。可以大大提高开发速度。

主要特色

1、基于Mybatis、Spring JDBC、Hibernate等ORM框架实现通用DAL层功能,并可以与已有项目完全兼容。同时支持在ORM框架之间任意切换,不需要对代码作任何改动。

2、实现统一的DAL层Cache,可以自由设置过期时间。

3、实现基于多数据源(DataSource)的读写分离、主备切换、故障转移、恢复检测和负载均衡。

4、使用该组件建议遵循以下规则:

  • 在使用DTO时,字段名称与数据库表字段一致,不区分大小写,也可以不使用任何DTO类,直接使用MAP。

  • 不支持连表查询,主要是单表操作,如果需要连表请与原生orm框架配合使用。

  • SQL默认主键字段为id,NoSql默认主键字段为_id。

Uncode-Schedule 分布式任务调度组件

功能概述

Uncode-Schedule基于Zookeeper和Quartz/Spring Task的分布式任务调度组件,非常小巧,无需任何修改就可以使Quartz和Spring Task具备分布式特性,并确保所有任务在集群中不重复,不遗漏的被执行。

主要特色

1、基于流行的Zookeeper和Quartz/Spring Task的分布任务调度组件。

2、集群任务节点以单个JVM为单位,确保每个任务在集群中不同节点上不重复的执行。

3、单个任务节点故障时自动转移到其他任务节点继续执行。

4、弱依赖于Zookeeper,任务节点启动时需要保证Zookeeper可用,任务节点运行期Zookeeper集群不可用时任务节点保持可用前状态运行,Zookeeper可用后自动注册任务并恢复正常。

5、支持已有任务动态停止和运行。

6、使用注意事项:

  • 单节点故障时需要应用自已保障数据完整性或幂等性。

  • 具体使用方式和Quartz和Spring Task相同,只需要添加ZKScheduleManager配置即可。

项目评价

开源中国

2015 年 Git@OSC 新增热门开源软件项目 Top 50

其他

【盘点】2015年热门的国产开源软件TOP 50

转载于:https://my.oschina.net/uncode/blog/615090

Uncode系列开源后端开发组件相关推荐

  1. Uncode系列开源组件简介

    概述 Uncode 是基于Java 语言的一系列企业级开源组件,作者冶卫军 (开源作者花费大量时间维护开源项目,期望正确使用).主要包括:移动后端开发框架Uncode-BaaS ,通用数据库访问组件U ...

  2. JS组件系列——开源免费图表组件:Chart.js

    前言:最近被开源免费得有点上火了,各种组件首先想到的就是是开源否.是否免费.是否和bootstrap风格一致.想着以后做报表肯定要用到图表组件的,于是在Bootstrap中文网上面找到了Chart.j ...

  3. 国内研发!适用于安卓应用程序的 Word文档功能开发组件来啦!

    你是否在寻找一款工具能够在Android应用程序中的Word文档管理的开发工具?那么,好消息来啦!Spire系列文档开发组件又添新成员,专门用于在 Android 手机应用程序中创建.读取.操作和转换 ...

  4. 后端开发实践系列——Spring Boot项目模板

    在我的工作中,我从零开始搭建了不少软件项目,其中包含了基础代码框架和持续集成基础设施等,这些内容在敏捷开发中通常被称为"第0个迭代"要做的事情.但是,当项目运行了一段时间之后再来反 ...

  5. ABP开发框架前后端开发系列——框架的总体介绍

    ABP开发框架前后端开发系列--框架的总体介绍 ABP是ASP.NET Boilerplate的简称,ABP是一个开源且文档友好的应用程序框架. ABP不仅仅是一个框架,它还提供了一个最徍实践的基于领 ...

  6. 深入解析当下大热的前后端分离组件django-rest_framework系列一

    Nodejs的逐渐成熟和日趋稳定,使得越来越多的公司开始尝试使用Nodejs来练一下手,尝一尝鲜.在传统的web应用开发中,大多数的程序员会将浏览器作为前后端的分界线.将浏览器中为用户进行页面展示的部 ...

  7. ABP开发框架前后端开发系列---(9)ABP框架的权限控制管理

    在前面两篇随笔<ABP开发框架前后端开发系列---(7)系统审计日志和登录日志的管理>和<ABP开发框架前后端开发系列---(8)ABP框架之Winform界面的开发过程>开始 ...

  8. ABP开发框架前后端开发系列---(8)ABP框架之Winform界面的开发过程

    在前面随笔介绍的<ABP开发框架前后端开发系列---(7)系统审计日志和登录日志的管理>里面,介绍了如何改进和完善审计日志和登录日志的应用服务端和Winform客户端,由于篇幅限制,没有进 ...

  9. python是开源的、它可以被移植到许多平台上_python是开源的,它可以被移植到许多平台上,是对的吗?_后端开发...

    一个c语言源程序是由什么组成_后端开发 一个c语言源程序是由一个或多个源文件组成的,而每个源文件可由一个或多个函数组成,并且一个源程序不论由多少个文件组成,都有一个且只能有一个main函数,即主函数. ...

  10. 揭开后端开发-中间组件、内存数据库Redis的迷雾,听完瞬间豁然开朗丨C/C++Linux服务器开发丨中间件

    揭开后端开发-中间组件.内存数据库Redis的迷雾,听完瞬间豁然开朗 视频讲解如下: 揭开后端开发-中间组件.内存数据库Redis的迷雾,听完瞬间豁然开朗丨C/C++Linux服务器开发丨中间件丨组件 ...

最新文章

  1. .py与.pyc文件区别
  2. php课设报告致谢_PHP学生管理系统毕业论文设计.doc
  3. WinCE6下的kernelIoControl使用方法
  4. Linux下Chromium使用flash的办法
  5. gcn在图像上的应用_每日摘要|基于CNN 特征的图像卷积网络识别杂草和作物
  6. Spring AOP 的日志管理实现
  7. ssm把后端数据传到前端_ssm框架中前端jsp页面的数据除了表单提交以外如何传到后台?...
  8. java BufferedReader
  9. PL-SVO: Semi-Direct Monocular Visual Odometry by Combining Points and Line Segments
  10. 学车支招,如何控制离合与方向?
  11. 力扣-973. 最接近原点的 K 个点
  12. python中grid的用法_SVM中如何使用grid.py
  13. [译]使用YUI 3开发Web应用的诀窍
  14. cmd命令查询硬盘序列号,磁盘ID,MAC地址
  15. Android 系统分析工具:Systrace
  16. 在Ubuntu20.04上安装ros
  17. 如何更改windows桌面图标,更改桌面图标方法
  18. 9.0 OTA升级logo不更新,输入法不更新
  19. 详解DBSCAN聚类
  20. java 圈复杂度

热门文章

  1. Liang-Barsky算法思想及简单cpp实现
  2. python爬网络图片脚步_python爬虫入门 实战(五)---用webdriver实现批量自动发微博...
  3. Python获取当前时间
  4. 电脑连接android手机测试,Android系统手机通过USB连接电脑上网
  5. 开拓者队医当选年度最佳 球迷:罗伊情何以堪
  6. 通用技术 支付笔记之 PayPal 支付原理
  7. 分体式水晶头_桌面运维小知识--六类水晶头的接线方法(分体式安装图解)
  8. 网易企业邮箱登录服务器出错,网易企业邮箱登录出现故障,无法正常登录
  9. 转载:TD之父李世鹤:TD即将安乐死
  10. AxGlyph矢量绘图软件