دلفی (نرم‌افزار)

دِلفی  یک محیط یکپارچهٔ توسعهٔ نرم‌افزار یا (IDE) است (که به اشتباه زبان برنامه‌نویسی دلفی نامیده می‌شود) که توسط امبارکادرو ارائه می‌شود و بر پایهٔ زبان برنامه‌نویسی آبجکتیو پاسکال محیطی را برای توسعه سریع نرم‌افزار یا همان rad ارائه می‌کند. به این معنا که شما با کمک یک رابط گرافیکی کاربر یا همان gui قدرتمند که توسط IDE ارائه می‌شود می‌توانید با چند کلیک و مقداری کدنویسی، برنامهٔ خود را در چند سیستم عامل بر پایهٔ پازیکس و مایکروسافت ویندوز و اندروید و مک‌اواس و آی‌اواس به صورت کد اصل سیستم عامل تست و بعد ارائه کرد.

در اصل دلفی به عنوان ابزاری تحت برنامه rad studio و به هدف توسعه سریع نرم‌افزار یا همان rad توسط بورلند تحت ویندوز ان‌تی ارائه می‌شد که بعداً سهام این شرکت توسط امبارکادرو خریداری شده و دلفی به‌صورت مدرنیته و جدا (از rad studio) ارائه شد گرچه همچنان تحت rad studio هم ارائه می‌شود اما به‌صورت جدا هم ارائه می‌شود.

این نرم‌افزار بر مبنای پاسکال شیءگرا (آبجکت پاسکال) بوده و از این زبان مشتق شده‌است. البته بورلند نسخه‌ای از دلفی و سی++بیلدر را برای لینوکس به‌نام کایلیکس (Kylix) ارائه کرد که مورد استقبال توسعه دهندگان نرم‌افزارهای لینوکس قرار نگرفت.
نرم‌افزارهای دلفی در ابتدا به‌صورت مستقیم از کتابخانه‌های ویندوز و کتابخانهٔ مخصوص خود به‌نام VCL استفاده می‌کردند، اما پس از نسخهٔ ۶ دلفی، امکانات استفاده از دات‌نت هم به‌آن اضافه شد.

 ویژگی‌های اختصاصی 
دلفی و Kylix از زبان برنامه‌نویسی دلفی مبتنی بر پاسکال استفاده می‌کنند، و کد منبع دلفی را به کد محلی x۸۶ یا کد مدیریت شدهٔ .NET کامپایل می‌کند. آن‌ها شامل VCL/CLX (کتابخانهٔ مؤلفه دیداری) هستند، که رابط‌های مستقل COM (ریزفیلم‌های خروجی کامپیوتر) همراه اجرای کلاس‌های فرض شده با مرجع، و تعداد زیادی از اجزاء بیگانه را حمایت می‌کنند. پیاده‌سازی‌های رابط به قسمت‌هایی از قابلیت‌های کلاس‌ها واگذار می‌شود. گرداننده‌های پیام بوسیلهٔ علامت زدن شیوه‌ای از کلاس با عدد ثابت پیام برای اجرا پیاده‌سازی می‌شوند. تأکید مهم بر روی اتصال پایگاه داده قرار دارد، و این موجب شده دلفی در مورد پایگاه داده دچار اشتباه شود، (فقط) نرم‌افزار نهایی طراحی کننده، مجموعهٔ پایگاه داده‌ای غنی خود را عرضه کرده‌است.

 مزیت‌ها 
