|
I have used many 3rd-party components in the past, including:
* BCG (MS Office style UI for MFC apps)
* FaxMan (Fax support)
* Wintertree Spell Checker
* DLSoft Barcode Libraries
* Softek Barcode Reader Library (scans image files for barcodes and returns the data, barcode type, etc.).
* Dundas Ultimate TCP/IP
The most important issue is licensing - a royalty-free runtime distribution is crucial, as keeping track of all the sales of applications using a component would be expensive. However, we can be flexible if, for example, we are using a component with an NT server product and are allowed to distribute a few thousand copies.
|
|
|
|
|
Multi-framework support is something you don't always see considered.
We have projects running using MFC, ATL/WTL and (to a much lesser extent) .NET, so we are unlikely to consider any framework which doesn't support all three.
At the moment, to my knowledge none of the major vendors offer this, although some offer MFC/.NET support, and since WTL is currently our primary platform the result is that we're not considering any third party frameworks.
There is another aspect to this too. MFC frameworks tend to be monolithic and have high interdependencies between constituent components...obviously not ideal, and certainly not suited to the way we design now. Any vendor offering a WTL version of their framework would almost certainly not have fallen into that trap, so their MFC product would probably be better in that way too.
Anna
Currently working mostly on: Visual Lint
Anna's Place | Tears and Laughter
"Be yourself - not what others think you should be"
- Marcia Graesch
"Anna's just a sexy-looking lesbian tart"
- A friend, trying to wind me up. It didn't work.
|
|
|
|
|
I've saved tons of time and effort using various 3rd party components and I haven't had a single complaint yet.
For Windows form apps, I've been using the DevExpress XtraEditors suite. Their controls look great, work great, and I think their support is top-notch.
I've used Peter Blum's ASP.NET date control with no complaints as well. He did a superb job with documentation, and his email support is first rate.
I suppose it would be nice to take the time and write my own controls, but sometimes time constraints make it impossible.
|
|
|
|
|
This is issue number 1. I work for a large corporation and as such, we can't handle dealing with any licensing that requires royalties based upon sales numbers. As such, we will NEVER consider a product that has such a license.
In the past, I had picked some pretty expensive components, but this was based on them being freely distributable. The company was Rogue Wave - excellent products, exceedingly expensive. Then, they changed thier license to also include royalties based upon gross sales! I can't believe the audacity of those guys - then again, I think they have tumbled a long way down from their peek.
After that experience - I rely on our own base classes, the runtime library and the OS for our core features. Thankfully, this is much easier in C# and .NET than it was in C++!
Dale Thompson
|
|
|
|
|
I'll second the experience with Rogue Wave. I was an advocate of theirs, that is up until they started charging royalties - it pushed us to the point of dumping their product in favor of a version we wrote on our own [started out using their SQL libraries which relied upon OLEDB - we rewrote/re-engineered and dumped OLEDB in favor of ADO - BEST DECISION we ever made - Thanks for the push Rogue Wave!]
|
|
|
|
|
Heh - I checked all the options (except the last one, of course)
My programming blahblahblah blog. If you ever find anything useful here, please let me know to remove it.
|
|
|
|
|
Heh, and I just checked the last one
And thats why I'm not a rich man yet but happy with my applications
//This is not a signature
while (I'm_alive) {
printf("I Love Programming");
}
-- modified at 10:48 Monday 20th March, 2006
|
|
|
|
|
What about including source code? Then it's easier to figure out where any problems are, by steping into the code. Also easier to modify features of component
|
|
|
|
|
ed welch wrote: Then it's easier to figure out where any problems are, by steping into the code.
Really? I've never tried it, but there are third party components that are just huge, and you have to figure out how they do things before even attempting to fix a problem, it would seem to me.
ed welch wrote: Also easier to modify features of component
But then you have a branch that might make it difficult to continue upgrading the component?
Marc
Pensieve
Functional Entanglement vs. Code Entanglement
Static Classes Make For Rigid Architectures
Some people believe what the bible says. Literally. At least [with Wikipedia] you have the chance to correct the wiki -- Jörgen Sigvardsson
|
|
|
|
|
ed welch wrote: What about including source code? Then it's easier to figure out where any problems are, by steping into the code. Also easier to modify features of component
That's right. We use two open source components in our product. We had to change the first one and to bugfix the second one. Without the option to change the source code you always have to wait for the next release and you're not sure that the changes and bugfixes you need will be included.
|
|
|
|
|
For me, the source code availability is important too. Without it, I'm too dependent on the component vendor and it's sometimes usefull, to look at it's code too.
Pavel
|
|
|
|
|
open source is the way to go, i NEVER release anything to other programers without giving them the source...you always want to think you do a good job, but the fact is, sometimes we mess up or just leave somehing out due to a lack of time. Besides if you write a good 3rd party utility and put it out there with open source, someone is bound to improve it and then hopefully let you have the source back...so it works both ways
Pablo
|
|
|
|
|
This is the big issue we have, every time a developer needs to buy a third-party they have to get the source code.
And more we request each developer to inherit and create a wrapper around the object just in case we need to override some function to correct some bug or to add new feature to the component. We try to avoid correction in third-party code but in some case we don’t have choice.
(define Email (lambda ()
elacroix@devmesh.com))
Im not a church numeral im a free variable
|
|
|
|
|
Good point! I prefer to have access to the source code, it has saved me lots of trouble the passed.
Last year the lack of source netted me a months worth of contract work (;)) with my former empoyer, because a 3rd party ActiveX control (w/o source) failed on WinXP with an unknown error code. I had to recreate it from scratch, because the company that created it was bought out and the new company did not support it in any way. So creating a drop in replacement was easier than buying a replacement and rewriting the main application.
If I had the source, I could probably have found the problem in less than an hour and fixed it within a day. Which is why they called me in the first place.
INTP
Every thing is relative...
|
|
|
|
|
Doesn't this prove that not having source code is a good thing? Other wise you wouldn't have got that month's worth of work...
|
|
|
|
|
True, but if I was still working for them it would be just one more problem to solve on top of every thing else I was working on.
There was more than one day when I was working on three different applications in three different languages.
INTP
Every thing is relative...
|
|
|
|
|
The few times I have purchased 3rd party components, I have always hit the wall with limitations...
If possible I prefer to write everything myself...
- Anders
|
|
|
|
|
Anders Molin wrote: Anders Molin 1hr 25mins ago
The few times I have purchased 3rd party components, I have always hit the wall with limitations...If possible I prefer to write everything myself...
That's why you should buy 3rd party components with good support and source code...
I don't see dead pixels anymore...
Yes, even I am blogging now!
|
|
|
|
|
|
Good luck, I will see you after the release of windows 2010
No seriously, writing everything yourself is very hard and very expensive for you or your boss.
WM.
What about weapons of mass-construction?
|
|
|
|
|
Don't use a lot of 3rd party controls, but I have used ComponentOne stuff (mostly FlexGrid) and DataDynamics ActiveReports for 5+ years. Never had one gripe about either of them.
Paul Brower
|
|
|
|
|
Anders Molin wrote: The few times I have purchased 3rd party components, I have always hit the wall with limitations...
I've reached a few myself, but I must say the code base is miles ahead of where I'd be if starting from scratch...
Anders Molin wrote: If possible I prefer to write everything myself...
More often than not, I feel this has a negative impact on getting something out given a set number of hours in your budget. I've used National Instruments stuff and the Dundas suite to give me most of the framework components I needed to start, and this allowed me to focus more on my application and its business logic.
When I hit the proverbial "wall", then I just dive in and add the functionality I need, no sense re-inventing the wheel.
~Nitron.
ññòòïðïðB A start
|
|
|
|