Delphi (Embarcadero)
Delphi je balík programov určených na vývoj softvéru, ktorý obsahuje integrované grafické vývojové prostredie, kompilátor a ďalšie časti uľahčujúce vývoj. Je produktom firmy CodeGear (dcérska spoločnosť firmy Borland). Zatiaľ posledná, jedenásta verzia, Delphi 2007 podporuje vývoj v jazykoch Object Pascal a C++ pre platformu Win32; Object Pascal a C# pre platformu .NET.
Pôvodne sa v Delphi dali vytvárať len aplikácie pre Microsoft Windows, v súčasnosti je možné tvoriť natívne aplikácie aj pre platformu .NET a operačný systém Linux. Pre účely programovania v prostredí Linuxu sa využíva mutácia Delphi nazývaná Kylix.
Obsahuje systém RAD (Rapid Application Development), ktorý umožňuje vizuálny návrh grafického používateľského rozhrania, na ktorého základe sa automaticky vytvára kostra zdrojového kódu, čo výrazne urýchľuje vývojový cyklus. Programovanie v Delphi je z veľkej časti založené na použití komponentov. Komponent je malý program alebo balík funkcií, ktorý vykonáva určitú činnosť, napríklad zobrazuje text alebo obrázky, prehráva multimédiá, komunikuje s databázou, sprostredkuje FTP prenos a podobne. Veľkou prednosťou Delphi oproti konkurenčným produktom sú knižnice komponentov, ktoré sú ich súčasťou (napríklad VCL, CLX, Indy). Dodávané komponenty významne uľahčujú tvorbu aplikácií. Ďalšie komponenty je možné stiahnuť z Internetu a je možné vytvárať aj vlastné komponenty.
Vývojové prostredie
Delphi je populárne hlavne na vývoj desktopových enterprise databázových aplikácií, avšak ide o všeobecný vývojový nástroj. Samotné vývojové prostredie je vo veľkej miere inšpirované prostredím Microsoft Visual Basic. Bol jedným z prvých, ktorý prišiel s myšlienkou nástrojov RAD (Rapid Application Development), keď bol uvoľnený v roku 1995 pre 16-bitové systémy Windows. O rok neskôr prišlo Delphi 2, už s podporou 32-bitových operačných systémov Windows. O niekoľko rokov neskôr vyšla aj verzia pre jazyk C++ nazývaná C++Builder. V roku 2001 Borland uvoľnil verziu pre Linux, nazvanú Kylix. Posledná veľká zmena prišla v roku 2003 s uvoľnením Deplhi.Net (Delphi 8) s podporou Microsoft .NET.
Hlavný softvérový architekt, ktorý stál za Delphi, ako aj za jeho predchodcom (Turbo Pascal), bol Anders Hejlsberg. Anders v roku 1996 opustil Borland a začal pracovať pre Microsoft, kde sa stal hlavným návrhárom a tvorcom nového programovacieho jazyka C#, ako aj kľúčovým prispievateľom platformy Microsoft .NET. Plná podpora pre .NET bol pridaná do Delphi 8 (uvoľneného v decembri 2003). Delphi 8 zmenil svoje IDE po prvýkrát od svojho vzniku a teraz sa veľmi podobá na Microsoft Visual Studio .NET.
Delphi 2005 (značkové meno pre Delphi 9) poskytuje tak generovanie kódu pre 32-bitové verzie operačného systému Windows, ako aj pre .NET. Jedna z najväčších noviniek je manipuláciu s reálnymi dátami z databázy počas návrhu. Taktiež obsahuje značne vylepšené IDE.
V súčasnosti sa Delphi distribuuje vo viacerých edíciách: Personal, Professional, Enteprise (pôvodne Client/Server) a Architect. Súčasná verzia Delphi (XE2) umožňuje vývoj aplikácii pre platformy Windows (32 i 64 bit), Mac OS X a aj pre dotykové zariadenia (napr. iPad).
Výhody a nevýhody
Delphi má nasledujúce výhody
- Založený na dobre navrhnutom jazyku.
- RAD - rapídny vývoj aplikácií.
- Pomerne veľká komunita na sieti Usenet a World Wide Web (napr. news://forums.borland.com a Webový prístup k skupinám na stránkach firmy Borland).
- Dokáže kompilovať do jedného vykonávateľného súboru, čo zjednodušuje distribúciu a redukuje problémy s verziami dynamicky linkovaných knižníc (DLL).
- K dispozícii mnoho komponentov a nástrojov od tretích strán.
- Rýchly optimalizujúci kompilátor a možnosť používať jazyk symbolických inštrukcií ("asembler").
- Podpora pre kompiláciu natívneho kódu pre viaceré platformy z jedného zdrojového kódu.
- Vysoká úroveň kompatibility na úrovni zdrojového kódu medzi jednotlivými verziami.
- CrossKylix - nástroj od tretej strany, ktorý umožňuje kompilovať natívne aplikácie pre systém Linux z prostredia Delphi pre Windows, čo uľahčuje vývoj pre viaceré platformy.
Nasledujúce nevýhody:
- Čiastočná závislosť od jedného výrobcu.
- Prístup k platforme a knižniciam tretích strán väčšinou vyžaduje preklad hlavičkových súborov jazyka C/C++ do jazyka Pascal.
- Dokumentáciu k platformám a rôznym technikám je pomerne ťažko nájsť pre jazyk Pascal (napr. prístup k objektom COM a Win32).