دلفی یک زبان برنامه‌نویسی قوی سطح بالا است. در اصل بر مبنای زبان برنامه‌نویسی خوب طراحی شدهٔ پاسکال ایجاد شده‌است. دلفی بر خلاف پاسکال مقدمتاً برای اهداف تحصیلی طراحی نشد. اضافه بر ویژگی‌های زبان‌های سطح بالا، برنامه‌نویسی سطح پایین نیز با فعال شدن اسمبلر و بوسیلهٔ کدهای دستورالعمل پردازنده نیز ممکن است. ویژگی‌های شیء گرایی زبان فقط چند ریختی بر مبنای کلاس- و رابط – که باعث می‌شود برنامه با وضوح بیشتری درظاهر یک برنامه نوشته شده به چند زبان نوشته شود، اجازه و استفاده چند ارثی داده شده. کلاس‌های خودی، اولین اشیاء کلاس هستند. اشیاء در حقیقت به اشیاء رجوع می‌کنند (شبیه جاوا) که دلفی به‌طور ضمنی ارجاع می‌دهد، بنابراین به اختصاص دادن حافظه برای اشاره گرها به اشیاء توسط خودمان یا تکنیک‌های مشابه آن در زبان‌های دیگر نیازی نیست. در آنجا مراجع اختصاصی که نوع رشته دارند وجود دارد. (به خوبی رشته‌های نا متناهی)

ترجیحاً نسبت به توابع، رشته‌ها به وسیلهٔ علامت + می‌توانند ملحق شوند. برای آن دسته از انواع رشته‌ای اختصاص داده شده، مدیریت حافظه توسط خودمان لازم نیست، بلکه مدیر حافظه این را مدیریت می‌کند. مدیر حافظهٔ پیشرفته که توسط Borland Developer Studio ۲۰۰۶ معرفی شده‌است، توابعی را برای اختصاص دادن حافظه فراهم می‌کنند.

زبان برای پیشرفته سازی‌های بعدی مناسب است و از IDE جامع آمده‌است. دلفی با یک رابط گرافیکی بزرگ به اسم VCL ارتباط خوبی دارد، که شامل خیلی از کدهای منبع آن است. سوم-اجزا حزب (معمولاً با منبع کامل قانون) موجود در بازار هم به منزله تقویت ide یا برای سایر کارهای دلفی مربوط به توسعه‌است. IDE شامل واسط گرافیکی برای محلی سازی و ترجمهٔ برنامه‌های ایجادشده که می‌تواند به یک مترجم گسترش داده شود، بدون هزینهٔ اضافی. (برخی از گسترش دهنده‌ها دستهٔ سوم محصولات را به خاطر عاملیتی که دارند ترجح می‌دهند)

رابط گرافیکی حالتی را پیش می‌آورد که نسخه‌های قدیمی به نسخه‌های جدید دلفی، تبدیل شوند. کتابخانه‌های دسته سوم می‌توانند از طریق فروشنده یا قابلیت‌های کامپایل دوباره برنامه را ارتقا داده شوند. VCL سازگار کنندهٔ قدیمی ای بود از تزریق وابستگی یا کنترل معکوس. VCL یک مدل با قابلیت استفاده دوباره، خبره و توسعه پذیر با ارتقا دهنده هاست. با کمک کنندهٔ کلاس، می‌توان عملکرد هستهٔ RTL و کلاس‌های VCL را بدون تغییر دادن منبع اصلی کد تغییر داد. بهینه‌سازی سریع وسادهٔ انتقال کامپایلری می‌تواند به برنامهٔ اجرایی تبدیل کند.CLX بیشتر پشتیبانی نشد چون Kylix از رده خارج شد.

یکی دیگر از مزایای دلفی، امکان برنامه نویسی برای ایجاد نرم افزارِ چند سکویی  است. بدین ترتیب که شما میتوانید کد خود را برای سیستم عاملهای مختلف مانند ویندوز، لینوکس، اندروید، آی او اس و او اس بر روی یک IDE بنویسید. اینکار باعث کاهش هزینه تولید اپلیکیشن و نرم افزار و  صرفه جویی بسیار در زمان میگردد.

 عیب‌ها 
دلفی درون خود، یک ابزار گذر از پایگاه نیست. اما Delphi.NET برای چارچوب‌های گرافیکی .NET کامپایل می‌کند، که برای پایگاه‌های گذار با چند تنظیم کد منبع pre.NET اصل طراحی شده‌است. محصول Kylix، که انتقال برنامه‌ها را به لینوکس امکان می‌بخشد، خیلی به فروش نرفت.
هر نسخه جدید دلفی سعی در سازگاری با نسخ قبلی دارد. این به کاربران امکان می‌دهد تا کدهای ارث برده شده بسازند بدون اینکه در توابع و رابط‌ها مشکلی پیش بیاید. اما بعضی از ارتقا دهندگان احساس می‌کنند این توجه به سازگاری با قبل از تحول در دلفی جلوگیری کند، و باعث کهنگی و از رده خارج شدن تصمیمات طراحی در کتابخانه‌های استاندارد کلاس(VCL/RTL) شود.

هزینه نسبتاً بالای لایسنس  RAD Studio نیز یکی از معایبی است که باعث کاهش چشمگیر رجوع برنامه نویسان به این IDE قدرتمند گردیده است.

 دلفی برای پی اچ پی 
یا به انگلیسی delphi for php یک ide برای زبان برنامه‌نویسی پی اچ پی است.
 تغییرمسیر دلفی برای پی اچ پی

 تاریخچه 
Turbo Pascal و Borland Pascal کامپایلرهای ۱۶بیت با کد محلی ارزان قیمتی بودند. آن‌ها در طی سال‌ها تجدید چاپ شدند، و در اصل برای تولید برنامه‌های نمایش متن استفاده می‌شدند. وقتی استفاده از رابط‌های گرافیکی کاربر توسط ۳٫۱Microsoft Windows حمایت شد، استفاده از Borland Pascal تکمیل شده به عنوان زبان زیر مجموعه معرفی شد. دلفی یکی از اولی ابزار چیزی که آمد بود که به عنوان Rapid Application Development(RAD) شناخته می‌شد وقتی که در سال ۱۹۹۵ برای Windows ۳٫۱ ۱۶ بیتی آمد.

دلفی۲، یک سال بعد منتشر شد، که از طرف محیط Windows ۳۲ بیتی حمایت می‌شد و استفاده‌های مختلفی از C++ به عنوان یک زبان زیرمجموعه می‌نمود؛ و C++ Builder چند سال بعد دنبال شد.

رئیس طراحی دلفی آندرس هایلسبرگ بود، کسیکه Turbo Pascal را توسعه داد. او در سال ۱۹۹۶ به Mhcrosoft رفت تا روی C# کار کند. در سال ۲۰۰۱ لینوکس Kylix منتشر شد. این نسخه نقد شده و با کیفیت پایین ارزیابی شد و به خوبی فروش نرفت و بعد از نسخهٔ سوم از رده خارج شد.
برای حمایت هم‌زمان از Windows و Linux به منظور ارتقای پایگاه‌های گذار تلاش شد، و نسخهٔ پایگاه گذاری از VCL که به عنوان CLX شناخته می‌شد در ۲۰۰۲ به همراه دلفی۶ منتشر شد. این تلاش‌ها برای تکنولوژی CLX بیهوده شد و به همراه متروک شدن Kylix, CLX هم از میان رفت.
از آنجایی که نسخه ۱٫۰ ارتقای پایگاه داده باقی‌ماندهٔ یکی از قوی‌ترین نقاط دلفی است. کتابخانه مؤلفهٔ دیداری (VCL) شامل کتابخانهٔ بزرگی از پایگاه داده کنترل‌های آگاه است، و پایگاه داده به مؤلفه‌ها دسترسی دارد. موتور پایگاه داده Borland پایگاه دادهٔ اصلی لایهٔ اتصال بود، و تنها انتخاب در نسخه‌های اولیهٔ دلفی بود، اگرچه الآن به ندرت استفاده می‌شود، اما آخرین نسخه به عنوان یکی از اختیارات قابل نصب در BDE وجود دارد.

دلفی۷ که در اوت ۲۰۰۲ منتشر شد، تبدیل به نسخهٔ استانداردی شد که بیشتر از دیگر نسخ ساده توسط توسعه دهندگان استفاده شد، و تا این تاریخ نیز استفادهٔ مؤثری از آن می‌شود. این نسخه قابلیت حمایت از قالب‌های Windows XP، و حمایت‌های بیشتری را نیز برای ساختن برنامه‌های تحت web اضافه کرده‌است. همچنین آخرین نسخهٔ دلفی بود که بدون فعال سازی قابل استفاده بود. این خصوصیت ثبت اختیاری دارد که می‌توان از آن صرف نظر نمود. دلفی۷ یکی از پر طرفدارترین IDEها است که توسط Borland تولید شده‌است، که به خاطر پایداری، سرعت و نیاز کم به سخت‌افزار است. به هر حال، در تمام نسخه‌های دلفی مقدار زیادی از خطاهای شناخته شده وجود دارد که Borland آن‌ها را برطرف نکرده‌است. وظیفهٔ برطرف کردن این خطاها در انجمن دلفی باقی‌ماند.
دلفی۸ در دسامبر ۲۰۰۳ منتشر شد، که تنها .NET منتشر شده بود و به کاربران اجازه می‌داد اشیاء دلفی با کد پاسکال را به .NET CIL کامپایل کنند. این همچنان مهم بود که IDEهای خود را برای اولین بار تغییر دهد، از نوع IDE پنجرهٔ چندگانه متغیر در روی میز کار(desktop) به نوع دیدن و احساس کردن شبیه Microsoft's Visual Studio.NET. HDEهای جدید هنوز لایهٔ پنجره‌های «Classic Undocked» را به عنوان Option در دسترس دارند.

