# لازاروس (بيئة تطوير متكاملة)

لازاروس (بالإنجلزية Lazarus) هو بيئة تطوير متكاملة (IDE) متعدد المنصات ومطور تطبيقات سريع (RAD) كما انه حر ومجاني، يستخدم مترجم فري باسكال الذي يدعم أوبجكت باسكال، بدرجات متفاوتة. يمكن لمطوري البرمجيات استخدم لازاروس في صناعة مشروع موحد في جميع واجهات المستخدم الرسومية (GUI) وهذا يسهل عليهم العمل على أسطح المكاتب المتنوعة، وأيضا في لأجهزة المحمولة، وتطبيقات الويب، وخدمات الإنترنت، والمكونات البصرية والمكتبات كما يمكنهم إنشاء المكتبات ديناميية وثابثة (. SO. DLL، وما إلى ذلك، لكي تستخدم في برامج أخرى). مترجم الباسكال المجاني يدعم عددا من منصات مختلفة، مثل ماك، لينكس وويندوز.
لازاروس يرث ثلاث سمات من استخدامه لفري باسكال: ترجمة وسرعة التنفيذ، وتعدد الترجمة في المنصات المختلفة. المترجم يتميز بالخصائص القوية في لغة الباسكال، وهو في تقدم ثابث في ما يخص تصميم مترجمات لغة الباسكال (امتداد تطويره عدة عقود), في ترجمة التطبيقات الكبيرة وبسرعة، في كثير من الأحيان يستغرق بضع ثوان. عند ترجمة البرامج بمقاييس مضبوطة، كما ان لازاروس ينتج برامج تظهر في الأداء جيدة جدا خاصتا في إستهلاك الذاكرة، هذا بالمقارنة مع نفس البرامج المكتوبة في C.
التطبيقات التي تم تطويرها بلازاروس في منصة ما يمكن ترجمتها وتشغيلها في أي منصة أخرى، شرط ان تحتوي على مترجم فري باسال. مشاكل التوافقية العتاد والقيود المفروضة على النظام بسبب تنوع المنصات تشكل عائق ; مع ذلك، في برامج سطح المكتب يمكنك نقل الكود وتشغيله في كل من لينكس ووينداوز وماك بدون تغيير فيه (أو مع تغييرات طفيفة), وكامثال ; بيئة تطوير لازاروس هو نفسه صنع من لازاروس بقاعدة كود واحدة وهو متوفر في جميع المنصات الشائعة وحتى في رسبري باي.

## تاريخ

مشروع لازاروس له جذوره في مشروع Megido. . من مجموعات Google ، هذا الاخير كان إجراء لإستنساخ برنامج مفتوح المصدر شبيه بالدالفي، بعد نجاح مترجم فري باسكال وتفوقه على مترجم تيربو باسكال، وإنتاج نسخة تعمل في عدد من المنصات التشغيلية، كانت الحلقة الناقصة هي أداة التطوير المتكاملة. لازاراس هي أداة التطوير المستخدمة مع فري باسكال، أو هي أداة التطوير التي تستخدم فري باسكال كمترجم. وهي مكتبة ضخمة للكائنات class library،
بدأ مشروع لازاراس عام 1999 من طرف Cliff Baeseman و Shane Miller و Michael A. Hess وتم إصدار النسخة رقم 1 منه في أواخر أغسطس من العام 2012، لكن تمت كتابة عدد كبير من البرامج بواسطة النسخ السابقة للنسخة رقم 1 كما تمت كتابة عدد من الكتب حوله.

## الميزات

شبيه بلإصدارات السابقة من بورلاند دلفي، لازاروس يوفر بيئة تطوير بصري للغاية لإنشاء واجهات المستخدم الغنية، كمنطق التطبيق والازرار والعلب والنوافذ، وغيرها من رموز الداعم. هذا مع خدمات تتبع الكود والنسيق والادوات المساعدة في إدارة المشاريع، كما يوفر لازاروس IDE مميزات أخرى وهي لا تقتصر على: شبيه بلإصدارات سابقة من بورلاند دلفي، لازاروس يوفر بيئة تطوير بصري للغاية لإنشاء واجهات المستخدم الغنية، كمنطق التطبيق والازرار والعلب والنوافذ، وغيرها من رموز الداعم. هذا مع خدمات تتبع الكود والنسيق والادوات المساعدة في إدارة المشاريع، كما يوفر لازاروس IDE مميزات أخرى وهي لا تقتصر على:
* ما تراه هو ما تحصل عليه (WYSIWYG)
* مجموعة واسعة من الحاجيات واجهة المستخدم الرسومية أو المكونات البصرية مثل مربعات التحرير، وأزرار، والحوارات، والقوائم، الخ
* مجموعة واسعة من المكونات غير المرئية للسلوكيات الشائعة مثل الحفاض على إعدادات التطبيق، تقدم والتأخير عند تحرير الكود.
* وهناك مجموعة من مكونات الاتصال بقواعد البيانات، PostgresSQL، فايربيرد، أوراكل، SQL لايت، سايبيس، وغيرها...
* الإكمال الذكي للكود والماكرو، تسمح للمطور رؤية البيانات في المكونات البصرية، لتسهيل العمل
* مصحح الكود التفاعلي
* تنقيح الكود
* قوالب جاهزة من الاكواد
* التسليط في النص بالالوان لتمييز بين الاجرأت والمتغايرات
* مساعد الكود لتتبع الاخطاء
* الكشف وإخفاء مناطق من الكود لتجنب الارتباك عند الاطلاع
* التنسيق التلقائي
* القدرة على إنشاء مكونات مخصصة

## التعريب

لازاروس يعتمد على المكتبات الرسومية المتوفرة في النظام، وهي في مجملها تدعم اللغة العربية، أما عن واجهة البرنامج فهي مترجمة تقريبا.
المستندات غير متوفرة باللغة العربية على ويكي البرنامج لكن لغة الباسكال; لديها توثيق جيد في اللغة العربية.

## التطوير عبر تعدد المنصات

لازاروس يستخدم فري باسكال كبرنامج يشغه في الخلفية. وبالتالي يمكن للازاروس، من الناحية النظرية، استخدامه لتطوير تطبيقات لجميع الأنظمة الأساسية المعتمدة من قبل فري باسكال.
مماثلا لمكتبة run-time التي يقدمها فري باسكال، لازاروس يوفر إطار عبر منصة التطبيق تسمى مكون مكتبة لازاروس (LCL)، اللتي توفر واجهة واحدة موحدة للمبرمجين، مع التطبيقات المختلفة يقوم لازاروس بتحديد تلقائي للمنصة. باستخدام LCL، يمكن للمرء إنشاء تطبيقات بالكتابة مرة واحدة فقط،

## محمولية الترجمة

فري باسكال يدعم محمولية الترجمة، ومنه لازاروس يمكنه الترجمة من وينداوز إلى لينكس و FreeBSD, ونفس الشيء. الترجمة من Mac OS X إلى وينداوز ولينكس تكون ممكنة، الترجمة إلى Mac OS X متاحة في نسخ PowerPC القديمة، ولكن ليس في لإصدارات الأحدث من هذه المعالجات التي تنتجها إنتل، وهذا منذ تخلى أبل عن إصدار مجمع الاسمبلي ورابط المكتبات الديناميكية.
برامج الأجهزة المدمجة مثل (هواتف، والمساعد الشخصي الرقمي، والموجهات، نظام لعبة فيديو) يمكن ترجمتها في كل الانظمة المذكور سلفا.

## مكتبة عناصر لازاروس

