Hi! I'm evaluating DO 4 and LLBLGen Pro (since they are the two candidates left in my little comparison), and I would like to hear what you have to say to your defence? :) (I think DO 4 is better in my case, it's a new application, just designing it right now. However, if everything goes well we need to scale upp, and the included hw-licenses won't be enough. This detail is different between LLBLGen Pro and DO 4, very different. It would make my life easier if you could convince me to pay you more money ;) ) A few notes about this application:
In case you need more details or clarification, just tell me :) Thanks / Oskar Johansson |
Beyond DO4's great attributes like PERFORMANCE, EASE OF USE, GREAT SUPPORT, RAPID DEVELOPMENT & IMPROVEMENT... each of which IMO makes DO4 the clear winner... Still looking into code generators? Really? When we (and DO4) have AOP now? Do you know what a nightmare it can be manage generated files? Performance is one thing I can't compare. Ease of use is kind of hard to get an idea about without at least some experience of them both. I've got a feeling DO is going to win here, but I've got nothing to compare with. (Nightmare would be that my database and my code goes out of sync and I have to manually figure out what's not working. A failed upgrade on many, many sites isn't popular..) Code generators, I see the advantages of not having extra tools, source files etc. to take care of, but for me, it's not that important. It can be justified? Ara, thanks for your answer! Yes, ease of use is, likely, the most important factor. DO4 has some pros and cons here:
DO differs from the most ORM tools mainly because we are adepts of extremely rich domain models. Compared to other tools on the market, DO is like WPF vs other GUI frameworks: it allows to build very complex business logic with ease without caring much about such stuff as saving the changes, lazy loading, rollback handling and so on; moreover, there is very rich entity life cycle events (see e.g. Session.Events). Also, DO is built for modular development: you can write unified services (that may rely on their own persistent entities) providing global functionality for the whole Domain. Many of our own core services are based on this approach - try to reflect So if you like the idea of rich domain models, DO is for you. On the other hand, if you're adept of anemic domain models, you should take a look @ NH or EF. And about new LLBLGen Pro: As far as I can judge, currently its only benefit is mapping designer. The ORM framework there is ~ 5 years old - i.e. it's simply far from being contemporary. So if I'd consider using LLBLGen Pro, I'd almost 100% avoid the ORM it offers. I like its designer, but completely dislike the way its ORM framework is designed. Just compare their class/namespace reference to what's shipped with DO (EF, NH). I can't imagine why Frans put nearly everything into a single namespace. Also, I hate dealing with tons of generated code violating DRY everywhere. Even generated code must be beautiful & simple to read; if template author simply don't know how to extract the logic to methods of base classes, that's sad. Why I write about this: ~ 1 year ago we tested its contemporary version @ ORMBattle, and I what I remember the best is that generated code there was really huge - about 1 Mb of C# code for our Northwind model. It was nearly 10 times more than any other tool had produced, and that was really surprising. So if you consider LLBLGen Pro, personally my opinion is:
And finally, I'm writing a large article comparing DO and NH - if you'll wait for few days, it may help you to make a decision. I think I'm convinced, but that article sounds interesting anyway :) The article publication is delayed, but I can share an early link for feature-based ORM comparison we're working on: The most comprehensive feature-based ORM comparison ever :) The document is a bit incomplete yet; there can be some mistakes (it wasn't checked by community yet). But it is quite comprehensive (~ 270 features). A copy of this document is edited by ORMBattle.net participants, so shortly there should be its version including all the tools we tested. Don't forget to check "Remarks" & "Sources" sheets. Btw, this explains why there is still no article - I want to publish a really good one. |
A side note about LiveUI: currently this is mostly a research / marketing evaluation project for us, so I recommend you to study it only from educational purposes - its future is unclear (at least, speaking about its public version). We're focused mainly on DataObjects.Net.
Hi again! We haven't purchased any license yet, but it's just a matter of time.. (Until the trial ends, kind of ;) ) However, LiveUI still sounds interesting.. I'm still working on making a solid ground for this application, and I don't want to end up with a project that's hard to make changes to.
I think there's a market for LiveUI. Anyway, if I'm going for LiveUI, is there anything in particular to consider?
(Besides, I'm glad I'm using DO4.. :) )
[edit]I've not investigated it too much yet, but how much work do you think it's to rewrite LiveUI to ExtJS 3.0?[/edit]
Hello, LiveUI project was frozen and is not supported anymore. We still use it internally but I would not recommend you to.
Well, I got that part that it's not supported, but if I gave it a spin anyway, is there anything you know it's broken etc? (I'm thinking that I can fix errors myself etc.)
Seems like Application Model (and Component Model) is stable enough to be used in production (We used it with WPF and found no problems). But there might be problems with controls and components like Tree or Grid.
If you would like to play with LiveUI I've uploaded latest version here http://x-tensive.com/Downloads/Download.aspx?LiveUI.net\LiveUI.net-v0.7.0.0.zip
404: Resource Not Found :/
Ah.. Missed \
Thanks :) I've converted it to .NET 4.0 now (somewhat, anyway.) I've fixed a few couple of bugs. In the config-file for LiveUI, the modules section, the location there, is that only for the resource-files?
I'll answer that for myself: it's only for resources :)
If you get some questions feel free to contact me mail: alexandr.ilyin@gmail.com, skype: alexandr_ilyin