New Immissions/Updates:
boundless - educate - edutalab - empatico - es-ebooks - es16 - fr16 - fsfiles - hesperian - solidaria - wikipediaforschools
- wikipediaforschoolses - wikipediaforschoolsfr - wikipediaforschoolspt - worldmap -

See also: Liber Liber - Libro Parlato - Liber Musica  - Manuzio -  Liber Liber ISO Files - Alphabetical Order - Multivolume ZIP Complete Archive - PDF Files - OGG Music Files -

PROJECT GUTENBERG HTML: Volume I - Volume II - Volume III - Volume IV - Volume V - Volume VI - Volume VII - Volume VIII - Volume IX

Ascolta ""Volevo solo fare un audiolibro"" su Spreaker.
CLASSICISTRANIERI HOME PAGE - YOUTUBE CHANNEL
Privacy Policy Cookie Policy Terms and Conditions
Diskussion:Framework - Wikipedia

Diskussion:Framework

aus Wikipedia, der freien Enzyklopädie

Ich hab den Teil Blackboxes & Whiteboxes geändert, da ich mich in die Softwaretechnologie vertiefe und einiges gelesen habe. Mir gefällt vor allem nicht die "Politische Richtung", da der Artikel weitestgehend an Ideen von Martin Fowler erinnern. Dieser Artikel sollte also:

  • Abgrenzungen zu anderen semantisch ähnlichen bereichen bekommen wie bspw.
    • Packet
    • Komponente
    • KomponentenArchitektur
  • allgemeiner gefasst werden
    • weg von bestimmten Entwicklungsansätzen
    • Natürlich werden Design Patterns verwendet, aber wird das nicht generell in Softwarearchitekturen
  • eine Liste bestehender Frameworks erhalten (kategorisiert)
    • siehe englischen Artikel

88.73.248.202 13:48, 20. Jan. 2007 (CET)

Die Problematik der Instanziierung von Frameworks ist meiner Meinung nach viel zu kurz geraten.

  • Whitebox-Frameworks werden mit Hilfe von Vererbung instanziiert
  • Blackbox-Frameworks mit Hilfe von Delegation
  • Frameworks mit generischen Klassen durch Parameterisierung
  • Frameworks die Rollenmodelle implementieren können
    • durch binden offener Rollen und
    • durch Komposition von Mixin-Layern (GenVoca) bzw. Role-Object-Layern instanziiert werden
  • Pree hat mit seinen Framework-Hook-Pattern eine Darstellung für die Möglichkeiten der Instanziierung eines Frameworks gefunden
  • Frameworks können durch Weaving instanziiert werden


Schlichtweg falsch, dass ein Framework immer ein Hauptprogramm haben muss und die Architektur diktiert. Es gibt auch zahlreiche unterstützende Frameworks.

Unterschiede zwischen Framework und Entwicklungsumgebung? --82.192.227.132 04:24, 4. Jan 2005 (CET)


Es wird hier beschrieben, was einen Framework von einer Bibliothek unterscheidet und was ein Framework enthält, aber nicht, was ein Framework ist! Definition bitte!!! --rumtscho 07.04.2005

Hallo, auch in Anbetracht der zum Artikel vorgetragenen Kritik habe ich den Text weitgehend umgestaltet. Teilt mir bitte gerne mit, falls euch etwas an der Ausarbeitung nicht gefällt. Für weitere Informationen zu Frameworks wäre ich meinerseits sehr dankbar, da mich das Thema derzeit im Rahmen meiner Abschlussarbeit beschäftigt. Viele Grüße --Mkleine 02:43, 8. Apr 2005 (CEST)
Ist schon sehr viel besser, als vorher. Veilleicht kann man noch das Wort Anwendungsdomaene erklaeren und einen Absatz warum man Frameworks benutzt. Wenn man noch etwas tiefer in die Materie eingehen moechte, kann man ueber grundlegende Konzepte wie Design Pattern erlaeutern, die in Frameworks ueblich sind.
Und noch eine Bemerkung an rumtscho: Vielleicht schreibst Du mal selbst einen Artikel, dann wird auffallen, dass das viel schwerer ist, als rumkommandieren. -- Sparti 10:01, 8. Apr 2005 (CEST)


Der Unterschied zur Klassenbibliothek ist etwas dünn. Er besteht eigentlich nur aus dem Wort Anwendungs-Architektur, welches nicht erklärt ist. Ich will gerade Software in Klassenbibliothek und Framwork einordnen und der Artikel hilft mir nicht weiter. Volker Berlin 22:52, 11. Jun 2005 (CEST)

Bei einer Bibliothek benutzt du etwas, du greifst auf etwas zu. Das "kleine" ist fertig, du benutzt es um ein groesseres Produkt zu entwickeln. Metaphorisch betrachtet baust du ein Haus in der Plattenbauweise: Du nimmst die einzelnen Stellen und steckst sie zusammen(stimmt nicht ganz, das waere eher komponentenbasierte Entwicklung, aber ein besseres Beispiel zur Abgrenzung habe ich jetzt nicht). Im Framework ist es umgekehrt. Das Haus, alle tragenden Waende/Pfeiler stehen da; die Aussenwaende sind fertig. Den Innenraum gestaltest du dir aber selbst. Bestbekanntes Framework ist wohl java.awt.* . Es ist hier voellig klar, was ein "Button" ist. Du musst aber implementieren, wie er aussehen soll, welche Beschriftung er tragen soll und welche Aktion ausgefuehrt werden soll. Das Grobe steht, mittels dynamischen Bindens ruft das Programm die von dir implementierten Methoden(die eben das Aussehen und so beschreiben) auf. Aber der ganze Artikel ist nicht gut, Frameworks beschraenken sich nicht nur auf Softwareentwicklung. Ich habe aber leide gerade keine Zeit. 130.149.156.13 18:45, 31. Jul 2005 (CEST)

Inhaltsverzeichnis

[Bearbeiten] Unterschied Framework und Bibliothek

Mir ist aufgefallen, dass der Unterschied zw. Framework und Bibliothek scheinbar vollständig entfernt wurde. Gibt es da ein bistimmten Grund? Ich mein, Definition ist gut, aber zu einer Definition gehör auch die Abgrenzung zu nah verwandten Themen. Dies bedeutet auch klar zu definiern was es nicht ist, oder wo ein Unterschied vorhanden ist.. --Kako (Diskussion) 22:15, 19. Jan 2006 (CET)

[Bearbeiten] Für Laien zu komplex

Ich muss zugeben, ich bin noch nicht solange bei Wikipedia aktiv. Ich gehöre auch zu den Nutzern die nur reinschauen, wenn sie was nicht wissen ;-) So auch bei dem Begriff "Framework". Und ich muss sagen, das ich den Artikel leider nicht wirklich verstehe. Kann man den vielleicht etwas einfacher/allgemein verständlicher erklären? Vielleicht auch anhand einem Beispiel. -- URx667 15:28, 4. Mai 2006 (CEST)


Wie wäre es denn mit einer für Laien verständlichen Analogie zur Wirtschaft: Ein Framework kann man sich wie ein Grundgerüst für ein Personaldienstleistungsunternehmen vorstellen, welches einen bestimmten Dienstleistungsbereich abdeckt. Sagen wir: Dienstleistungen rund um Geburtstagsfeiern. Im Framework werden also zunächst Grundfunktionalitäten implementiert, die die Arbeitsweise eines Personaldienstleisters beschreiben. Z.b. muss festgelegt werden, wie die MitarbeiterInnen auf einkommende Anfragen von Kunden reagieren. Also: Telefon abnehmen, Art der gewünschten Dienstleistung erfragen, Ort und Zeit der Veranstaltung erfragen, in der Datenbank nachschauen, welche Firma für die Ausführung der Tätigkeit in Betracht gezogen werden, Kundendaten aufnehmen, Auftrag zuweisen etc.. Darüber hinaus muss beschrieben werden, welche Arten von Dienstleistungen bei einer Geburtstagsfeier anfallen können. Also: Kuchen backen, musikalischen Rahmenprogramm, Speisen und Getränke bereitstellen, Equipment bereitsstellen und liefern, Aufräumen....und wie diese Teilbereiche miteinander koordiniert werden müssen. Das so als Framework beschriebenen Personaldienstleistungsunternehmen ist aber noch nicht operabel. Es fehlen noch Partnerunternehmen, welche für konkrete Dienstleistungen beauftragt werden können. D.h. bei unserem Unternehmen müssen sich noch Bäcker, Getränkelieferanten, Catering-Services, Bands, DJs, Putzkräfte ... registrieren, an die dann die Aufträge erteilt werden, falls ein Kunde anruft und seinen 60 ten feieren will. Unsere Personaldienstleistungsunternehmen wählt jetzt aus der Menge der vorhandenen Partnerunternehmen eine Handvoll aus, beauftragt diese mit einzelnen Teilaufgaben und koordiniert zudem die konkrete Ausrichtung der Feierlichkeiten. So haben wir also aus dem Framework eine operable Applikation gebaut. -- Cptnuss 17:07, 26. Juli 2006 (CEST)

[Bearbeiten] Überarbeitung nötig?

Hallo. Meiner Meinung nach benötigt der Artikel mal 'ne Überarbeitung:

  • Der Text vor dem Inhaltsverzeichnis ist zu lang (sogar länger als der eigentliche Artikel)
  • Die Alternativbedeutung hat in dem Arktikel nichts zu suchen und müsste ein eigener Artikel sein.
  • Die Grafik wirkt eher verwirrend als erklärend (zumindest auf mich als Nicht-Informatiker)

Was meint ihr? Ich hab mal nen Überarbeitungshinweis reingesetzt, falls ihr den unnötig findet könnt ihr ihn ja raus nehmen. -- Gissi 16:25, 29. Mai 2006 (CEST)

Könntest du beschreiben, was dich ganz genau an der Grafik verwirrt? Gruss, -- DanielSHaischt 15:29, 30. Mai 2006 (CEST)
Das fängt schon mal damit an, dass ich gar nicht verstehe was das Paket und die Komponente sind, außerdem frage ich mich was z.B. der Pfeil "verfeinern" sagen will. Verfeinert sich das Framework, oder wie ist das zu verstehen? Gissi 19:00, 30. Mai 2006 (CEST)
Okay habe das Paket mit Paket (UML) verlinkt - besser wäre Paket (Software). Teile einer Software die logisch zusammen gehören werden oft in Pakete zusammen gefasst. So wie du beispielsweise Word-Dokumente des Typs Rechnung in den Ordner Rechnungen ablegst. Das Paket wird also dazu benutzt den Quellcode einer Software zu modularisieren und zu strukturieren. Verfeinern ist ungefähr dasselbe, wie verbessern oder erweitern. Die Komponente kann man sich als Laie erklären, wenn man sich die Bedeutung des Zwei-Komponenten-Klebers vor Augen führt. Bei dem gibt es ja auch zwei Teile die erst wirksam sind, wenn man sie zusammenführt. Eine Software-Komponente ist also ein Teil eines Ganzen. Nur weis ich eben nicht, ob man dies in jedem Artikel neu erklären soll, oder ob der Leser eben im zugehörigen Artikel nachlesen sollten. Gruss, -- DanielSHaischt 01:17, 31. Mai 2006 (CEST)
Also, hab ich das so richtig verstanden? Die an sich unvollständige Komponente wird erst durch das Framework vervollständigt und dann in ein funktionsfähiges Paket eingegliedert. -- Gissi - Unterschrift nachgetragen
Nein, sorry ;) Eine Software-Komponente macht es nicht zwangsweise erforderlich, dass ein Software-Framework benutzt wird. Gleiches gilt für die Software-Bibliothek. Ich denke aber bein Verständnissproblem liegt darin, dass im Lemma Framework die Begrifflichkeiten Framework-Bibliothek-Komponente durcheinander gewürfelt werden ohne sie voneinander zu differenzieren. Man müsste also so genannte Anwendungsfälle aufzeigen wann welches Prinzip zum Einsatz kommt. Zudem müsste jedes Prinzip gegenüber dem Rest abgegrenzt werden. Das Framework beinhaltet schon grosse Funktiuonsteile einer Software. Die Software nutzt also diese Teil und deligiert zu diesem Zweck Funktions- bzw. Methodenaufrufe an das Framework. Das Framework führt den Auftrag als Dienstleister aus und liefert der Software, die das Framework nutzt ein Ergebnis (Produkt) zurück. Passt dem Dienstleistungsnehmer nicht die Art und Weise wie das Framwork eine spezifische Dienstleistung ausführt, so besteht die Möglichkeit, dass die Software die Logik wie die Dienstleistung zu erbringen ist überschreibt, d.h. ergänzt bzw. erweitert. Gruss, -- DanielSHaischt 15:42, 31. Mai 2006 (CEST)
Okay, noch ein letzter Versuch, das zu verstehen :) Das Framework stellt einer Anwendung - ähnlich wie eine Bibliothek - bestimmte Funktionen/Methoden/... zur Verfügung und gibt ein Ergebnis zurück. Es grenzt sich aber von Bibliotheken ab, indem es erlaubt diese Funktionen/Methoden/... an die eigenen Bedürfnisse anzupassen oder komplett zu überschreiben. Passt das so ungefähr oder hab' ich da schon wieder was durcheinandergeworfen? Gruß -- Gissi 16:33, 31. Mai 2006 (CEST)
Wow schon sieben Einrückungsstuffen :) Leider kann man die Eigenschaften, welche von einer Bibliothek bereitgestellt werden, auch überschreiben. Das Argument alleine taugt also zur Abgrenung nicht wirklich. Wie du siehst, ist es wichtig mal die Genannten Elemente voneinander zu differenzieren. Wurde glaube ich hier in der Diskussion auch schon geünscht. Ich hatte mal eine gute Grafik, die Bibliothek und Framework miteinander verglich, nur kann ich sie nicht mehr finden :( Auch habe ich gerade nicht die Zeit am Artikel/Lemma selbst grosse Änderungen vorzunehmen. Gruss -- DanielSHaischt 02:32, 1. Jun 2006 (CEST)
      • Leute im übrigen verwendet neben der Informatik die Wirtschaftwissenschaft diesen Bergriff. Hier sind verschiedene Rahmen oder Ansätze der Strategischen Plaung und Unternehmensführung gemeint.

[Bearbeiten] Definition

Was haltet Ihr davon:

Framework 1) Softwaretechnik:

a) eine Sammlung von Klassen und Interfaces, welche die grundlegenden, internen Aufgaben und Abläufe einer Software durchführen.

b) eine Software, die ein in sich abgeschlossenes Gerüst an Klassen und Interfaces enthält, die für sich alleine nicht ausgeführt werden kann.

c) gibt vor, in welcher Art und Weise eine Lösung zu den Aufgabenstellungen an eine Software zu implementieren sind.

d) verallgemeinert den Einsatz konkreter Techniken (z.B. Kommunikation über Modem oder direkter Netzwerkverbindung) in solcher Weise, dass eine Änderung der eingesetzten Technik in einem Bereich einer Software keine Überarbeitung der übrigen Bereiche, welche ihrerseits den zu verändernden Bereich verwenden, nachsichzieht.

e) stellt Klassen und Interfaces zur Verfügung, welche das Zusammenspiel der Komponenten eines Softwaresystems festlegen und weitestgehend automatisieren, wodurch die Implementierung konkreter Anforderungen vereinfacht wird. Dabei definieren die Interfaces die notwendigen Schnittstellen, die eine Komponente aufweisen muss, damit die im Framework bereitgestellten Abläufe (welche ihrerseits durch die Klassen implementiert sind) genutzt werden können.

Gruesse -- Klaus 1. July 2006 11.04 (CET)

[Bearbeiten] definition

ich vermisse eine klare einsätzige definition. die ausdrucksweise ist in diesem eintrag unnötig komplex und bedarf einer treffenden, redundanten überarbeitung.

[Bearbeiten] Überarbeitung

Kurz zu meiner Person: Ich habe mich die meiste Zeit meiner bisher mindestens 15 Jahre langen professionellen Tätigkeit mit Frameworks beschäftigt und dabei ca. 3 nennenswerte Frameworks implementiert. Wobei eines davon professionell seit ca. 10 Jahren im Einsatz ist und das obwohl ich vor 6 Jahren die Firma bereits verlassen habe.

Einige Begriffe, die ich hier gelesen habe, habe ich noch nicht gekannt. Wofür ich sehr dankbar bin, dass ich diese hier lesen konnte. Aber, ich kenne die Konzepte, die dahinterstehen sozusagen persönlich. Ich halte es ebenfalls für notwendig diesen Beitrag zu überarbeiten. Da ich nicht nur mosern will habe ich deshalb zunächst ein paar Stunden genutzt um mitzuhelfen den Eintrag zu verbessern.

Ich habe eine kompaktere Definition gefunden, die so allgemein ist, dass sie alle möglichen Software Frameworks einschließt und eine Abgrenzung zu anderen Begriffen zulässt. Bei der Abgrenzung zur Bibliothek gibt es das Problem, dass einige Bibliotheken sogar Framework-Charakter (z.B.: die Standard Template Library) haben und zu allem Überfluss einige Frameworks auch Bibliotheken beinhalten. Weiterhin vermute ich, dass eine reine Bibliothek eigentlich einem reinen Black-Box-Framework entspricht.

Definition

Framework (engl. Rahmenwerk, Rahmenstruktur, Fachwerk) ist eine konkrete Implementation als Hilfsmittel zur Erstellung einer Software bzw. eines Softwareteils, welches einen Softwareentwickler dadurch unterstützt, dass die bereits vorhandenen Softwareteile (Frozen-Spots) des Frameworks innerhalb eines bestimmten Anwendungsbereiches genutzt werden können und ausschließlich durch die Implementation variabler Softwareteile (Hot-Spots) die zu erstellende Software bzw. der Softwareteil spezialisiert und möglicherweise vervollständigt werden kann.

Dabei werden wahrscheinlich viele feststellen, dass das nicht jeder verstehen kann, der nicht schon mal mit dem Problemen betraut war. Weshalb ich direkt dahinter die Motivation anführen möchte.

Motivation

Die Motivation ergibt sich aus dem Problem, dass die Entwicklung von Software bzw. von Softwareteilen, insbesondere in Projekten, in bestimmten Bereichen (z.B.: Warenwirtschaft, Dokumentenmanagement) einander mehr oder weniger ähnlich sind und ohne die Nutzung von Frameworks in der Regel dazu führt, dass sich die Implemetationen ebenfalls ähneln und somit zu Kosten führen können, die möglicherweise mit der Nutzung von Frameworks vermieden werden könnten.

Für diejenigen, denen das immer noch nicht konkret genug ist würde ich noch ein Beispiel anfügen. Wobei es bestimmt noch bessere gibt.

Beispiel

Ein Framework für Warenwirtschaftsysteme kann den u.a. immer wieder vorkommenden Teil Buchen so (vor-)implemetiert haben, dass ausschließlich spezielle Anwendungsspezifische Teile wie z.B. die Methode Buchen der Klasse Rechnung unter Anwendung der integireten FIBU implementiert werden muss, um ein spzielles Warenwirtschaftsystem zu realisieren.

Aus der Motivation leitet sich folgendes Ziel bzw. folgende Ziele ab, die als Übergang zu den Ansätzen dienen können.

Ziel

Das Ziel eines Frameworks innerhalb eines definierten Anwendungsbereiches ist einen Softwareentwickler in folgender Hinsicht zu entlasten:

  • Implementationen, die in dem definierten Anwendungsbereich oft vorkommen soll der Softwareentwickler möglichst nicht selbst implementieren müssen.
  • Der Softwareentwickler soll möglichst wenig über die Implementation der Frameworks wissen müssen um die Spezialisierungen implementieren zu können.

Um diese Ziele zu erreichen, stehen bei der Entwicklung von Frameworks folgende grundsätzliche Ansätze zur Verfügung.

Da es keine reinen White-Box-Frameworks, Black-Box-Frameworks usw. (auch wenn diese so in der Literatur so benannt werden) gibt kann man hier nur von Ansätzen schreiben, die auf die Entwicklung und die Nutzung des Framework Einfluss haben. Folgende Ansätze habe ich dabe gefunden.

Framework Ansätze

  • White-Box: Beim White-Box-Ansatz verwendet das Framework Hot-Spot-Implementation um zu einer Spezialsierung zu kommen. Bei diesem Ansatz kann es erforderlich sein zu wissen, wie das Framework die Schnittstelle nutzt.
  • Black-Box: Der Black-Box-Ansatz ermöglicht bei der Implementation bereits fertige (Frozen-Spots) Teile verwenden zu können um die gewünschte Spezialsierung zu erreichen.
  • vererbungsbasiert: Der vererbungsbasierte Ansatz nutzt die Möglichkeit der Ableitung und Implementation spezieller Klassen um eine Spezialisierung zu erreichen.
  • kompositionsbasiert: Der vererbungsbasierte Ansatz ermöglich dem Nutzer des Framworks durch Parametrisierung eine Spezialisierung zu erreichen.
  • Verwendung von objektorientierten Entwurfsmustern: Durch die Verwendung von objektorientierten Entwurfsmustern können möglicherweise Teile der Probleme im Anwendungsbereich und somit im Framework gelöst werden. Einige objektorientierte Entwurfsmuster wenden den White-Box-, Black-Box-, den vererbungsbasierten und kompositionsbasierten Ansatz an.

Dies ist sicherlich auch noch nicht Gold. Aber so hoffe ich - eine gute Anregung.

Quellen:

--JoergBrueggmann 03:24, 26. Dez. 2006 (CET)

Static Wikipedia (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -

Static Wikipedia 2007 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -

Static Wikipedia 2006 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu

Static Wikipedia February 2008 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu