Magicodes.NET框架之路——V0.0.0.5 Beta版发布

最近写代码的时间实在不多,而且今年又打算业余学习下Unity3D以及NodeJs(用于开发游戏后台),因此完善框架的时间更不多了。不过我会一直坚持下去的,同时我也希望有兴趣的同学可以加入Push你的代码。

获取地址:https://github.com/magicodes/Magicodes.NET/releases/tag/V1.0.0.5Beta

文档地址:https://worktile.com/project/4a961c1c28cf4b07bdb4a07f661c7fcf/folder/b99d13f90d55401faba366a961e6d103

最新代码地址:https://github.com/magicodes/Magicodes.NET

如果碰到问题,请先阅读此链接:FAQ

这次更新主要内容如下所示,具体功能点你可以在Worktile上查看:

点此查看【需要注册】(如果无法打开,请复制下面链接https://worktile.com/project/4a961c1c28cf4b07bdb4a07f661c7fcf/task)

下面我开始大致的介绍介绍。

 

关于新的后台UI

之所以弃用ACE Admin,是因为ACE Admin前端太重,不利于生成与维护。另外,我想更好的使用ASP.NET MVC。

关于代码生成

你可以在文档的节11看到整个的详细说明,如:

这里,我简略的带过。

自从放弃了ASP.NET Scaffolding Template(ASP.NET基架模板)(具体见博文:Magicodes.NET框架之路——让代码再飞一会(ASP.NET Scaffolding)),我就开始了代码生成的自主探索之旅。

首先介绍下我们的生成理念——基于Model以及辅助特性生成增删改查控制器与视图。

按照新的生成方式,我们的操作顺序如下:

1. 添加Model,并且配置好生成特性(可以参考上面的辅助生成特性)

2. 添加“入口”T4模板(暂且允许我这么称呼,它用于引用一些公共T4模板,并且设置生成规则/参数)

3. 设置生成参数

4. 保存生成或者运行生成

5. 查看并确认生成结果(控制器、视图目录以及相关视图文件是否已经成功生成)

下面是部分效果图:

从上图可以看出,简单的CRUD以及配置信息的代码已经生成。但是投入到实际使用还有很多工作量,比如:

  • 根据属性类型自动加载相应控件。(目前只做了部分,比如日历控件,下拉列表等尚未实现)
  • 搜索尚未实现(如上一版一样,集成OData查询即可)
  • 根据辅助生成特性来完善一些逻辑。比如这里明显是存在父子级关系的,那么我希望后面能够增加相应特性来生成更完善的代码。

不过目前这版,生成基础架构后,你可以基于生成的代码改改用了。不过,为了使生成的代码更加灵活,因此我将生成的View模板放在了Magicodes.Admin插件的Magicodes.Templates目录。

做到这一步,打通这条路子,我就耗费了不少时间(包括走了不少弯路)。希望有兴趣的朋友可以将我刚才提及的一些不完善的地方完善完善,我实在是心有余而力不足啊。

关于后台重构

主要体现在以下几点:

  • 增加了Magicodes.Admin插件,用来承载后台业务
  • 使用了新的后台模板,并且提供了个人页面、邮箱、通讯录等模板(如上所示)
  • 重写了整个后台机制,提供了后台插件类型
  • 重写了CRUD生成(见上文)
  • 重写了配置信息生成(见上文)
  • 重写了Admin路由,后台插件请求url默认前缀为Admin

关于MVC插件

由于上文提及了后台插件,那么在这里就提提,具体的请查看文档:

门户插件:

后台插件是本次重构增加的,后面还会对其功能进行扩展:

MVC插件是之前就存在的,如下所示:

关于文档协议管理器的重构

重构了文档协议管理器,并且支持配置文件配置。具体如文档所示:

关于插件bundles支持

如标题所示,该功能是为了支持Microsoft.AspNet.Web.Optimization,以便将多个资源合并并且能够压缩资源(css和js)。你可以在文档中找到详细说明,如:

关于插件资源请求

有时候,我们并不想把所有的资源都bundle,再说了,bundle只能bundle css和js,图片怎么办,字体文件怎么破?

如下所示,我们会经常使用字体文件:

@Styles.Render("~/fonts/font-awesome/css/font-awesome.min.css")

根据这种情况,在新的版本里,CSS中的字体文件亦会指向插件对应的目录:

不过值得注意的是,如果字体文件无法加载,请确定是否已经添加了相应的Mime类型。比如上面的扩展名为“.woff2”的文件。

关于该节的说明你可以在文档插件请求一节中找到,如:

关于插件后台菜单配置

现在,插件配置文件中已经支持配置后台菜单,如下所示:

关于框架文档

目前框架文档已迁移至Worktile,因为其已经集成了Web Office App,查看Word会比较方便。链接如下:https://worktile.com/project/4a961c1c28cf4b07bdb4a07f661c7fcf/folder/b99d13f90d55401faba366a961e6d103

上面很多截图就是使用Web打开截取的。

关于反馈

由于个人工作时间超级忙,因此QQ群沟通我是拒绝的。你可以在GitHub上添加Issues,如果我看到,我想我会第一时间答复的。

https://github.com/magicodes/Magicodes.NET/issues?q=is%3Aissue

目前有几种类型的Label,请在添加的时候选择相应类型:

 

关于V0.0.0.6Beta版?!

下一版该做什么?说实话需要做的还很多,很多功能由于改来改去,体验并不是很好,比如CRUD生成的界面。不过总得需要人慢慢来迭代的,而我希望有朋友能够Pull requests来fix这些问题。而我更多的是注重于框架本身。

对于V0.0.0.6Beta版,如果你有好的建议,您可以在GitHub上添加相应的Issues,如果建议不错,我会采纳的。当然不一定会安排在V0.0.0.6Beta版本。

另外,最近有一个想法,想提供一种基于.NET开发的WebSocket的服务端框架,无论是用于开发网页还是用于搭建游戏服务(不要说SignalR)。为什么有这个想法:可以这么说,Ajax所带来的用户体验挽救了当时正饱受诟病,正在风雨飘摇中的Javascript。因此,技术在不断地进步亦在不断地带来新的更好的用户体验。在这个用户都知道缓存(被程序员哥哥说的耳朵都起茧了,能不知道么),都知道F5的时代,突然有些网站你发现他是即时的,你不需要F5了,你发现你是震撼的!!!现在就有这种例子,比如Worktile,其后台是使用NodeJs开发的,无论是其消息机制还是多人协作下(比如添加列表与任务),它都是即时的,也就是意味着你不需要去刷新。也许少按几个F5改变不了什么,但是对一些协作办公之类的Web系统来说,意义真的很大。以前我曾想过,但是更多的仅是集成到站内消息,现在我想也许可以考虑设计一种机制或者框架来处理所有。当然目前只是想想,我实在没这个精力。

时间: 2024-10-22 03:31:09

Magicodes.NET框架之路——V0.0.0.5 Beta版发布的相关文章

1.Magicodes.NET框架之路——起航

1.Magicodes.NET框架之路--起航 前言 从事开发也好几年了,并且最近一直在做架构搭建的工作.这些时间,最大的感悟就是: 只有自己理解了的才是自己的. 对架构这块,若欲立之,必先破之. 故此,才准备利用业余时间来倾力打造这套框架.由于时间精力以及能力有限,也许这套框架初期会有很多不合理之处,但是我相信只要有恒心,这套框架迟早会打磨完美.由于本人秉承做一行爱一行的原则,对代码也比较痴迷,故此命名为"Magicodes框架". Magicodes --意为"Magic

WinRAR 5.0的第七个Beta版发布了

WinRAR是一款强大的压缩文件管理器,它提供了RAR和ZIP文件的完整支持,能解压ARJ.CAB.LZH.ACE.TAR.GZ.UUE.BZ2.JAR.ISO格式文件. 日前,WinRAR 5.0的第七个Beta版发布了,它主要修复了之前版本中存在的一些小Bug,例如:WinRAR无法创建必要的目录结构用以存储硬链接,所以如果文件包含一个尚不存在的硬链接,那么解压时就会出错:在处理文件时rn命令显示错误的文件名称:解压ACE文档时,WinRAR会创建空的文件夹. WinRAR 5.0 Beta

Google Chrome 53.0.2785.143 正式版发布

Google Chrome 53.0.2785.143 正式版发布了. 谷歌浏览器Chrome Stable稳定版迎来v53正式版第五维护版发布,详细版本号为v53.0.2785.143,上一个正式版发布于9月15日,时隔15天Google又快速发的布了新版Chrome,本次升级惯例更新了3项重要安全修复及稳定性改进. 主要改进内容: $5000 High CVE-2016-5177: Use after free in V8. Credit to Anonymous. [651092] CV

Solo 0.6.8 正式版发布,可通过Demo进行使用

88250 发布于: 2015年03月25日 va 开源博客 —— Solo 0.6.8 正式版发布了,欢迎大家下载.另外,欢迎观摩我们的另一个产品,在线 Golang IDE——Wide! 特性 基于标签的文章分类 博客/标签 Atom/RSS.Sitemap 输出 评论回复及邮件提醒 自定义页面.导航 多编辑器:Markdown.TinyMCE.KindEditor 置顶/相关/随机/站外相关文章 文章.页面永久链接 文章草稿夹.签名档.更新提示 多用户.多语言.多主题.插件 MetaWeb

Magicodes.NET框架之路——产品之路(谈谈产品管理)

虽然Magicodes.NET现在还不属于产品,但是却不妨碍她想成为产品的心. 为什么突然有了此篇,这篇不是空穴来风,而是我思考良久的结果: 为了让大家知道我在干什么,我想干什么,我将要干什么还有我干了什么 为了让大家清楚Magicodes.NET的产品迭代 为了更好地收集以及管理Bug&需求 为了让我和大家清楚Magicodes.NET的方向 为了更好地团队协作,也为了将来团队的扩张 总之,基于这样或那样的原因,于是有了此篇. 本篇为个人想法与规划,希望和大家多多交流,共同成长. WorkTi

Magicodes.NET框架之路——让代码再飞一会(ASP.NET Scaffolding)

首先感谢大家对Magicodes.NET框架的支持.就如我上篇所说,框架成熟可能至少还需要一年,毕竟个人力量实在有限.希望有兴趣的小伙伴能够加入我们并且给予贡献.同时有问题的小伙伴请不要在群里询问问题,QQ群仅限于技术交流. 所有有关Magicodes.NET的问题,请在此https://github.com/magicodes/Magicodes.NET/issues页面根据类型提交相应Issues.在使用Magicodes.NET之前,请先查看官方文档并且阅读FAQ(点此阅读). 上篇提到了

i-MSCP 1.0.1.5 (Beta 5)发布 功能强大的控制面板

i-MSCP(Internet Multi Server Control Panel)是一个http://www.aliyun.com/zixun/aggregation/17547.html">功能强大的互联网多服务器控制面板,使其易于管理服务器文件系统上没有任何人为干预的共享主机环境. i-MSCP 1.0.1.5 (Beta 5)该版本添加了一个自动安装程序(包括树建设者和基于对话框的设置),支持Dovecot,一个引擎已重写,包括以下新的特点:能够关闭一个或多个服务/服务器,如Ap

i-MSCP 1.0.1.4 (Beta 4)发布 功能强大的控制面板

i-MSCP是一个http://www.aliyun.com/zixun/aggregation/17547.html">功能强大的控制面板,使得它容易管理服务器上的文件系统没有任何人为干预的共享宿主环境. i-MSCP 1.0.1.4 (Beta 4)此版本已经从数据库转换表gettext的文件(对象文件).它更新phpMyAdmin 3.4.3.2版本,jQuery 1.6.2版,和jQuery UI(core和datepicker)1.8.14版本.几个bug和安全问题被修正,所有语

i-MSCP 1.0.1.3(beta 3)发布 一个强大的控制面板

i-MSCP一个强大的控制面板,可以方便地http://www.aliyun.com/zixun/aggregation/13744.html">管理服务器上没有任何人为干预的共享文件系统的主机环境. i-MSCP 1.0.1.3(beta 3)更新日志: Distributions: Features / Enhancements: Engine              - Added SSL support for Postfix, courier (imap/pop)