ebooksgratis.com

See also ebooksgratis.com: no banners, no cookies, totally FREE.

CLASSICISTRANIERI HOME PAGE - YOUTUBE CHANNEL
Privacy Policy Cookie Policy Terms and Conditions
Object Windows Library - Wikipedie, otevřená encyklopedie

Object Windows Library

Z Wikipedie, otevřené encyklopedie


Object Windows Library (OWL) je knihovna od firmy Borland, která je plně objektově orientovaná- framework postavený na WinAPI. Byla použita v Turbo Pascal pro Windows, Borland Pascal a jejich Borland C++ balíčcích.

Dříve byla lepší než knihovna Microsoft Foundation Class (MFC) (alternativa od Microsoftu), ale poté zastarala s příchodem novější Visual Component Library (VCL), která je v Delphi a C++ Builder Studiu.

Internetová open source komunita uvolnila sérii zlepšení a záplat pro originální OWL, která třeba dovolovala použít novější kompilátor (BC++ Builder 5, BCC55, BC++ Builder 6, GCC, MSVC++ 6, MSVC 2003, MSVC 2005, BDS C++ 2006, BDS C++ 2007). Jméno tohoto projektu je: OWLNExt.

Obsah

[editovat] Historie

Kolem roku 1990 firma Borland dominovala na trhu C/C++. V roce 1991 Borland představil C/C++ 3.0 s 'Application Frameworks', což zahrnovalo Turbo Vision pro vývoj DOS aplikací a OWL pro Windows platformu. C++ teprve začalo nahrazovat jazyk C v komerčním vývoji speciálně s rozvojem Windows platformy to umožnilo získat OWL mnoho popularity.

První verze implementovala různé rozšíření (například přidání více kompilátorů, než jen Borland C++) a nesla název Dynamic Dispatch Virtual Tables (DDVT), umožnilo to provázat 'events' (windows zprávy) s 'methods' (funkcemi). Tento mechanismus obcházel OO virtuální systémové funkce jednou funkcí pro každou Windows zprávu. V další verzi OWL, byl DDVT nahrazen RESPONSE_TABLE, což byl mechanismus - makro , které je použito dodnes. Nástroj pro konverzi (OWLCVT) z OWL1.0 na OWL2.0 byl zahrnut.

V roce 1992 Microsoft vypustil MFC. DOSová verze MFC nebyla dlouho vyvíjena. Windows verze byla jednoduchý wrapper nad WinAPI a byl kritizován, že nebyl plně objektově orientovaný.

V roce 1993 Borland vydal BC++ 2.0 pro OS/2 což zahrnovalo verze OWL 2.0. OWL 2.0 používající BIDS, novější šablony knihovny pro 'container' nebo 'class library'.

V dubnu 1993 Borland a Novell se dohodli na převedení OWL na Novell AppWare Foundation. AppWare Foundation bylo API designováno Novellem jako multiplatformní. Hlavní nástroj pro vývoj v AppWare byly OWL a AppBuilder (visualní nástroj pro slinkování nahrávatelných modulů skrz 'Application Bus').

Zatímco v lednu 1994 Borland vydal BC++ 4.0 pro Windows což obsahovalo OWL 2.0 a znamenalo přidání podpory Doc/View, VBX prvky, OLE. Win16, Win32s a Win32 byly podporovány (Windows 95- Win32 nástupce Windows/DOSu se objevil v srpnu 1995).

Později v roce 1994 Ray Noorda (CEO Novellu) byl donucen k rezignaci. Expanzívní plány Novellu byly rozváženy, AppWare vývoj byl zastaven. V roce 1995 skupinka z původního týmu zakoupila AppBuilder. Ve stejném roce Software UNO (www.uno.com) nabízel komerční port OWL 2.0 na platformy: AIX 3.2.5, DEC Alpha OSF/1, HP-UX 9.03, Linux 1.2, Solaris 2.x, Sun OS 4.1.x a SVR4 pro x86. Tento port se jmenoval WM_MOTIF.

V roce 1995 Borland vydal C++ 4.5 s OWL 2.5. Protože to bylo vydáno před Win95, Borland slíbil zdarma upgrade (když bude potřeba). Následovali verze 4.51 a 4.52. OWL 2.5 také zahrnovala Object Component Framework (OCF) pro snadnější OLE vývoj.

V srpnu 1995 Microsoft vydal Windows 95 s knihovnou MFC40.DLL.

V roce 1996 Borland vydal BC++5 pro Windows, což zahrnovalo OWL 5, což pokrylo všechny možné aspekty Windows platformy. V srpnu 1997 byl představen BC5.02 s malou aktualizací OWL 5. Také byla dostupná japonská edice. Borland C++ Builder zahrnující OWL byl na tzv. 'companion CD'. Poté se Borland zaměřil na vývoj VCL frameworku, jenž byl vyvíjen současně s OWL, již od doby Delphi 1.0 uvolněný před dvěma lety. VCL se poté stal hlavním frameworkem Borlandích kodérů pro Windows a .NET platformy. Příklad jak slinkovat OWL aplikace s VCL Formy (Dialogy) byl ukázán v další verzi BC++. Borland zastavil prodej BC++5.02/OWL ke konci roku 1999.

Poté co Borlandí OWL zastaralo, převzal vývoj knihovny internetová skupina a přejmenovala projekt na OWLNext a přidali mnoho vylepšení do originálního OWL zdrojového kódu.

[editovat] Vlastnosti

OWL aplikace podporují (není to vyčerpávající výčet) Single/Multiple Document Interface (SDI/MDI), Doc & View Document Model, Drag&Drop, tisk a náhled tisku, GDI, Windows nápovědu (Winhelp), e-maily (IMAPI), Internet (OwlSock/WinSock), OLE 1.0 a OLE 2.0 a další.

Všechny třídy měli předponu (prefix) T (TApplication, TWindow, TFrameWindow, TDialog, TBitmap, atd.). VCL má také předponu T, ale ve VCL jsou všechny třídy odvozeny od jedné mateřské třídy: TObject; V OWL je mnoho různých hlavních tříd, nejběžnější je TWindow z kterého je odvozeno každé okno Windows (TFrameWindow, TDecoratedFrameWindow, TDialog, TInputDialog, TFileOpenDialog, atd.) a každý okenní prvek (TEdit, TStatic, TButton, TGlyphButton, TComboBox, atd.).

Aplikace vyvíjené s OWLNext jsou kompatibilní s vlastnostmi DEP/NX, které chrání systém před viry a internetovými útoky. Podporuje UNICODE dokonce i v ne-UNICODE systémech jako jsou Win95/98/Me.

[editovat] OWLNext: budoucnost OWL

Když nechal Borland zastarat OWL kvůli VCL našla se talentovaná skupina vývojářů, vedeních Yura Bidus začali pracovat na projektu v roce 1998. Měli webové stránky www.owlnext.starbase21.com, www.geocities.com/SiliconValley/Campus/5642/owlnext.html a www.members.xoom.com/yuri_b. Projekt je také na SourceForge: www.owlnext.sourceforge.net nebo na www.owlnext.org. Vylepšní jsou open source, free a licence umožnuje tvorbu komerčních aplikací.

Původní jméno bylo OWL NExt, kde NExt znamenalo New Extensions (nová rozšíření). Později se název spojil v OWLNExt a nyní je to pouze OWLNext. Současná verze z roku 2007 je OWLNext 6.20, je to také poslední verze, která bude podporovat platformu Win16.

OWLNext podporuje UNICODE a umožňuje použít takovou aplikaci i v ne-UNICODE prostředí (třeba Win95). Byla přidána podpora HTMLHelp.

OWL je stále majetek firmy Borland a obsahuje mnoho patentů, ačkoliv verze z 'Companion CD' zahrnující C++ Builder může být stažena ze stránek CodeGear. Také je možné stáhnout verzi OWLNext 6.04, ale oficiální stránky OWLNext jsou na SourceForge.

Originální OWL používá BIDS (Borland International Data Structure) knihovnu jako 'class library' (knihovna pro správu datových struktur jako jsou vektory, seznamy, atd.), OWLNext je založen na STL (Standard Template Library) a také poskytuje emulující vrstvu na minimální práci s portací současných aplikací.

Podpora Linux byla přidána do OWLNext 6.16 za použití WINELIB, také s portem na Solaris. Podpora Win64 architekruty je v plánu. V současnosti není v plánu podporovat platformu .NET.

Yura Bidus také začal s alternativou OWL/OWLNext, která se jmenuje GUI Object Library (GObjects nebo jen GOL), která obchází patenty firem Borland/CodeGear a je dostupná na vícero platformách. Project je také open source a hostuje na sourceforge.

[editovat] Výhody

  • Dobře navržený objektově orientovaný framework, poskytující skutečné zapouzdření Windows API, umožnující inheritance a polymorfysmus.
  • C++ třídy pro mnoho běžných Windows datových souborů.
  • Poskytuje Document/View framework pro tvorbu architekturu Model-View-Controller.
  • OWL společně s BIDS (Borland International Data Structure) a šablony tříd knihovny.
  • OWLNext používá ISO standard: Standard Template Library (STL), což umožnuje portaci na jiné platformy.
  • Třídy pro práci s ANSI řetězci.
  • Rychlejší kód než kdyby byl spouštěn s interprety jako Visual Basic (nyní již Microsoft zastavil jeho vývoj) nebo Javy.
  • Rychlejší kód než kdyby byl vyprodukován v .NET Frameworku.

BC 5.0 IDE bylo prohlášeno nejlepším IDE po mnoho let. Nyní díky OWLNext vývojářům můžou být použity IDE dle volby (BC5, MSVC 6, VS2003, VS2005, BDS2006, BDS2007).

  • Malé GUI aplikace :
    • nevyžadují mít .NET Framework, což je navíc 100 MB.
    • nevyžadují VB runtime (běhové prostředí Visual Basicu).
    • alternativy OWL se musejí spojit s hlavní knihovnou nebo dodávat .dll
  • Aplikace mohou používat 'statické' knihovny a vyhnout se tak 'DLL Hell' popisovaného Microsoftem.
  • Je dostupných mnoho průvodců (wizards) včetně nástrojů třetích stran, které redukují značně usnadní práci.
  • Integraci s resource designerem k nastavení pozic prvků a provázání s jejich funkcemi.
  • Rychlost kompilace.
  • Portace na Linux, free a open source projekty.
  • Zahrnut zdrojový kód. Vývojáří mohou aplikace optimalizovat na typ jejich procesoru.
  • Podpora jmenného prostoru.
  • Kompatibilita od verze Win3.x až po Windows Vista.

[editovat] Nevýhody

  • Není portován na OSX, WinCE nebo .NET.
  • Stejně jako mnoho C++ knihoven (MFC, wxWidgets, QT), C++ jazyk vyžaduje neustálé učení.
  • Alternativy jako je VCL poskytují rapid application development (RAD).
  • Pro hlubší přístup vyžaduje znalost platformy a vrstvy Windows API.
  • .NET nabízí lepší objektově orientovaný, kompletnější a organizovanější API
  • Méně uživatelů než MFC.
  • Není podpora JPG ani PNG formátů (pouze možnost produktu třetí strany).
  • Není zahrnuta podpora XML.

[editovat] Odkazy

[editovat] Externí odkazy

[editovat] Zdroje

  • Tento článek je zčásti nebo zcela založen na překladu článku Object Windows Library na anglické Wikipedii.
V jiných jazycích


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 -