Web 框架具有非常好的管理/CRUD 模块吗?
当前的许多(如果不是大多数)Web 框架都提供了用于基本 CRUD 操作的管理模块,但我发现我所知道的通常非常有限......
所以,我的问题是,哪个 Web 框架提供了最好的管理后端?
最好的,我的意思是:
可以高度多态的域对象。在编辑任何记录/实例时,会出现在类中定义的属性/关系它是子类(以及子子类、子子子类等)。
抽象类。在域类层次结构中的任何位置都可以有抽象类。它们的属性和关系也显示在所有降序类的记录/实例中。
关系。允许编辑(开箱即用)具有多对多关系以及与关联类的关系的记录/实例(例如,django 调用这些 中间模型)
扩展。允许扩展管理,以便我们可以对特定域对象使用我们自己的“UI 控件”。有些信息对于开箱即用的基于表单的控件来说太“精致”,无法以合适的方式工作。
UI 组件。不必在使用全部或不使用之间进行选择,最好拥有可以在任何页面中重用的通用“UI 控件”。网站,编辑特定的域对象。
在这一点上,编程语言不是问题,尽管我倾向于允许我在域模型级别表达最多信息的语言(或框架)(并且管理模块可以使用它来为我提供更丰富的 UI)。
Lot's (if not most) of the current Web frameworks provide an admin module for basic CRUD operations, but I find the ones I know usually very limited...
So, my question is, which Web framework out there provide the best administration backend?
By the best, I mean namely:
Domain objects that can be heavily polymorphic. Attributes/relations defined in a class appear when editing a record/instance of any of it's subclasses (and sub-subclasses, and sub-sub-subclasses, etc).
Abstract classes. It's ok to have abstract classes anywhere in the domain classes' hierarchy. Their attributes and relations also show in the records/instances of all descending classes.
Relations. Allow to edit (out-of-the-box) the records/instances that have many-to-many relations, and relations with associative classes (e.g., django calls these intermediate models)
Extension. Allow to extend the admin so that we can use our own "UI controls" for specific domain objects. Some information is just too "exquisite" for an out-of-the-box form-based control to work in a suitable way.
UI Components. Instead of having to choose between using all of it or none of it, it'd be nice to have generic "UI controls" that one could reuse from within any page of the website, to edit specific domain objects.
Programming language is not an issue at this point, although I lean towards the languages (or frameworks) that allow me to express the most information at the domain model level (and that the admin module can then use to give me a richer UI).
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
我一直在使用 Active Admin 和 Rails Admin 来处理我正在处理的几个 Rails 3.1 项目。虽然两者都很好,但我已经越来越多地迁移到 Rails Admin。我发现它很容易定制,它在关联模型方面做得非常好,并且有一个很棒的默认用户界面。
Rails 管理员
I've been playing with Active Admin and Rails Admin for a couple of Rails 3.1 projects I am working on. While both are nice, I've migrated more and more to Rails Admin. I've found it easy to customize, it does a very nice job with associated models, and has a great default UI.
Rails Admin
绝对是很好的旧 WebObject,其规则系统称为 DirectToWeb。它在运行时根据规则生成所有内容。默认情况下,它可以显示实体的所有属性和关系。
我猜想当前的每个 Web 框架都会提供类似脚手架之类的东西,但很多时候,一旦你改变了模型,工作就开始了。
查看此帖子和此有关最新的基于 DirectToWeb 的框架 ERModern 的预告片。您对视频中看到的内容使用几乎零代码,并且可以围绕它构建整个应用程序。它是由 iTunes 团队赞助的。
编辑您的要点:
可以高度多态的抽象类和域对象 - 您使用规则来处理这些。
编辑关系 - 没问题,它仅取决于组件的设计。如果您使用 ERModern,您可以免费获得它。
通用 UI 组件 - 这正是 DirectToWeb 的工作原理。您使用(或定义您自己的)通用组件,这些组件根据当前实体(从 EOEnterpriseObject 继承的对象)和为当前状态触发的规则(D2WContext,本质上是一个大字典)显示自身。
您可以在 45 分钟长的 ERModern 介绍视频中看到所有这些内容。
Definitely good old WebObjects with it rule system called DirectToWeb. It generates everything at runtime based on rules. By default it can display all your entity's properties and relationships.
I guess that every current web framework will offer something like scaffolding, but often times, the work begins as soon as you change your model.
Check out this post and this teaser about the latest DirectToWeb-based framework, ERModern. You use nearly zero code for what you see in the video and you can build entire applications around it. It was sponsored by the iTunes team.
Edit for your bullet points:
Abstract classes and domain objects that can be heavily polymorphic - You handle these using rules.
Editing relations - No problem, it only depends on the design of your components. If you use ERModern, you get this for free.
Generic UI components - This is exactly how DirectToWeb works. You use (or define your own) generic components that display themselves according to the current entity (an object inheriting from EOEnterpriseObject) and the rules that fired for the current state (the D2WContext, essentially a big dictionary).
You can see all of this in action in the 45 minutes long ERModern Intro Video.
这不是一个容易回答的问题。
你从来没有指定你想要使用什么语言,你命名了一些功能,但是你想要这些功能的多少。
我的意思是,我可以为 ASP.Net MVC 或 Web 表单推荐一些框架和工具,但如果您是 PHP 开发人员或 Java 开发人员怎么办?
我可以建议使用 SharePoint(我通常不喜欢 sharepoint,但你想要的一切都在 SharePoint 中),但接下来要问的问题是。
你想要定制多少灵活性和自由度,或者你想要框架做多少事情,而你只是一个代码猴子。
所以我只会给你我的意见。
我将 ASP.Net MVC 用于我的自定义应用程序。它可以满足您想要的所有功能,并允许我最大程度地自由地使用工具进行创建和扩展(如果我愿意的话)。另外,还有一个开箱即用的用户数据库,其中包含我第一次运行该应用程序后可以轻松地从老板那里创建的角色。
CRUD 也完全简单、直接、开箱即用。只需查看http://www.asp.net/mvc,其中有一个教程部分介绍了哪些内容你希望能在半天内完成。
然后还有一些 OR/M,例如 NHibernate、Entity Framework、Subsonic,如果您不熟悉它们,请使用 www.google.com 查找这些教程。
然后是 SharePoint,它有一个学习曲线,但一旦你通过了它,它就非常简单,因为很容易查明错误,专注于业务逻辑,而不用担心数据库模式(因为你甚至不需要接触数据库) 。
This isn't an easy question to answer.
You never specify what language you want to use, and you named some features, but how much of these features do you want.
I mean I could suggest a number of frameworks and tools for ASP.Net MVC or Web Forms but what if you're a PHP developer or a Java developer?
I could suggest SharePoint (and I generally dislike sharepoint, but everything you want is in SharePoint), but then the question to ask is.
How much flexibility and freedom do you want to customize or how much do you want the framework to do and you just be a code monkey.
So I will give you just my opinion.
I use ASP.Net MVC for my custom apps. It does all of what you want and allows me the most freedom to create and extend with tools if I so to do so. Plus out of the box there's a user databse with roles I can easily create out of the boss once I run the app for the first time.
Also CRUD is completely easy and straight forward out of the box. just check it out http://www.asp.net/mvc there's a tutorial section that goes through what you're wanting that you could complete in half a day.
Then there are some OR/M like NHibernate, Entity Framework, Subsonic use www.google.com to find tutorials for these if you're not familiar with them.
Then there's SharePoint it has a learning curve but once you get past it it's pretty straight forward as it's easy to pinpoint bugs, focus on the business logic and not worry aobut data base schema (as you don't even need to touch a database).
我喜欢 WebObjects。
WebObjects
->EntityModeler
->想知道
->ERD2WModernLook
->ERAttachment
-->ERRest
巴姆。完毕。
I love WebObjects.
WebObjects
->EntityModeler
->Wonder
->ERD2WModernLook
->ERAttachment
-->ERRest
Bam. Done.