Serenity框架官方文档翻译前言(什么是Serenity平台)

什么是Serenity平台

Serenity是一个 ASP.NET MVC / Javascript 的已经创建在开源技术上的平台git

它的目标是让开发变得更容易,同时下降维护成本,避免样板式代码,减小重复性的任务所花费的时间和应用最好的软件设计实践。github

它是用来作什么/给谁用的

Serenity 是最适合业务应用程序,有许多数据输入表单或公共网站面临的管理界面。它的功能能够用于其余类型的web应用程序。web

去哪里找资料

在阅读本指南和教程以后,遵循下面的参考资料,了解更多有关Serenity的信息。数据库

Github Repository:
https://github.com/volkanceylan/Serenity
Issues / Questions
https://github.com/volkanceylan/Serenity/issues
Change Log:
https://github.com/volkanceylan/Serenity/blob/master/CHANGELOG.md
Serene Application Template:
https://visualstudiogallery.msdn.microsoft.com/559ec6fc-feef-4077-b6d5-5a99408a6681
Tutorial / Sample Source Code:
https://github.com/volkanceylan/Serenity-Tutorials

What's In The Name

Serenity 字典里意味着和平、温馨 、平静json

这是咱们正在用Serenity努力实现的。咱们但愿在安装和使用它时你也会有这样的感受……c#

它提供了什么特性

  • 一个模块化、基于服务的web应用程序模型
  • 代码生成器生成初始服务/为SQL表生成用户界面代码
  • T4引用脚本代码生成基于服务器小部件与智能感知/编译时验证
  • T4 based code generation to provide compile time type safety and intellisense while calling AJAX services from script side.
  • 从脚本端调用AJAX服务时,基于T4代码生成提供编译时类型安全和智能感知。
  • An attribute based form definition system (prepare UI in server side with a simple C# class)
  • 基于属性的表单定义系统(一个简单的c#类在服务器端预备UI)
  • 经过表单定义自动无缝的数据绑定(< - >实体< - >服务)。
  • 缓存助手(本地/分布)
  • 自动缓存验证
  • 配置系统(存储介质独立。设置存储在数据库,文件等等…)
  • 简单的日志记录
  • 报告(报告只提供数据,没有依赖呈现,相似于MVC)
  • 脚本绑定,缩小(利用节点/ UglifyJS / CleanCSS)和内容版本(没有更多的F5 /清除浏览器缓存)
  • Fluent SQL Builder (SELECT/INSERT/UPDATE/DELETE)
  • Micro ORM (集成Dapper)
  • Customizable handlers for REST like services that work by reusing information in entity classes and do automatic validation.可定制的处理程序等其余服务工做经过重用信息实体类和自动验证。
  • 基于特性的导航菜单
  • UI 本地化 (本地化文本存储在json文件、嵌入式资源数据库,在内存中类,任何地方)
  • 数据本地化(使用一个扩展表机制有助于定位即便用户输入的数据,如查找表)
  • Script widget 系统 (灵感来自jQueryUI但更适合c#代码)
  • 客户端和服务器端验证(基于jQuery验证插件,但抽象依赖)
  • 审计日志记录(在CDC 不可用的地方)
  • 系统基于数据集成测试
  • 动态脚本
  • 脚本端模板

背景

这部分最初是写给CodeProject上的一篇文章介绍Serenity。文章被拒绝的缘由是,它不包含代码而是一个广告代码。他们是对的,由于我在教程里面放了电影指导教程连接,而不是复制粘贴代码。浏览器

您能够安全地跳到下一章,若是你不喜欢阅读历史:)缓存

开发人员,咱们天天都解决同一方面的问题。就像大学生在他们的问题书本上面工做同样安全

即便咱们知道他们已经解决了答案的地方,它不会阻止咱们的工做。事实上,它能够帮助咱们提升咱们的技能,嘿,你不能学习没有犯一些错误,你能吗?可是咱们应该学会培训和浪费时间之间画一条线。服务器

当你开始一个新项目,你有几个决策平台,架构和图书馆。今天你有不少的选择每个主题。是的,有一些选项是好的,只要他们是有限的,由于咱们的时间不是无限的。这里是一个Serenity简短的历史,旨在处理常见的任务你处理业务应用程序,并让你抽出你宝贵的时间专一于特定于应用程序域的特性我第一份真正的工做在网络技术在web代理设计国家网站的一些知名产业,如自动化公司(顺便说一句,咱们谈论的是10 +年过去,时间流动快)。

我有一个软件架构师职业在桌面应用程序以前签署,我被要求设计一个ASP.net WebForms平台。他们解释说,他们有不少共享的模块,好比新闻,画廊,在每一个站点导航,但随着需求是不一样的,他们必须复制/粘贴特定于每一位客户定制代码。当他们想要添加一个共同的特色,他们不得不对每一个网站重复它。

当时市场没有不少CMS系统,我设计了他们之中的一个,甚至都不知道它被称为CMS。对我来讲,这并不完美,甚至不足够好,我只是设计了几个星期。可是他们对结果很满意,用了新网站的开发时间从月减小到天/周。也比之前生成的代码更易于管理。

从经验、错误中学习,那是poor-mans CMS变成更好的东西。进化后,该平台是被应用在不一样的领域,像一个服务台系统,CRM,ERP、人事管理、电子文档管理、大学生信息系统等等。

兼容不一样类型的应用程序,系统甚至遗留数据库,必须灵活,经历了许多架构的变化。

如今须要咱们用Serenity。尽管它是一个开源项目大约2年了,它有一个大得多的背景。但也年轻,精力充沛,不惧怕改变。它能够适应新技术,由于他们成为受欢迎的和稳定的。这可能意味着打破不时变化,可是咱们努力让他们保持最低而不偏执的向后兼容性。

相关文章
相关标签/搜索