魔方是一个快速 Web 开发平台,能够快速搭建系统原型,而又具有足够灵活的可扩展性!
内部集成了用户权限管理、模板继承、SSO 登录、OAuth 服务端、数据导出与分享等多个功能模块,默认模板在真实项目中经历过单表 100 亿数据添删改查的考验。
快速体验:
docker run newlifex/cube
演示站点:https://cube.newlifex.com CentOS7 + CDN
SSO 中心:https://sso.newlifex.com OAuth服务端
魔方教程:https://newlifex.com/cube
XCode 教程:https://newlifex.com/xcode
核心库教程:https://newlifex.com/core
计划启动第三代魔方的设计,主要方向是借助前后端分离技术重构现代化用户界面,在 3 月份完成第一个最小可用版(vue)。
后端接口源码位于魔方代码库的 dev 分支,各前端代码库独立,欢迎大家积极参与!
- 参与者加入 github 上的 NewLifeX 团队,自由向魔方 dev 分支提交代码或修改文档。
- 统一使用解决方案
魔方-前后端分离.sln
。 - 欢迎增加更多的前端项目,每一种前端放一个独立目录,如
Antd
则新建NewLife.CubeAntd
。 - 大家在文档或代码处,标注负责人。
- 源码库使用 github,以及新生命团队糖果库(可申请权限)
第三代魔方的远景目标,预计用 2~3 年时间完成。
- 重构为现代化用户界面,让魔方下游项目在迁移到三代魔方时,尽可能少修改代码
- 前后端分离技术,支持 Vue/React/Angular/Blazor 等主流前端框架
- 魔方理念和用法保持不变,新建 WebApi 项目后从 Nuget 引入 NewLife.Cube,加入模型生成实体类和 Controller 即可得到默认皮肤的界面,需要定制时才写前端代码
- 增强移动端支持,混合式手机 APP、小程序
- 增强支持数据大屏
春雨计划,定于 2023 年 3 月完成第一个最小 vue 可用版,待办项如下(欢迎补充):
- [] 在 dev 分支新建 WebApi 项目
NewLife.Cube
,占用 Asp.Net 4.5 的坑位(已弃用),将来发布包也是NewLife.Cube
- [] 专属于 NetCore 版的代码,转移到
NewLife.CubeNC
目录,尽量保留代码提交历史,方便将来查找 - [] 设计全新的
EntityController和EntityReadonlyController
,只为前端提供接口 - [] 编写接口文档
- [] 设计 vue 版主页(框架页),前端项目是
NewLife.CubeVue
,vue 项目调用后端CubeDemo
- [] 设计 vue 版登录页
- [] 设计 vue 版用户列表页和表单页
- [] 设计 vue 版角色列表页和表单页
Vue 版前端代码库:
https://github.com/NewLifeX/NewLife.CubeVue http://git.newlifex.com/NewLife/NewLife.CubeVue
支持 vue 之外的前端框架,不限于 3 月份完成。
- [] 新增 Blazor,项目 NewLife.Cube.Blazor。 @张善友 @张炳彬
- [] 新建 AntDesign,项目 NewLife.CubeAntd。 @Van
Antd 版前端代码库:
https://github.com/NewLifeX/NewLife.CubeAntd http://git.newlifex.com/NewLife/NewLife.CubeAntd
- 通用权限管理,用户、角色、菜单、权限,支持控制器 Action 权限控制
- 多数据库,支持
MySql / SQLite / Sql Server / Oracle / SqlCe / Access
- 免部署,系统自动创建数据库表结构,以及初始化数据,无需人工干涉
- 强大的视图引擎,支持子项目视图重写父项目相同位置视图,任意覆盖修改默认界面
- 在 Visual Studio 中新建
ASP.NET Core Web
项目 - 通过 NuGet 引用
NewLife.Cube.Core
,或自己编译最新的魔方 NewLife.CubeNC源码 - 在
appsettings.json
的ConnectionStrings
段设置名为Membership
的连接字符串,用户角色权限菜单等存储在该数据库 - 系统自动识别数据库类型,默认
Data Source=..\Data\Membership.db
- 编译项目,项目上点击鼠标右键,
查看
,在浏览器中查看
,运行魔方平台 - 系统为
MySql
/SQLite
/Oracle
/SqlCe
数据库自动下载匹配(x86/x64
)的数据库驱动文件,驱动下载地址可在Config\Core.config
中修改PluginServer
- 系统自动下载脚本样式表等资源文件,下载地址可在
Config/Cube.config
中修改PluginServer
- 默认登录用户名是
admin
,密码是admin
,也可以使用NewLife
等第三方 OAuth 登录,首个进入系统的用户抢得管理员,原admin
禁用 - 项目发布时只需要拷贝
*.dll
、appsettings.json
、*.deps.json
、*.runtimeconfig.json
,以及其它自己添加的资源文件
- 在 Visual Studio 中新建
ASP.NET MVC
项目 - 通过 NuGet 引用
NewLife.Cube
,或自己编译最新的魔方 NewLife.Cube源码 - 在
Web.config
的<connectionStrings>
段设置名为Membership
的连接字符串,用户角色权限菜单等存储在该数据库 - 系统自动识别数据库类型,默认
\<add name="Membership" connectionString="Data Source=..\Data\Membership.db" providerName="Sqlite"/>
- 编译项目,项目上点击鼠标右键,
查看
,在浏览器中查看
,运行魔方平台 - 系统为
MySql
/SQLite
/Oracle
/SqlCe
数据库自动下载匹配(x86/x64
)的数据库驱动文件,驱动下载地址可在Config\Core.config
中修改PluginServer
- 系统自动下载脚本样式表等资源文件,下载地址可在
Config/Cube.config
中修改PluginServer
- 默认登录用户名是
admin
,密码是admin
,也可以使用NewLife
等第三方 OAuth 登录,首个进入系统的用户抢得管理员,原admin
禁用 - 推荐安装 Visual Studio 插件 Razor Generator,给
.cshtml
文件设置自定义工具
为RazorGenerator
,可以把.cshtml
编译生成到DLL
里面 - 项目发布时只需要拷贝
Bin
、web.config
、Global.asax
,以及其它自己添加的资源文件
各项目默认支持 net7.0/netstandard2.1/netstandard2.0/net4.61,旧版(2022.1225)支持 net4.5/net4.0/net2.0
项目 | 年份 | 说明 |
---|---|---|
基础组件 | 支撑其它中间件以及产品项目 | |
NewLife.Core | 2002 | 核心库,日志、配置、缓存、网络、序列化、APM 性能追踪 |
NewLife.XCode | 2005 | 大数据中间件,单表百亿级,MySql/SQLite/SqlServer/Oracle/TDengine/达梦,自动分表 |
NewLife.Net | 2005 | 网络库,单机千万级吞吐率(2266 万 tps),单机百万级连接(400 万 Tcp) |
NewLife.Remoting | 2011 | RPC 通信框架,内网高吞吐或物联网硬件设备场景 |
NewLife.Cube | 2010 | 魔方快速开发平台,集成了用户权限、SSO 登录、OAuth 服务端等,单表 100 亿级项目验证 |
NewLife.Agent | 2008 | 服务管理组件,把应用安装成为操作系统守护进程,Windows 服务、Linux 的 Systemd |
NewLife.Zero | 2020 | Zero 零代脚手架,基于 NewLife 组件生态的项目模板,Web、WebApi、Service |
中间件 | 对接知名中间件平台 | |
NewLife.Redis | 2017 | Redis 客户端,微秒级延迟,百万级吞吐,丰富的消息队列,百亿级数据量项目验证 |
NewLife.RocketMQ | 2018 | RocketMQ 纯托管客户端,支持 Apache RocketMQ 和阿里云消息队列,十亿级项目验 |
NewLife.MQTT | 2019 | 物联网消息协议,MqttClient/MqttServer,客户端支持阿里云物联网 |
NewLife.IoT | 2022 | IoT 标准库,定义物联网领域的各种通信协议标准规范 |
NewLife.Modbus | 2022 | ModbusTcp/ModbusRTU/ModbusASCII,基于 IoT 标准库实现,支持 IoT 平台和 IoTEdge |
NewLife.Siemens | 2022 | 西门子 PLC 协议,基于 IoT 标准库实现,支持 IoT 平台和 IoTEdge |
NewLife.Map | 2022 | 地图组件库,封装百度地图、高德地图和腾讯地图 |
NewLife.IP | 2022 | IP 地址库,IP 地址转物理地址 |
产品平台 | 产品平台级,编译部署即用,个性化自定义 | |
AntJob | 2019 | 蚂蚁调度,分布式大数据计算平台(实时/离线),蚂蚁搬家分片思想,万亿级数据量项目验证 |
Stardust | 2018 | 星尘,分布式服务平台,节点管理、APM 监控中心、配置中心、注册中心、发布中心 |
NewLife.ERP | 2021 | 企业 ERP,产品管理、客户管理、销售管理、供应商管理 |
CrazyCoder | 2006 | 码神工具,众多开发者工具,网络、串口、加解密、正则表达式、Modbus |
XProxy | 2005 | 产品级反向代理,NAT 代理、Http 代理 |
HttpMeter | 2022 | Http 压力测试工具 |
GitCandy | 2015 | Git 源代码管理系统 |
SmartOS | 2014 | 嵌入式操作系统,完全独立自主,支持 ARM Cortex-M 芯片架构 |
SmartA2 | 2019 | 嵌入式工业计算机,物联网边缘网关,高性能.NET6 主机,应用于工业、农业、交通、医疗 |
菲凡物联 FIoT | 2020 | 物联网整体解决方案,建筑、环保、农业,软硬件及大数据分析一体化,单机十万级点位项目验证 |
NewLife.UWB | 2020 | 厘米级(10~20cm)高精度室内定位,软硬件一体化,与其它系统联动,大型展厅项目验证 |
新生命团队(NewLife)成立于 2002 年,是新时代物联网行业解决方案提供者,致力于提供软硬件应用方案咨询、系统架构规划与开发服务。
团队主导的开源 NewLife 系列组件已被广泛应用于各行业,Nuget 累计下载量高达 60 余万次。
团队开发的大数据核心组件 NewLife.XCode、蚂蚁调度计算平台 AntJob、星尘分布式平台 Stardust、缓存队列组件 NewLife.Redis 以及物联网平台 NewLife.IoT,均成功应用于电力、高校、互联网、电信、交通、物流、工控、医疗、文博等行业,为客户提供了大量先进、可靠、安全、高质量、易扩展的产品和系统集成服务。
我们将不断通过服务的持续改进,成为客户长期信赖的合作伙伴,通过不断的创新和发展,成为国内优秀的 IT 服务供应商。
新生命团队始于2002年,部分开源项目具有20年以上漫长历史,源码库保留有2010年以来所有修改记录
网站:https://newlifex.com
开源:https://github.com/newlifex
QQ 群:1600800/1600838
微信公众号: