Визуалдық Компоненттер Кітапханасы: Delphi және .NET арасындағы эволюция
Visual Component Library
VCL – Microsoft Windows қосымшаларының интерфейсін жасауға арналған Object Pascal негізіндегі визуальды компонент кітапханасы. Бағдарламалау, Delphi, компоненттер.
Ағылшыншамен салыстырыңыз: абзацты басыңыз — түпнұсқа терезеде ашылады. Абзац астындағы EN түймесі оны мәтін ішінде көрсетеді.
Мазмұны
Кіріспе
Визуалды кітапхана
Visual Library
Визуалды компоненттер кітапханасы (VCL) – Microsoft Windows қосымшаларының пайдаланушы интерфейсін жасауға арналған визуалды компоненттерге негізделген, объектіге бағытталған құрама. Ол Object Pascal тілінде жазылған.
The Visual Component Library (VCL) is a visual component based object oriented framework for developing the user interface of Microsoft Windows applications. It is written in Object Pascal.
Технология
VCL ортақ ата-тегі бар сыныптар иерархиясын құрайды, яғни TComponent класы (Delphi Object Pascal-дағы түбір класс TObject-тен мұрагерлік алады). Бұл Java бағдарламалау тілі, Smalltalk, C# және көптеген басқа да объектіге бағытталған бағдарламалау тілдеріне тән әдіс. VCL компоненттері терезелер (TForm класы), басқару элементтері (мысалы, TButton, TCheckBox, TLabel кластары) сияқты Windows басқару элементтерін, сондай-ақ деректер базасына қол жеткізу (мысалы, ADO немесе IBX компоненттері) немесе интернет байланыстарын (Indy компоненттері) қамтиды. Компоненттік тәсіл бағдарламашыларға VCL-ді көптеген визуальды және визуальды емес қосымша компоненттермен кеңейтуге мүмкіндік береді. Көптеген тегін және коммерциялық компоненттер жиынтығы бар. Олардың ішінде JEDI, TMS, Developer Express, Mitov Software, Raize Software, TurboPower, IOComp, SDL, DA SOFT Technologies және тағы да басқалары бар. VCL-нің барлық компоненттері жиекке қауіпсіз болмаса да, VCL көп жиектілікті де қолдайды. Мысалы, OpenWire VCL кітапханасының көп жиектілікті қолдауы бар. VCL NET деңгейінде PME (қасиеттер, әдістер және оқиғалар) моделін тума қолдайды. NET дизайнының көп бөлігі, әсіресе WinForms, VCL үлгісінде жасалған. Алғашқы Delphi нұсқаларының негізгі архитекторларының бірі – Андерс Хельсберг Microsoft компаниясына жұмысқа алынып, NET-тің негізгі архитекторларының бірі болды. Бұл сотқа дейін жетті: сол кезде (1996 жылы) «Borland компаниясы Microsoft компаниясының соңғы 30 айда Borland-тың 34 қызметкерін Borland-тың коммерциялық құпияларын ұрлау мақсатымен жалдағанын мәлімдеді. Borland сондай-ақ Microsoft компаниясы Borland қызметкерлеріне қымбат сыйлықтар ұсынғанын және бергенін мәлімдеді. Екі жағдайда сыйлықтардың сомасы 1 миллион доллардан асып кеткен». Delphi.about.com мәліметінше, Андерстің сыйлық ақысы үш миллион доллар болған. Көптеген Delphi әзірлеушілері C# тілін дизайнға ұқсас болғандықтан, өте таныс деп санайды.
VCL forms a class hierarchy with a common ancestor, the TComponent class (which inherits from TObject, the root class in Delphi Object Pascal). This is a common approach shared by the Java programming language, Smalltalk, C# and many other object oriented programming languages. VCL components cover Windows controls like windows (TForm class), controls (e. g., TButton, TCheckBox, TLabel classes) as well as database access (e. g., ADO or IBX components) or Internet connections (Indy components). The component approach allows programmers to extend the VCL with many visual and non visual additional components. There is a large number of free and commercial component packages. Among them are JEDI, TMS, Developer Express, Mitov Software, Raize Software, TurboPower, IOComp, SDL, DA SOFT Technologies and many others. While not all VCL components are thread safe, VCL supports multi threading too. One example is the built in multi threading support of the OpenWire VCL library. VCL provides native support for PME (properties, methods and events) model at the NET level. Much of the NET design, especially WinForms, is modeled after the VCL. One of the main architects of the first Delphi versions, Anders Hejlsberg, was hired by Microsoft and became one of the main architects of NET. This became the subject of a lawsuit: at the time (1996), "Borland alleged that Microsoft had hired 34 Borland employees over the past 30 months in order to steal Borland trade secrets. Borland also claimed that Microsoft offered and delivered expensive lures to Borland workers. In two cases, incentives topping $1 million were involved." According to delphi. about. com, the bonus was three million dollars in Anders' case. Many Delphi developers find C# quite familiar, due to the design similarities.
Қатынасты жүйелер
VCL-ге баламалы кросс-платформалық құрал, CLX (Component Library for Cross Platform) деп аталды, кейіннен 2000–2001 жылдары Delphi, C++Builder және Kylix-те қолдану үшін жасалды. Бірақ ол қолданудан шығарылды. Екінші кросс-платформалық FireMonkey фреймворкі 2011 жылы Delphi және C++Builder XE2-ге енгізілді. FireMonkey – Windows, OSX, iOS және Android жүйелеріндегі интерфейстер үшін WPF сияқты векторлық негіздегі фреймворк. Lazarus жобасының портативті (*nix, OS/X, Win32/64+wince) LCL деп аталатын баламасы бар, ол Kylix және CLX пайда болған кезде-ақ жұмыс істеп тұрған. Жоба өз бағытын сақтап, Kylix-ті (содан кейін FMX-ті) ескермеді. OpenOffice.org және осылайша LibreOffice құрамында Visual Class Library (VCL) деп аталатын басқа графикалық кітапхана бар.
A cross platform equivalent of the VCL, called CLX (Component Library for Cross Platform), was later developed for use in Delphi, C++Builder and Kylix in 2000–2001. However, it was abandoned. A second cross platform framework, FireMonkey, was integrated into Delphi and C++Builder XE2 in 2011. FireMonkey is a vector based WPF like framework for UIs on Windows, OSX, iOS and Android. The Lazarus project has a portable (*nix, OS/X, Win32/64+wince) equivalent called LCL, which was already working when Kylix and CLX emerged. The project maintained its course and ignored Kylix (and later FMX). OpenOffice. org and thus LibreOffice contain an unrelated graphic library called Visual Class Library (VCL).