نسخهٔ بعدی، دلفی۲۰۰۵ (دلفی۹)، شامل ارتقای Win۳۲ و .NET در یک IDE ساده، که تعهدات Borland را برای کاربران Win۳۲ تکرار کرد. دلفی ۲۰۰۵ شامل فرصت انجام طراحی به وسیلهٔ ترک داده در پایگاه داده‌است. همچنین شامل ID پیشرفته‌است و در متن برنامه for را نیز اضافه کرده‌است (شبیه foreach برای C#). به هر حال، به خاطر بعضی از خطاها مورد انتقاد قرار گرفت. هردوی دلفی۸ و دلفی۲۰۰۵ مشکلات پایداری را در هنگام اجرا شدن دارند، که فقط تا اندکی در service packها بر طرف شده‌اند.
بعدها در سال ۲۰۰۵ دلفی ۲۰۰۶ منتشر شد و مدل ارتقا یافته‌ای از C# و Delphi.NET ,DelphiWin۳۲ و C++ را در IDE ساده‌ای ترکیب کرد. از دلفی ۸ یا دلفی ۲۰۰۵ وقتی که اجرا می‌شد پایدارتر بود، و حتی توسط انتشار بسته‌های خدماتی و برطرف سازی اساسی مشکلات پیشرفته تر شد.
در ۸ فوریه سال۲۰۰۶ Borland اعلام کرد که به دنبال خریداری برای IDEهایش و خط پایگاه داده‌ای محصولاتش است، که شامل دلفی برای تأکید بر خط ALM است. اخبار دلگرم کننده‌ای برای کاربران باقی‌مانده آمد.

در ۶ سپتامبر سال ۲۰۰۶ ابزار ارتقا دهندهٔ گروهی (اسم شرکتی که هنوز از بین نرفته) شرکت نرم‌افزاری Borland نسخه‌های تک زبانه از Borland developer studio را منتشر کرد، که به نام مشهور Turbo بازگشت. محصول مجموعهٔ Turbo شامل Turbo Delphi برای Win32 ,Turbo Delphi برای .NET, Turbo C++، و Turbo C# است. هر نسخه در دو ویرایش در دسترس است:

Explorer(نسخه‌ای که Download آن رایگان است) و Professional(با قیمت ارزانتر US$۸۹۹ برای کاربران جدید؛US$۳۹۹ برای نو سازی) نسخه‌ای که دسترسی به هزاران مؤلفهٔ شخص ثالث را امکان‌پذیر می‌کند. بر خلاف نسخه‌های شخصی قبلی دلفی، ویرایش‌های جدید Explorer می‌توانند برای گسترش‌های تجاری قابل استفاده باشند.

در ۱۴ نوامبر سال ۲۰۰۶ Borland اعلام کرد که ترجیح می‌دهد که فروش ابزار توسعهٔ گروهی متوقف و به شرکت فرعی مستقلی با نام CodeGear تبدیل شود.

دلفی ۲۰۰۷، اولین نسخهٔ CodeGear، در ۱۶ مارس ۲۰۰۷ منتشر شد. در ابتدا ماهیت Win۳۲ منتشر شد، قبل از اینکه ماهیت.NET از دلفی۲۰۰۷ منتشر شود، به عنوان بخشی از محصول CodeGear RAD Studio ۲۰۰۷. ویژگی‌های جدید شامل حمایت از ساخت MS و ارتقای کتابخانه مؤلفه دیداری برای Windows vista است. CodeGear هم چنین DBX۴ را به عنوان نسخهٔ بعدی dbExpress معرفی کرد. برای اولین بار دلفی می‌توانست از اینترنت Download و با اجازه‌نامه فعال سازی شود. نسخه‌های بین‌المللی از دلفی ۲۰۰۷ همزمان به انگلیسی، فرانسوی، آلمانی و ژاپنی پیاده‌سازی می‌شد. RAD Studio ۲۰۰۷ که شامل .NET وC++Builder development می‌شود، در ۵ سپتامبر ۲۰۰۷ منتشر شد.

آخرین نسخه، دلفی ۲۰۰۹(با نام کد شدهٔ Tiburón)، خیلی از ویژگی‌های جدید مثل کار دوبارهٔ به صورت کامل روی VCL و RTL برای حمایت کامل از Unicode، و روش‌های کلی با نام مستعار (برای هردویWin32 native و .Net development) را اضافه کرد.

Borland, CodeGear را به Embarcadero Technologies در سال ۲۰۰۸ فروخت. Embarcadero امتیاز CodeGear را که توسط Borland تولید شده بود، برای شناسایی ابزار و راهنمایی‌های پایگاه داده‌ای آن، نگهداری می‌کند؛ و Embarcadero تصمیم گرفته‌است ابزار پایگاه دادهٔ آن را تحت DatabaseGear moniker شناسایی کند.

 نام 
دلفی در اصل پروژهٔ تحقیقاتی محرمانه‌ای بود در Borland که منجر به محصولی شد که AppBuilder نامیده می‌شد. کمی قبل از اولین انتشار AppBuilder از طرف Borland, Novell AppBuilder منتشر شد، که Borland را در نیاز اسمی جدید رها کرد. بعد از تلاش‌های بسیار بالاخره نام دلفی غلبه کرد. توسعه دهنده Danny Thorpe که نام دلفی را با مرجع Oracle at Delphi انتخاب کرد. یکی از اهداف اصلی دلفی تأمین اتصال پایگاه داده با برنامه‌نویس به عنوان یک ویژگی کلیدی بود و بستهٔ پایگاه داده‌ای رایج در آن زمان Oracle database بود؛ بنابراین «اگر می‌خواهید با Oracle صحبت کنید، به دلفی بروید. (البته این یک ضرب‌المثل قدیمی یونانی است)» همین‌طور که توسعه ادامه یافت، نام بر آن‌ها رشد کرد و حمایت Borland نیزاز نام دلفی بیشتر شد.

دورهٔ بعدی تولیدکنندگان

Anders Hejlsberg، معمار اصلی دلفی و Turbo pascal، در سال ۱۹۹۶ تحت استخدام Microsoft درآمد، جایی که او یک مهرهٔ کلیدی بود در تولید قالب‌های گرافیکی Microsoft.NET و منجر به طراحی هر دوی Java با گرایش J++ و C# شد.
Chuck Jazdzewski، کسیکه دانشمند رئیس و معمار در تکنولوژی دلفی Borland بود، در سال ۲۰۰۴ Borland را ترک کرد و به Microsoft پیوست. Danny Thorpe، دانشمند رئیس در آن موقع در ۲۰۰۵ به Google پیوست و در ۲۰۰۶ به Microsoft پیوست.
نرم‌افزار مربوط

 محصولاتی که توسط دلفی تولید شده‌است 
در میان خیلی از محصولاتی که توسط دلفی تولید شده‌است داریم:
 محاسباتی: Intuit Lacerte
 محصولات CodeGear: CodeGear Delphi, CodeGear C++ Builder, Borland JBuilder versions 1 and ۲
 گسترش و مدیریت پایگاه داده: MySQL Tools (Administrator, Query Browser), TOAD
 نرم‌افزارهای مهندسی: Altium Designer/Protel (electronics design)
 نمایش دهنده عکس: FastStone Image Viewer, FuturixImager, Photofiltre
 پیام دهندهٔ اینترنت:
Skype (VoIP and IM), QIP (IM), The Bat! (e-mail کاربر)، PopTray (e-mail چک کننده)، FeedDemon (feed viewer), XanaNews, Xnews (خوانندهٔ اخبار گروهی)
 تولید Music: FL Studio
 توسعهٔ نرم‌افزار:
Dev-C++ (IDE), DUnit (unit testing), Help & Manual (help system authoring), Inno Setup (installer engine)
 نویسندگی شبکه:
Macromedia HomeSite (HTML ویرایش‌گر)، TopStyle Pro (CSS ویرایش‌گر)، Macromedia Captivate (screencast)
 جستجوگر شبکه (پوشش MSIE): Avant Browser, Netcaptor
 تسهیلات:
Spybot - Search & Destroy, Ad-Aware (anti-spyware), jv16 PowerTools, Total Commander (file manager), Copernic Desktop Search, PowerArchiver, Beyond Compare(file comparison)], WordWeb (dictionary/thesaurus

 همزادها و جایگزین‌ها 
خیلی از کامپایلرهای Pascal شیءگرا وجود دارند که در اصل بوسیلهٔ Borland توسعه یافته‌اند، و همچنین محصولاتی که قالب‌های گرافیکی را مثل دلفی کاملاً فراهم کردند.
بعضی از آن‌ها کارهایی را انجام می‌دهند که دلفی نمی‌تواند، مثل حمایت از سیستم‌عامل‌های مختلف، و اجازه برای امتحان کد منبع کامپایلر. آن‌ها بعضی مواقع عادت دارند بخش‌های server از برنامه‌های دلفی را در سیستم‌عامل‌هایی به غیر سیستم‌عامل‌های Microsoft اجرا کنند. اکثراً حمایت Linux را در سال‌های قبل از Kylix داشتند.
 Bloodshed Dev-Pascal: ویرایش‌گر Windows ۳۲ بیتی خیلی از لحاظ گرافیکی آراسته شده (هر چند غیر RAD) به عنوان تنظیم کنندهٔ GNU Pascal و Free Pascal
 Lazarus: IDE RAD که از کامپایلر رایگان Pascal استفاده می‌کند.

 تبصره 
۱. ^ «A First Look at (Borland Developer Studio) Delphi 2006 - Refactoring in Delphi 2006". About.com. Retrieved on ۲۰۰۷-۱۲-۱۹.
۲. ^ «Delphi and C++Builder Roadmap". CodeGear.com. Retrieved on ۲۰۰۸-۰۹-۲۹.
۳. ^ David Intersimone. "Press Release: Borland forming CodeGear to focus exclusively on developer productivity". Retrieved on ۲۰۰۶-۱۱-۲۸.
۴. ^ David Intersimone. "Borland History: Why the name"Delphi?"". Retrieved on ۲۰۰۶-۱۱-۲۸.
۵. ^ «Borland Brain Drain Continues". eWeek (2004-02-02). Retrieved on ۲۰۰۷-۱۲-۱۹.
۶. ^ «Into the Maelstrom» (۲۰۰۶-۰۴-۱۴). Retrieved on ۲۰۰۷-۱۲-۱۹.

 پانویس 

 منابع 

رده:پاسکال (زبان برنامه‌نویسی)
رده:زبان برنامه‌نویسی دلفی
رده:سازندگان رابط کاربر
رده:کامپایلرهای پاسکال
رده:محیط‌های توسعه مجتمع
رده:نرم‌افزارهای کدگیر