Re: Frameworks and versioning
Re: Frameworks and versioning
- Subject: Re: Frameworks and versioning
- From: Robert Walker <email@hidden>
- Date: Thu, 5 Jan 2006 12:23:11 -0500
I personally tend to agree with Arturo. Yes it does take more
discipline during development, but I consider that part of my job as
a developer. It's vital to ensure APIs don't break with changes and
bug fixes. If changes to API are necessary deprecate the old method,
and create a new one to support the API change. The trick is in
learning to recognize when a change affects the API.
Taking a look at /System/Library/Frameworks and /Library/Frameworks
you will see many frameworks written by Apple, and other software
developers. These frameworks are shared among many different
applications. Those that make up parts of the OS share it's version
number with the OS. Those that are specific to a developer
application tend to be controlled by that particular application vendor.
As WebObjects/Cocoa developers we should use this same approach. It
seems to me the whole point of a "Framework" is to share its API with
many applications. Otherwise, why separate code into a framework to
begin with? (No intent to start a philosophical battle here. Just
expressing my opinion.)
On Jan 5, 2006, at 11:21 AM, Arturo Perez wrote:
Tonny Staunsbrink wrote:
Hi All
I'm don't think there is a "right" answer on this issue. Embedding
your frameworks solves the problem of breaking API or introducing
bugs. On the other hand it makes it cumbersome to deploy bugfixes
to frameworks (when multiple apps are using the frameworks). It's
the same discussion as dynamic vs. static linking - the same pros
and cons (well, almost) - and i think it's worth to note that
dynamic linking is used alot.
I prefer to have my frameworks deployed seperately from the
applications (due to the ease of deploying updates). The risk of
breaking API should be a matter of developer discipline ;-) and
sometimes biting the bullet (rebuilding and redeploying every app
when some used API fetaure is completly removed).
Cheers
/Tonny
Personally, I've never liked the embedding of frameworks et al into
an application (although I did once work with a group of developers
that almost violently disagreed). I much prefer that all
applications benefit from bugfixes and performance enhancements as
soon as possible. It does require a bit of discipline to not break
things but I think ensuring that apps get the right set of bugfixes
etc is at least as much work. Of course, if your style is deploy-
and-forget then embedding frameworks is definitely the right way to
go.
I believe a healthy combination of CVS-log monitoring (read them
daily and write good ones), JUnit et al, and black-box testing
(JMeter, HTTPUnit, et al) can keep an application functioning
properly in the face of frequently updated frameworks.
Just my 2p
-arturo
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
40mac.com
This email sent to email@hidden
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden