Talk:Software framework

From Wikipedia, the free encyclopedia
Jump to: navigation, search
WikiProject Computing / Software (Rated Start-class, Mid-importance)
WikiProject icon This article is within the scope of WikiProject Computing, a collaborative effort to improve the coverage of computers, computing, and information technology on Wikipedia. If you would like to participate, please visit the project page, where you can join the discussion and see a list of open tasks.
Start-Class article Start  This article has been rated as Start-Class on the project's quality scale.
 Mid  This article has been rated as Mid-importance on the project's importance scale.
Taskforce icon
This article is supported by WikiProject Software (marked as Mid-importance).

Cleanup required[edit]

Marking this for cleanup because it's almost unreadable--and I'm a software engineer! —Preceding unsigned comment added by Minority Report (talkcontribs) 10:55, 19 November 2004

still terrible. Trav (talk) 14:04, 31 March 2008 (UTC)

What is the intended reading audience for this article as it appears in Wikipedia?

Completely agreed. This article borders on being completely meaningless because it does very little to define before it attempts to discuss its merits or application as a concept. Poor! (11 April 2013) (talk) 19:14, 11 April 2013 (UTC)Professional information scientist132.183.13.16 (talk) 19:14, 11 April 2013 (UTC)

Software framework and Application framework[edit]

I've thought that Application Framework is a Software Framework, designed and developed for a particular Application. Software framework is broader in a sense that include third party frameworks. I could be wrong.

Reading the two articales Application framework and Software framework, it is not clear what is the difference between the two. If those are the same, or simular it should be stated, or may be merged. Ervinn 17:52, 30 August 2006 (UTC)

Somewhere I found the following distinction between framework and library: Some piece of pre-packaged code is a library if it is designed to be called by your code; it is a framework if it is designed to call your code. Is that an acceptable distinction? If so, it might go into the article, which doesn't seem to make any distinction at the moment. M palmer45 (talk) 20:42, 3 April 2008 (UTC)

Software framework taxonomy[edit]

I've been looking a bit at the various software framework articles, trying to make sense of them. I'm not the first, but I'd like to work on making some sense of these concepts for readers. There is a lot of duplication between the various framework pages, and it would be nice if these could be unified somewhat.

I've started by merging Framework with this page (well, the software bits anyways), and I'd like to continue by using the

I would like to propose a taxonomy that I'd like to start referencing in the various software framework articles. This is what I've found so far from my initial searching.

Each inner point is a specialty that may be built on upper layers, with the exception of a Software framework. For example, DirectX (a Multimedia framework) is based on .net (a software framework), and Plone (a CMS) is based on Zope, an application server with an associated Web application framework.

Some of these pages may warrant "List of..." and "Comparison of..." pages.

I'd like to start by creating categories for these frameworks, and maybe one of those section headers. I'll probably start this in the next day or two if no one beats me to it.

I'd also like to ensure that all Wikipedians work together on this, so I will try to post links to this discussion on talk pages on other talk pages. Ian Bailey 05:10, 11 April 2007 (UTC)

There is a difference between a CMS and a CMF. A framework will help one create a system that suits the user's needs. A system is the end product. The difference is in flexibility and ease of use. CakePHP is a CMF, Mambo is a CMS. The best way to organize the list is to put the two on the same level in the hierarchy. A CMF is not better than a CMS nor should one be a 'container' of the other. -- Flyingmeteor 19:48, 22 October 2007 (UTC)

Question: I see two different aspects of a framework: the *conceptual* design of the components and how they interact, ithu athu onnlu illange and the actual software that supports this conceptual design. In my opinion they are different, since there can be multiple implementations of the same framework. It seems that the term "software framework" currently refers to both. Are there actually conventional terms to refer to the different concepts, or do different people just have different ideas about what to call it? —Preceding unsigned comment added by (talk) 18:14, 8 January 2008 (UTC)

The taxonomy looks good, but expect some overlap. It's ok for media to be seen a subset of software, and for software to be seen as a subset of media. Mathiastck (talk) 18:48, 16 January 2008 (UTC)
Ajax framework is another one. --Abdull (talk) 20:16, 2 February 2008 (UTC)

Revisions to intro paragraph and definition[edit]

I replaced this:

A software framework is a reusable design for a software system (or subsystem). This is expressed as a set of abstract classes and the way their instances collaborate for a specific type of software.[1][2]

With a version of the first few sentences of this:


Which is infinitely easier to understand.

Trav (talk) 14:11, 31 March 2008 (UTC)


  1. ^ Johnson, R. E. and B. Foote (1988). “Designing reusable classes.” Journal of object-oriented programming 1(2): 22-35.
  2. ^ Deutsch, P. L. (1989). Design reuse and frameworks in the Smalltalk-80 system. Software reusability, volume II: applications and experience. T. J. Biggerstaff and A. J. Perlis. Reading, MA, Addison-Wesley: 57-71.

Hi Travb. Your concern about the old definition is warranted. I've replaced it with a definition that is agreed to by the academic community and cited two of their experts (Ralph Johnson and Dirk Riehle). It is important to describe both the similarities to and differences from code libraries, and the new intro paragraph does this too. I have good intentions of making more cleanups on this article. I'm fairly expert in this area myself -- I have a phd in software engineering from CMU and wrote my dissertation on a new technique to specify software frameworks. Regards, George. Georgefairbanks (talk) 00:48, 28 May 2008 (UTC)

The first paragraph as it stands now is still a mess! A software framework is not an abstraction, it is a set of software libraries and perhaps accompanying tools implementing an abstraction. As it stands the text is inconsistent about this. The specific properties mentioned (such as IoC) are not necessary properties of frameworks in general. Rp (talk) 10:15, 26 May 2011 (UTC)

Web development?[edit]

Why is a software framework related only to web development? It´s what one understands from the introduction:

"The idea is that all of the tedious, low-level details of creating a web application are already in a reusable package. For a web developer, this means you can spend your time worrying about specific problems related to your application, and not the actual building of the code behind it."

I thought a software framework was independent of the application (web, desktop, etc.) for example MFC is a software framework not intended for web development.

Deleting the "web" word in that paragraph.

Avargasm (talk) 20:17, 2 April 2008 (UTC)

Framework VS Library[edit]

I believe it is important not to use the word framework about whatever. Alot of re-usable code for web development isnt a framework simple snippets or some of them libraries. The word should be used with care. I believe it is good to start a topic about "Frameworks compared to libraries" so that it can be established that a framework - in my opinion and others - is bigger than just a file or 2. API's are framworks. I believe there is no such thing as CSS frameworks for instance. In software development i believe there are more frameworks than in web development, but the distinction is important to help avoid the confusion that all these discussions are about. --wmasterj (talk) 22:26, 22 August 2008 (UTC) rr —Preceding unsigned comment added by (talk) 05:47, 26 February 2009 (UTC)


Microsoft calls .Net a framework. I think that is wrong. Microsoft is really bad about the terminology they use, so much so as to seem arrogant. Sam Tomato (talk) 18:08, 25 May 2015 (UTC)

So when you say "re-usable code for web development" I assume you are primarily referring to .Net and I agree that ".Net Framework" is wrong. Sam Tomato (talk) 18:10, 25 May 2015 (UTC)

Callback as synonym for Hollywood_Principle[edit]

I noticed on the entry for Callback (computer programming); there is no mention of frameworks there . and on this page, Callback is not identified as being the functions used by the Hollywood_Principle . (that use may be specific to Microsoft culture). Wikipaddn (talk) 03:15, 22 February 2011 (UTC)


The text "unless the software is a compiler-object linker" doesn't make sense to me. Is it possible the author meant "uses a" instead of "is a"? And does "wholly controlled" mean independent? SandStone (talk) 19:25, 4 February 2015 (UTC)

A framework is a frame[edit]

I assume that a framework is a frame. I think that that should be stated explicitly and the definition should be built upon that. A framework is something that other software is built upon and that holds the software together. Sam Tomato (talk) 18:08, 25 May 2015 (UTC)