hammett wrote:
- Competitive landscape
MS MVC: I can't comment. Anyone cares to share the pros/cons?
Strengthens/weaknesses?
In the issue of Monorail vs MVC in a pro-mr viewpoint (admittedly I use
MVC in my projects, but it is abstracted enough that I can probably swap
it over in a few hours time; using Spark for my view engine):
+++ mr is tightly focused on providing an mvc structure (MVC is built on
top of ASP.NET and there is abstraction leakage there that you should
ignore while using it)
+ mr has the ability to be updated outside of a .NET Framework release cycle
- MVC pretty much has all the functionality of mr covered
--- MVC is free and already part of the stack you are already using
I am not aware of any functionality that is available in Monorail which
isn't either also available in MVC or easily added with some code you
can copy/paste from online somewhere (and generally available already in
the MvcContrib project; MVC+Contrib is really what I would consider mr's
equal). I do know there are things you can do in MVC that you can't
(though you wouldn't want to) in mr (views with code behinds which can
contain postback events (yes, postbacks can be done in MVC: very very
ugly stuff) and "service methods" (ajax server callbacks in the code
behinds to provide data for controls))
As far as I am concerned, Monorail has accomplished any primary goal it
has ever had: It caught the attention of MS and got them to consider an
MVC arch. Millions of people are now in a better position than they were
because of this.
- Goals (not in any particular order)
Community ecosystem: contributions are encouraged to be packaged and
made available side-by-side, similar to facilities..
Acceptable Performance, fair trade-off contrasted to other benefits
Lightweight: Minimal extensible core with predictable behavior.
Composable: The framework grows or shrink in functionality based on
extensions made available to it. Light-up should be automatic, or with
minimal intervention
Is there any MEF-like magic worth considering here?
I am thinking of a scenario where someone does:
1. download:
monorail.dll
monorail.auth.sha2.dll (comes with several view templates in various
template languages to place in your views dir and modify)
monorail.mysuperduperforum.dll (someone's implementation of a forum,
comes with a half dozen views)
monorail.fooblog.dll (another person's implementation of a blog, comes
with a couple of views)
monorail.store.dll (implementation of a simple ecommerce site; a couple
more views)
monorail.adsense.dll (implementation of google adsense; more views)
2. tweak the look and feel of the views a tiny bit
3. add headers, footers and a menu system
4. create an empty database and wire it up via web.config (or some app
startup code)
5. fire up the site.
Suddenly without writing hardly any code a person has a personal website
with a blog, small store, forum and adsense, complete with an
administrative system. Did I mention that all of the components are very
well covered by unit tests and highly regarded by the community. When
the developer needs to actually write some new custom component there
are dozens of tutorials to help him on his way.
MonoRail in its barest form should be the MVC system. But it should be
very easy to write components that can lock in with MonoRail, Windsor,
NHibernate (or AR), Migrator.NET (or some other solution) and each other
(no more above writing a regular MonoRail app than adding a single class
that is exported by MEF and implements some interface). This is how big
the pit of success needs to be. It is not enough that I fall into my pit
and you do yours with our two separate applications. I should fall into
mine, and you into yours and then we should be able to trade codebases
and recognize the code that we would have written ourselves.
--
You received this message because you are subscribed to the Google Groups "Castle
Project Development List" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/castle-project-devel?hl=en.