3 ms·
Funny you started out mentioning WebObjects. It's free and does everything you dreamed of. It came a long way from the ugly table based layout SJ showed off in
by takosalad 11y ago
Funny you started out mentioning WebObjects. It's free and does everything you dreamed of. It came a long way from the ugly table based layout SJ showed off in 1995. It is the ultimate full stack MVC framework. There is still nothing comparable today.
The Model can be generated from db schema or vice versa. You don't need to know SQL. The Model informs the ORM (Object Relational Mapper) how to create/read/update/delete (CRUD) your objects to/from the database. The model also validates your data for you. The field is 255 wide? Then 256 chars throws validation exceptions automatically, and so on.
The view is generated by reusable components on the server. Small reusable components ultimately assemble into a full page. Hundreds of components that do everything imaginable exist already.
With no code at all, they Controller wires them together using the Direct to Web (D2W) rule system. In fact, if all you want is an admin interface to do CRUD type operations on your database, you won't need anything beyond the hello world D2W application. These rules allow you to make sweeping changes throughout your entire application. Want to change every component that handles text input in a form page? Create one rule:
100: task = 'edit' and attribute.className = 'java.lang.String' => componentName = "MyNewEditStringComponent" [Assignment]
Or override with other components as appropriate
105: task = 'edit' and attribute.className = 'java.lang.String' and session.user.isAdmin => componentName = 'AdminEditString' [Assignment]
WebObjects allows you to maintain a level of state that no other web based MVC can match. You can nest your tables of data as deep as you like, paginating and sorting any of them at every level. No other web framework can do this. Period.
You only need to learn WebObjects to be full stack.