Serenity框架官方文档翻译前言(什么是Serenity平台)
什么是Serenity平台
Serenity是一个 ASP.NET MVC / Javascript 的已经建立在开源技术上的平台
它的目标是让开发变得更容易,同时降低维护成本,避免样板式代码,减少重复性的任务所花费的时间和应用最好的软件设计实践。
它是用来做什么/给谁用的
Serenity 是最适合业务应用程序,有许多数据输入表单或公共网站面临的管理界面。它的功能可以用于其他类型的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 字典里意味着和平、舒适 、平静。
这是我们正在用Serenity努力实现的。我们希望在安装和使用它时你也会有这样的感觉……
它提供了什么特性
- 一个模块化、基于服务的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年了,它有一个大得多的背景。但也年轻,精力充沛,不害怕改变。它可以适应新技术,因为他们成为受欢迎的和稳定的。这可能意味着打破不时变化,但是我们努力让他们保持最低而不偏执的向后兼容性。
Serenity框架官方文档翻译前言(什么是Serenity平台)的更多相关文章
- Serenity框架官方文档翻译3.1(教程)
3.教程 3.1教程: Movie Database 我们来用Serenity创建一个和IMDB相似的编辑界面的站点. 你能在下面的站点找到教程的源代码: https://github.com/vol ...
- Serenity框架官方文档翻译(1-2开始、安装和界面)
1.开始 最好的和最快速地上手Serenity的方法是使用SERENE,它是一个示例应用程序模板. 您有2个选项来安装SERENE 模板到您的Visual Studio: 从Visual Studio ...
- Serenity框架官方文档翻译3.2(多租户)
3.2多租户 在本教程中我们将把Norhwind变成一个多租户应用程序. 这是一个维基百科的多租户软件定义: 软件多租户是指一个软件架构的一个实例软件运行在一个服务器和多个租户.租户是一组共享一个公共 ...
- Flume官方文档翻译——Flume 1.7.0 User Guide (unreleased version)(二)
Flume官方文档翻译--Flume 1.7.0 User Guide (unreleased version)(一) Logging raw data(记录原始数据) Logging the raw ...
- Spark官方文档翻译(一)~Overview
Spark官方文档翻译,有问题请及时指正,谢谢. Overview页 http://spark.apache.org/docs/latest/index.html Spark概述 Apache Spa ...
- Django 2.0.1 官方文档翻译: 编写你的第一个 Django app,第一部分(Page 6)
编写你的第一个 Django app,第一部分(Page 6)转载请注明链接地址 Django 2.0.1 官方文档翻译: Django 2.0.1.dev20171223092829 documen ...
- Spring官方文档翻译(1~6章)
Spring官方文档翻译(1~6章) 转载至 http://blog.csdn.net/tangtong1/article/details/51326887 Spring官方文档.参考中文文档 一.S ...
- CALayer---iOS-Apple苹果官方文档翻译之CALayer
CHENYILONG Blog CALayer---iOS-Apple苹果官方文档翻译之CALayer CALayer /*技术博客http://www.cnblogs.com/ChenYilong/ ...
- iOS数据存取---iOS-Apple苹果官方文档翻译
CHENYILONG Blog iOS数据存取---iOS-Apple苹果官方文档翻译 数据存取/*技术博客http://www.cnblogs.com/ChenYilong/ 新浪微博http:// ...
随机推荐
- WebSocket 服务器3
其实,在服务器的选择上很广,基本上,主流语言都有WebSocket的服务器端实现,而我们作为前端开发工程师,当然要选择现在比较火热的NodeJS作为我们的服务器端环境了.NodeJS本身并没有原生的W ...
- http 请求头设置缓存
nginx不缓存设置 2013-08-15 10:47:39 分类: LINUX 在开发调试web的时候,经常会碰到因浏览器缓存(cache)而经常要去清空缓存或者强制刷新来测试的烦恼,提供下apa ...
- [CareerCup] 11.7 Tower of People in Circus 马戏团的人塔
11.7 A circus is designing a tower routine consisting of people standing atop one another's shoulder ...
- 20145208《Java程序设计》第2周学习总结
2015208 <Java程序设计>第2周学习总结 教材学习内容总结 本章内容主要讲了类型.变量与运算符的一些知识,也讲了一些基本的流程语法. 类型 基本类型 整数:short整数(占2字 ...
- ubuntu 安装编译nginx,并实现HLS推送,,可以实现摄像头直播
1.安装nginx的依赖包 zlib pcre openssl(可以源码安装也可以直接系统安装) sudo apt-get install libpcre3 libpcre3-dev zlib1g- ...
- TranslateAnimation 使用详解
Android JDK为我们提供了4种动画效果,分别是: AlphaAnimation,RotateAnimation, ScaleAnimation, TranslateAnimation.今天我想 ...
- Mono Json序列化和Windows 下的差别
在Window下DataContractJsonSerializer 的序列化的时候 只要属性具有Get访问器就可以序列化为string 但是Mono下要想序列话 那么属性必须具有Get 和Set才能 ...
- EF 基本数据过滤
没猜错的话, 你们一定会和一大堆查询条件过不去, 重复的写,反复的写, 写到山崩地裂. 今天看了园友的文字:实体框架高级应用之动态过滤 EntityFramework DynamicFilters 我 ...
- Android--多选自动搜索提示
一. 效果图 常见效果,在搜素提示选中之后可以继续搜索添加,选中的词条用特殊字符分开 二. 布局代码 <MultiAutoCompleteTextView android:id="@+ ...
- iptables 的使用
iptables 是Linux 防火墙规则配置命令 iptables -L -n 查看目前配置 iptables -F 清除预设表filter中的所有规则链的规则 iptables -A ...