إطار البرامج القياسي، مكتبة عناصر لازاروس (LCL) صمم بعد مكتبة المكونات المرئية (VCL) في لدلفي 6, لكنها متاحة لأنظمة تشغيل أخرى غير Windows.ويتم ذلك عن طريق فصل تعريف الطبقات الأدوات المشتركة في widgetset .ويتم دعم كل مجموعة من القطع من خلال توفير واجهة التي تتفاعل مباشرة مع مجموعة التابعا لها.
المكتبات الرسومية التي يتم دعمها (أوائل عام 2011) على النحو التالي.
| قطع المكتبة الرسومية | دعم نظام التشغيل | الحالة |
| Windows API, GDI | وينداوز | مدعمة |
| Windows CE API, GDI | Windows CE | مدعمة |
| GTK+ 1.2.x | جنو/لينكس (via نظام النافذة إكس) | تم اسقاطه |
| GTK+ 2.8+ | مايكروسوفت ويندوز، لينكس (نظام النافذة إكس and framebuffer) and أو إس 10 (via نظام النافذة إكس) | مدعم |
| GTK+ 3.x | As Gtk2 | تجريبي |
| Qt 4.5+ | مايكروسوفت ويندوز، جنو/لينكس (نظام النافذة إكس and framebuffer), أو إس 10 | مدعم . ويعمل في in Windows, Linux, Mac OS X, Maemo, etc |
| Cocoa | أو إس 10 | جاري |
| Carbon | أو إس 10 | يعمل |
| fpGUI | مايكروسوفت ويندوز، Windows CE, جنو/لينكس (بواسطة نظام النافذة إكس) | مرحلة اولية |
| Lazarus Custom Drawn Controls | أندرويد، مايكروسوفت ويندوز، جنو/لينكس (via نظام النافذة إكس), أو إس 10 | مرحلة اولية |
في ما يخص GTK3 الخطة هي كتابة الكود من الصفر، لأن خلفية GTK2 كانت غير نظيفة وورثت الكود من GTK1.

## تطوير قواعد البيانات

يمكن للمطورين تثبيت الحزم التي تسمح لهم العمل مع العديد من قواعد البيانات. البرامج يمكن أن تتفاعل مع قواعد البيانات من خلال التعليمات البرمجية أو من قبل المكونات بوضعها في النافذة، مثل TDataSource TPSQLDatabase، TSQLiteDataSet، ويمكن إضافة الجداول وربطها مع قواعد البيانات بسهولة تامة هذا مع توفير مجسم الطباعة الجاهز.
هناك عدة قواعد بيانات متوفرة في لازاروس لكن غير مفعة منها:
* dBase and FoxPro يمكن التشغيل دون الحاجة إلى خادم خارجي أو من خلال المكتبة.TDbf component
* InterBase / Firebird. شاهد
* ميكروسوفت إس كيو إل سيرفر و Sybase ASE. شاهد
* ماي إس كيو إل. شاهد
* ODBC databases. شاهد
* Oracle. شاهد
* بوستجري إس كيو إل. شاهد
* إس كيو لايت. شاهد
مكونات أخرى، مثل Zeoslib, يمكن استخدامها أيضا.

## الإختلاف عن الدالفي

لازاروس يشبه دلفي في نواح كثيرة، لكن هناك عدد قليل من القيود فيما يتعلق بالأداء والميزات.
* على ويندوز الملف التنفيذي، حجمه كبير افتراضيا، أكبر إلى حد ما من دلفي (6/7) أي ما يعادله، هذا لأنه يتم تضمين معلومات التصحيح والتنقيح ضمن الملفات التنفيذية للازاروس، بدلا من جعلها منفصلة مثل دلفي. ومع ذلك، وابتداء من النسخة 0.9.30 تم إضافة ميزة تتيح إنشاء ملفات التصحيح خارجيا. فاصبحت الملفات التنفيذية للازاروس صغيرة الحجم، وتم إضافة خاصية التجريد وهي ميزة فعالة في تصغير حجم الملف التنفيذي بشكل ملفت (يمكن تعيينها في الخيارات المترجم).
* يمكن تثبيت مكونات لدلفي في لزاروس، ولكن يجب أن يتم تحويلها.
* الافتقار لمكتبات الوسائط و widgets.
** الاتصال بميكروسوفت أوفيس (تفرقع إكسل يعمل بشكل جيد في إصدار2.5.x).
** Datasnap (ليس لديه توثيق جيد لأنه مملوك).
* Networking متاح في الغالب.
* لا يوجد دعم اللاتصال المباشرة مع مكتبات NET. من ناحية أخرى، فمن الممكن استدعاء التعليمات البرمجية لأوبجي باسال . من NET.
* دعم COM كان مفقود من سلسلة 2.0.x،FPC ولكنه عاد ليعمل مع FPC 2.2.0، وقد نضجت منذ ذلك الحين.
* دعم التحميل الديناميكي مفقود للحزم .
* ليست هناك توافقية مئة في المئة مع VCL. وكما ذكر سابقا هذا سببه التصميم، على الرغم من أن المجموعة الحالية لحزمة LCL ينبغي أن تكون كافيا لمعظم التطبيقات.

## التوزيع والترخيص

مثل فري باسكل، لازاروس هو برنامج حر. ويتم توزيعه في إطار مختلف التراخيص من البرمجيات الحرة، بما في ذلك GPL، LGPL، MPL، ونسخة معدلة من LGPL 3. الرخصة .
على وجه التحديد، يتم ترخيص LCL، والتي تبقى بشكل ثابت في الملفات التنفيذية، تحت النسخة المعدلة من LGPL، هذا لكي يتمكن المطور دمج المكتبة في الملف التنفيذي، دون تقييده في رخصة برنامجه المملوك.
لاحظ أن تثبيت الحزمة في وقت الترجمة والتشغيل (Run) يتم ربطها مع IDE. كذلك، يتم توزيع لازاروس IDE تحت رخصة GPL (و على سبيل المثال حزم JEDI، التي تم ترخيصها تحت رخصة موزيلا العمومية) مثبتة مسبقا، هنا يحدث انتهاك في ترخيص GPL. هذا لأن رخصت GPL تمنع رخصة موزيلا في برامجها . لكن هذا لا يمنع الحزم المملوكة من تطويرها مع لازاروس.
يتم توزيع لازاروس رسميا عبر موقع سورس فورج.نت.

## التطبيقات المنتجة مع لازاروس

هناك عدة برامج . بنيت على لازاروس نذكر منها:
* ASuite
هو حر ومفتوح المصدر يشتغل على نظام التشغيل Windows. من 2.0 ألفا 2، وهو مكتوب بشكل كامل في لازاروس / فري باسكل.
* Cartes du Ciel
هو برنامج القبة السماوية على لينكس، ونظام التشغيل Mac OS X و Windows. يحتوي خرائط وتسميات معظم الأبراج والكواكب، والأجسام التي ترى مع تلسكوب. كتب بشكل كامل في لازاروس / فري باسكال وصدر برخصة GPL.
* Cheat Engine
محرك الغش هو ذاكرة مفتوحة المصدر للماسح الضوئي . المفيد منه هو الغش في ألعاب الكمبيوتر. منذ الإصدار 6.0 تم ترجمة مع لازاروس / فري باسكال.
* Greenfish
محرر إيقونات مجاني، يمكنك صنع مؤشرات وتحرير الرسوم المتحركة.
* MyNotex
هي البرمجيات الحرة لجنو / لينكس، مفيد في إدارة الملاحظات النصية.
* Peazip
هو أرشيفي مفتوحة المصدر، مصنوعة من لازاروس / فري باسكال.
* TorChat
يتم تحويله من البايثون، ويجري إعادة كتابة في لازاروس + فري باسكال
* WinFF
تحويل الوسائط المتعددة، وهو متاح للينكس وويندوز.

## مكتبات متوافقة مع لازاروس

* GLScene
هي مكتبة مجانية على مبنية على OpenGL لتوفير مكونات بصرية يمكن دمجها في نوافذ البرامج وهذا يسمح لك مشاهدة الصور الثلاثية البعد .
* OpenWire
هي مكتبة مفتوحة المصدر تسمح لك بالاتصال بين مكونات LCL مماثلة لابفيو أو Agilent VEE.