لوحة المتصدرين
المحتوى الأكثر حصولًا على سمعة جيدة
المحتوى الأعلى تقييمًا في 04/16/16 في كل الموقع
-
سنتعلّم مبادئ HTML و CSS لإنشاء مشاريع ويب خاصة بنا. سيتميّز هذا الدرس بتركيزه على الجانب العملي بشكل كبير، حيث سنبدأ فورًا بإنشاء مشروع خاص بنا. أمّا بالنسبة للنواحي النظرية فسنشرحها عند الحاجة أثناء تقدّمنا ببناء المشروع. بهذه الطريقة سنكتسب أساسًا متينًا وسريعًا في مجال تطوير الويب. سأوجّهك خلال هذا المشروع إلى روابط خارجية تُشير إلى مصادر أخرى للتوسُّع في نقاط معيّنة إن أحببت ذلك. المشروع سيكون المشروع عبارة عن بناء ملف شخصي portfolio على الويب. سيضم صفحة بداية Home ومدوّنة Blog وصفحة تُظهر مشاريع ويب المستقبلية التي تنوي إنشائها Projects، بالإضافة إلى صفحة للتواصل Contact. الهدف من المشروع الهدف منه هو جعلك تدخل عالم برمجة الويب ومساعدتك كي تتعلّم كيفية إيجاد المزيد من المعلومات حول أي موضوع لوحدك. ستصبح قادرًا بعد ذلك على معالجة مشاريع ويب أكثر تعقيدًا. ما هو HTML و CSS؟ لغة الرُماز المعلَّم Hypertext Markup Language والتي ندعوها اختصاراً HTML هي لغة مسؤولة عن بُنية structure صفحة الويب. فمثلًا يمكنك تعريف عناوين headings وفقرات paragraphs ونصوص texts وصور images في HTML. أمّا بالنسبة لأوراق الأنماط المتتالية Cascading Style Sheet وندعوها اختصاراً CSS فهي مسؤولة عن تنسيق (تنميط) style وتخطيط layout صفحة الويب. يمكنك تعريف تنسيقات جديدة خاصة بالألوان والخطوط وطرق المحاذاة وحتى يمكنك إنشاء بعض التحريكات animations البسيطة في CSS. تذكّر: تزوّدنا HTML بالمحتوى في حين تُنسّق CSS هذا المحتوى. دورة تطوير واجهات المستخدم ابدأ عملك الحر بتطوير واجهات المواقع والمتاجر الإلكترونية فور انتهائك من الدورة اشترك الآن موقع ويب أم تطبيق ويب يمكننا بناء مواقع ويب websites معقّدة جدًّا باستخدام HTML و CSS فحسب. لكن ستكون مواقع الويب هذه ساكنة static، ويعني ذلك أنّ زوّار الموقع يمكنهم استعراض الصفحات لكنّهم لا يمكنهم التفاعل مع هذه الصفحات (باستثناء النقر على الروابط الموجودة في الصفحات). لبرمجة مواقع ويب ديناميكية dynamic تكون تفاعلية مع المستخدم، سنحتاج إلى لغة برمجة إضافية مثل JavaScript أو Dart. ويمكننا باستخدامهما تطوير (هو مفهوم أوسع من البرمجة) تطبيقات ويب Web Applications كاملة مثل التطبيقات التي تهتم بإجراء الحسابات المختلفة أو تطبيقات الألعاب أو تطبيقات المحادثة وغيرها الكثير. تعمل هذه التطبيقات في الواقع ضمن متصفّح الويب. كما توجد لغات برمجة وتقنيات أخرى مثل PHP وRuby وASP.NET تسمح ببناء تطبيقات ويب ديناميكية أيضًا ولكن تعمل هذه التطبيقات ضمن مزوّد خدمة الاستضافة (على المخدّم). كما يمكن المزج بين هذين الأسلوبين لإنشاء مواقع ويب فعّالة للغاية. يمكنك بعد الانتهاء من هذه الدروس، البدء بتعلّم مثل هذه اللغات والتقنيات وإنشاء تطبيقات ويب ديناميكية. أنشئ موقع احترافي لأعمالك وعزّز حضورك الرقمي صمم موقع إلكتروني فريد وجذاب لعملائك في دقائق دون خبرة برمجية باستخدام سنديان منشئ المواقع العربي أطلق موقعك الآن الأجهزة المحمولة يُشكّل الوصول إلى مواقع الويب عن طريق الأجهزة المحمولة كالهواتف الذكيّة أو الأجهزة اللوحية نسبة كبيرة من عمليات الوصول العامة. وهكذا فإنّه من الضروري أن يظهر موقعنا بشكل جيّد على الشاشات الصغيرة. على العموم سنولي هذا الأمر اهتمامًا خلال هذه السلسلة التعليمية. الأدوات المستخدمة نحتاج إلى تطبيقين للدخول في عالم تطوير وبرمجة الويب، محرّر نصوص لإنشاء الملفات الخاصة بموقع الويب، ومتصفّح ويب لعرض وتجربة الموقع. 1- المحرر Editor سيكون كافيًا استخدام محرّر نصوص عادي (كبرنامج المفكرة Notepad في ويندوز مثلًا). ولكن من الأفضل استخدام محرّر نصوص يسهّل عملنا إلى حدٍّ كبير. لهذا الغرض أنصح باستخدام محرّر نصوص عصري ومخصّص لتحرير HTML. محرّر النصوص الذي أنصح به حاليًا هو Brackets (مجّاني من شركة أدوبي Adobe). يمكنك أن تستخدم أي محرّر تريده، ولكنّني في هذه السلسلة سأُشير أحيانًا إلى بعض وظائف تطبيق Brackets. يوجد محرّر نصوص جيّد أيضاً ويمكنك استخدامه وهو Atom، ويوجد محرّر نصوص آخر أيضًا، قديم قليلًا لكنّه جيّد وهو ++Notepad. حمّل ونصّب المحرّر Brackets إذا أردت ذلك. 2- المتصفح Browser يتوجّب على موقعنا أن يعمل على جميع المتصفحات الرئيسية بالطبع (Internet Explorer و Firefox و Chrome و Safari). على أية حال، أنصح باستخدام المتصفح Chrome لأغراض التطوير والبرمجة. يضم Chrome أدوات مفيدة للغاية لمطوّر الويب والتي سيستخدمها على نحو متكرّر. بالإضافة إلى ذلك، يدعم المحرّر Brackets المتصفّح Chrome بشكل جيّد، بحيث أنّ التغييرات التي تحدث في النص ستظهر مباشرةً ضمن Chrome (عن طريق ميزة اسمها Live Reload). حمّل ونصّب المتصفح Chrome الآن من هنا. إنشاء مستند HTML لنبدأ الآن بإنشاء مستند HTML الأوّل لنا من أجل موقع الويب: أنشئ مجلّدًا من أجل المشروع. سمّ المجلّد بالاسم Portfolio (أو أي اسم آخر ترغبه). افتح برنامج Brackets. من القائمة File اختر الأمر …Open Folder لتحديد وفتح المجلّد الذي أنشأناه قبل قليل. انقر بزر الفأرة الأيمن أسفل اسم المجلّد واختر New File لإنشاء ملف جديد، سمّه index.html. لديك الآن ملف نصّي فارغ اسمه index.html لماذا الملف index.html؟ في الواقع للملف index.html معنى خاص، فعندما نطلب من المتصفّح عنوان موقع ويب ما، وليكن مثلًا http://code.makery.ch، فعند ذلك سيُعرَض الملف index.html أولاً بشكل تلقائي، أي كأنّنا طلبنا العنوان http://code.makery.ch/index.html. بالنسبة إلينا، سيمثّل الملف index.html الصفحة الرئيسية. عمليتا العرض والتحديث يمكننا الآن تعبئة مستند HTML (الملف index.html) بالمحتوى. اكتب الأسطر التالية ضمن مستند HTML. لعرض الصفحة ضمن المتصفّح، انقر الأيقونة التي تُشبه البرق في الطرف الأيمن من البرنامج (المعاينة الحية Live Preview). سيُفتَح المتصفّح Chrome وسيُعرض المستند ضمنه، وفي حال أجريت أي تغيير جديد على مستند HTML فسترى نتيجة ذلك على المتصفّح مباشرةً، وهي في الحقيقة ميزة هامة وفعّالة. إذا لم تظهر الصفحة، اذهب إلى المكان الذي يوجد فيه الملف index.html وافتحه مباشرةً باستخدام Chrome أو أي متصفّح آخر. أمّا لم تُحدّث الصفحة تلقائياً، فاحفظ جميع الملفات المفتوحة (سننشئ ملفات أخرى تباعاً) ثم من نافذة المتصفح اضغط F5 على لوحة المفاتيح. تهانينا، لقد أنشأت موقع ويب الأوّل الخاص بك. التحييد Indentation لكي نُبقي الشيفرة نظيفة وواضحة، من المهم أن تعمل على تحييد النص بشكل صحيح باستخدام مفتاح الجدولة Tab من لوحة المفاتيح. يأخذ مفتاح Tab في برنامج Brackets أربعة فراغات بشكل افتراضي. بالنسبة لي أجد ذلك كثيراً بعض الشيء، لذلك أنصح أن تغيّر هذا لتصبح الفراغات spaces التي يأخذها المفتاح Tab تساوي 2، وذلك من أسفل نافذة Brackets. من المهم جدًّا أن ننتبه إلى تحييد الشيفرة من البداية، لكي نكتب شيفرة نظيفة وواضحة من بداية تعلّمنا للبرمجة عموماً. تلميح 1: استخدام Shift+Tab لكي تنقل المحاذاة إلى اليسار بدلاً من اليمين. تلميح 2: يمكنك محاذاة عدة أسطر بنفس الوقت إذا اخترتهم وضغطت Tab أو حتى Shift+Tab. عناصر HTML 1- الوسوم Tags في المثال السابق رأيت رموزًا مكتوبة ضمن رمزي <> تشكل هذه الرموز كلمات نُسميها الوسوم Tags. تتألف عناصر HTML عادةً (ولكن ليس دائماً) من وسمين، وسم للفتح opening tag ووسم للإغلاق closing tag. في مثالنا السابق كان <html> هو وسم للفتح، أمّا <html/> هو وسم للإغلاق حيث نلاحظ وجود محرف slash قبل اسم الوسم. أي نص موجود بين وسمي الفتح والإغلاق يُعتبر محتوى لعنصر HTML هذا. فمثلاً بالنسبة للوسمين <html> و <html/> نُخبر متصفّح الويب عن بداية ونهاية مستند HTML لصفحة الويب الخاصة بنا. أمّا الوسم الثاني الذي صادفناه هو الوسم <body>. يُحدّد هذا الوسم أنّ جميع المحتوى الواقع بين وسم الفتح <body> والإغلاق <body/> سيظهر بشكل مرئي للمستخدم في المنطقة الرئيسية من نافذة المتصفّح. 2- السمات Attributes تُعرّف السمات معلومات إضافية لعنصر HTML. وتقع هذه السمات ضمن وسم الفتح لعنصر HTML، ويكون لها دائماً اسم name وقيمة value. كمثال على السمات، دعنا ننظر إلى عنصر HTML الخاص بالروابط. وهو ربما من أهم العناصر على الإطلاق. يضم عنصر الروابط <a> السمة href (وهي اختصار للكلمتين hypertext reference) التي تحمل القيمة في هذا المثال http://code.makery.ch.ولكن سيعرض المتصفّح هذا الرابط على شكل النص التالي: My Website. البنية الأساسية لصفحة HTML لقد رأينا قبل قليل عنصري HTML وهما <html> و <body>. ولكن بنية صفحة (مستند) HTML تتكوّن عادةً من المزيد من العناصر. استبدل محتويات الملف index.html بالشيفرة التالية، بعد ذلك سنناقش كل عنصر HTML موجود فيها. بنية ملف (مستند) HTML <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>Web Portfolio of Marco</title> </head> <body> <h1>Web Portfolio of Marco</h1> <p>Write anything you want to tell the world.</p> </body> </html> الشرح نضع في السطر الأوّل <DOCTYPE html!> دوماً. فهي تخبر المتصفّح عن نوع المستند. يشير الوسم <html> إلى بداية المستند والوسم <html/> إلى نهايته. يحتوي العنصر <head> (بين وسمي الفتح والإغلاق له) على معلومات إضافية حول الصفحة. وبشكل مختلف عن العنصر <body>، لا تظهر هذه المعلومات في نافذة المتصفح الرئيسية. يجب أن تكون هناك إشارة ضمن العنصر <head> حول الترميز character set المستَخدَم في هذا المستند: <"meta charset="utf-8>. إذا لم تحدّد الترميز المستَخدَم فإنّ بعض الرموز قد لا تظهر بصورة صحيحة. ربما قد لاحظت أنّ العنصر <meta> لا يمتلك وسم إغلاق. توجد بعض عناصر HTML التي لا تمتلك أيضًا وسوم إغلاق، ولكنها تعتبر استثناءً. نرى بعد ذلك الوسم <title> الذي يضم عنوان المستند والذي سيظهر على شريط العنوان لنافذة المتصفّح. كل شيء ضمن الوسم <body> سيظهر ضمن نافذة المتصفّح الرئيسية. يُعرّف العنصر <h1> العنوان الرئيسي الذي سيظهر للمستخدم ضمن صفحة الويب. ويمكن إنشاء عناوين فرعية أيضاً باستخدام العناصر <h2> <h3> <h4> <h5> <h6>. النص الموجود بين الوسمين <p> و <p/> يُعتبر فقرة مستقلة، وهذا ما يُعبّر عنه العنصر <p>. بعد كل وسم فتح لعنصر ما، يجب أن نحاذي العنصر التالي (بمفتاح الجدولة Tab) لتحسين عرض الشيفرة. ورغم أنّ ذلك ليس ضرورياً ولا يؤثّر أصلاً في عرض المستند، ولكن تأكّد من امتلاكك لهذه العادة الجيّدة. تلميح 1: يمكنك استخدام بنية HTML السابقة لأي صفحة HTML جديدة. تلميح 2: استخدم الاختصار Ctrl+S من لوحة المفاتيح لحفظ الملف الحالي. تلميح 3: استخدم الاختصار Ctrl+Z من لوحة المفاتيح للتراجع عن العمليات التي أجريتها. نحن مستعدّون الآن وبعناصر HTML البسيطة هذه، أن نرتقي بموقعنا إلى مستوى أعلى. في البداية لنُضِف صورة بحيث تبدو الصفحة الرئيسية لمشروعنا أكثر جمالًا. إدراج صورة لإدراج صورة نستخدم العنصر <img>. المثال التالي سيُدرج صورة موجودة ضمن ملف اسمه marco.jpg: <img src="marco.jpg" alt="Picture of me"> للعنصر <img> وسم فتح فقط ولا يوجد له وسم إغلاق. وهو يحتوي على سمتين src و alt. السمة src تُحدّد عنوان URL الذي يُعبّر عن اسم ملف الصورة ومساره. أمّا السمة alt فتمثّل النص البديل، وهو النص الذي يصف محتويات الصورة. يُستخدم هذا النص من قِبل محرّكات البحث، وفي حال تعذّر عرض الصورة ضمن الصفحة سيُعرض هذا النص بدلاً عنها. 1- عناوين URL النسبية والمطلقة تُستخدم عناوين URL من أجل السمة src الخاصة بعنصر الصورة، وأيضاً من أجل السمة href الخاصة بعنصر الارتباط. يُحدّد عنوان URL عنوان (مسار) ملف، وبصورة عامة العنوان هو مصدر resource قد يكون صورة أو صفحة ويب من موقع آخر. بالاعتماد على موقع الملف نستخدم إمّا العنوان النسبي relative أو العنوان المطلق absolute. فإذا كان الملف موجودًا ضمن نفس موقع الويب، عندها يمكن استخدام عنوان نسبي. فكما رأينا في المثال السابق اسم الملف وحده موجود دون عنوانه الفعلي (المطلق). يكون عنوان URL من النوع النسبي، نسبيًا دومًا إلى صفحة HTML الحالية، فإذا كان الملف المستهدف وصفحة HTML التي ستستخدمه موجودان ضمن نفس المجلّد فعندها يكفي الإشارة إلى اسم الملف فقط، أمّا إذا كانا ضمن مجلّدين مختلفين فعندها يحب أن يؤخذ ذلك بعين الاعتبار. فإذا فرضنا مثلًا أنّ ملف الصورة من المثال السابق موجودة ضمن مجلّد فرعي اسمه images سيكون عنوان URL النسبي لملف الصورة images/marco.jpg. أمّا إذا كان ملف الصورة موجود ضمن المجلّد الأب، فيمكنك عندئذ الوصول إليه باستخدام البادئة ( /.. ) أي سيصبح عنوان الملف في هذه الحالة marco.jpg/.. أمّا إذا كان الملف موجوداً ضمن موقع ويب آخر، فعندها يجب استخدام عنوان URL مطلق. تحتوي عناوين URL المطلقة على الاسم والمسار الكاملين للملف. حقائق عن عناوين URL: عنوان URL الذي يبدأ بـ //:http هو عنوان URL مطلق. عنوان URL بدون //:http هو عنوان URL نسبي بالنسبة إلى صفحة ويب الحالية. تُشير النقطة ( . ) إلى المجلّد الحالي. تُشير النقطتان ( .. ) إلى المجلّد الأب. أمثلة عن عناوين ويب النسبية والمطلقة: <!-- عناوين نسبية --> <a href="image-gallery.html">Image Gallery</a> <a href="blog/first-blog-entry.html">My First Blog Entry</a> <a href="../image-gallery.html">Back to Image Gallery</a> <!-- عناوين مُطلقة --> <a href="http://www.my-colleague.com/blog.html">Blog of a Colleague</a> 2- إضافة صورة إلى موقعنا لندرج صورة ضمن الصفحة، ينبغي نسخ ملف الصورة إلى المجلّد Portfolio. من الممكن أن تستخدم نفس الصورة الموجودة مع هذا الدرس، أو أن تستخدم صورة من عندك، ولكن احرص في جميع الأحوال على أنّك ستُحدّد اسم الملف مع الامتداد بدقّة. يجب أن تحصل على شيفرة شبيهة بما يلي (لاحظ أنّني أضفت عناوين فرعية بالإضافة إلى مزيد النصوص): الملف index.html مع الشيفرة اللازمة: <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>Web Portfolio of Marco</title> </head> <body> <h1>Web Portfolio of Marco</h1> <h2>Welcome!</h2> <p>Thanks for stopping by.</p> <p>Please have a look around. In the blog section I document my experiences in programming. You may also look at my web projects. Have Fun.</p> <img src="marco.jpg" alt="Picture of me"> <p>Marco :-)</p> </body> </html> والصورة التالية لما ستبدو عليه الصفحة في متصفّح الويب: إن أردت تعلم المزيد حول HTML و CSS وأن تصبح خبيرًا بهما وأن تطور مواقع وتطبيقات ويب عالية الجودة، فأنصحك بالاطلاع على دورة تطوير واجهات المستخدم المقدمة من أكاديمية حسوب. سنتعلّم في الدرس الثاني كيف ننشر موقعنا على الانترنت. ترجمة -وبتصرّف- للدّرس HTML & CSS Tutorial - Part 1: Your First Website لصاحبه Marco Jakob. اقرأ أيضًا المدخل الشامل لتعلم تطوير الويب دليل تعلم لغة HTML دليل تعلم البرمجة1 نقطة
-
عندما يأتي الحديث عن أطقم تحرير المُستندات الأكثر شهرة فإنّ الهيمنة ستكون من نصيب حزمة Office المُقدمة من Microsoft دون منازع، لكن هذا لا يُخفي حقيقة أن المزيد من الحكومات، المنظمات، والأفراد حول العالم ينتقلون للاعتماد على LibreOffice المجاني ومفتوح المصدر، والذي يوفّر ميزاتٍ عديدة تشمل قائمة من بعض أهم ميزات حزمة Microsoft Office. وعلى الرغم من أن قواسم عدّة تجمع بين البرنامجين إلا أنّ فروقاتٍ مُهمة وجوهريّة تُميّز بينهما. سنُناقش في هذا الدرس باختصار بعض القواسم المُشتركة بين LibreOffice و MS.Office كما سنتحدّث عن الفروقات المُهمة بينهما، مُستهلين بذلك سلسلة دروس أكاديميّة حسوب عن حزمة LibreOffice. نشأة LibreOfficeتعود بداية القصّة إلى عام 1985 عندما كتب المُبرمج الألماني Marco Börries المُحرّر النصيّ StarWriter لأنظمة Dos، وكان عمره آنذاك ستّة عشر عامًا. في السنة التاليّة أسّس Marco شركة StarDivision للبرمجيات ضمن مرآبٍ له في مدينة لونبورغ - ألمانيا، اشتهرت الشركة بإصدار طقم أدوات المكتب StarOffice. في عام 1995 أصدرت الشركة النسخة الثالثة من حزمة StarOffice، حيث أعيد كتابتها بالكامل لتُصبح عابرة للمنصّات تعمل على كلّ من أنظمة Windows، OS/2، و Solaris Sparc، وذلك بهدف منافسة طقم المكتب Microsoft Office 95. وهذه هي أقدم شيفرة برمجيّة لا تزال مُضمّنة في تطبيق LibreOffice. في نهاية الربع الثاني من عام 1999 استحوذت شركة Sun على StarDivision بصفقة بلغت قيمتها 73.5 مليون دولار أمريكي، لتفتح بعد ذلك الشيفرة المصدريّة للبرنامج بهدف بناء مجتمع مفتوح لتطويره، مُطلقة الإصدارة المبدئية من OpenOffice.org بناء على النسخة 5.2 من طقم StarOffice بُرخصة مُزدوجة LGPL/SISSL. سارت عملية التطوير بأسلوب مشابه لما تتبعه Google اليوم مع متصفح chrome، حيث تفتح الشركة الجزء الأكبر من الشيفرة المصدريّة للبرنامج باسم chromium وتقود عملية تطوير يُشارك فيها مجتمع مفتوح المصدر، ثم تأخذ الشيفرة وتُضيف عليها ميزاتٍ خاصّة مُتقدّمة لتُعيد إصدارها بشكل مُغلق، أكثر تفوقًا من البرنامج الأساس باسم chrome. لم يأتِ العام التالي (2000) حتى أضيف دعم أنظمة لينكس إلى الحزمة، علاوة على تحسين التوافقيّة مع MS.Office. في عام 2005 تمّ إلغاء الترخيص المُزدوج للبرنامج والاكتفاء بترخيصه تحت رخصة غنو العمومية الصغرى، وفي تشرين الأول من عام 2009 صدرت النسخة الثالثة بتغييرات جوهرية وجذرية بهدف تحسين الأداء، زيادة سرعة الاستجابة، والتقليل من حجم الذاكرة المُستخدمة. ومع بداية عام 2010 استحوذت شركة Oracle على Sun، ما أنتج ثلاث تغييرات بارزة: إنهاء مسيرة حياة StarOffice.إعادة تسمية مشروع OpenOffice.org باسم Apache OpenOffice.انشقاق المجتمع مفتوح المصدر والمُهتم بتطوير OpenOffice.org عن العمل برعاية شركة Oracle والذين كانوا يرغبون منذ فترة طويلة بالتمتع باستقلاليّة عن المشروع التجاري لشركة Sun وقيادتها لعملية التطوير، وإطلاقهم مشروع LibreOffice بالاعتماد على الكود المصدري لطقم Open Office 3.3.اليوم وبعد أربع سنوات على تطوير LibreOffice وصل البرنامج إلى الإصدارة الخامسة، وتمّ اعتماده من قبل غالبية توزيعات لينكس الكبرى، وأعداد متزايدة من الحكومات، المنظمات، والأفراد. فروقات عامةيرى البعض أنّ مقارنة مُنتج مدفوع مثل MS.Office مع آخر مجاني يعمل عليه فريق تطوعي مثل LibreOffice أمرٌ غير عادل، إلا أن المُنتَجين يملكان العديد من الخصائص المُتشابهة. بل ما هو أكثر من ذلك؛ ففي حين أن MS.Office 2013 متوافق مع كلٍ من إصدار Windows السابع (وما يليه)، ونظام OSX؛ فإنّ المكتب الحرّ يدعم كافة إصدارات Widows علاوةً على توزيعات لينكس ونظام OSX. بكل الأحوال فإنّ مقارنتنا هنا لن تدور حول أيّ واحدٍ منهما هو "الأفضل" أو "صاحب الميزات الأكثر"، وإنما لتتحقّق فيما إذا كان عملك يتطلّب ما تُقدّمه Microsoft أو أنّه يمكنك الحصول على ما تريد من بديل مجانيّ ومفتوح المصدر لتوفّر بعض المال. تُقدّم حزمة MS.Office عددًا من البرامج الأساسيّة أهمها؛ محرّر نصي (Word)، مُحرر جداول حسابية (Excel)، العروض التقديميّة (PowerPoint)، إدارة قواعد البيانات (Access)، مدير معلومات شخصيّة وعميل بريد (Outlook)، تدوين الملاحظات ومدير تعاون جمعي (OneNote)، برنامج للنشر المكتبي (Publisher). إلى جانب عدد من الأدوات الأخرى الأقل شهرةً واستخدامًا. في المقابل تشمل حزمة LibreOffice على محرّر نصي (Writer)، مُحرر جداول حسابية (Calc)، العروض التقديميّة (Impress)، إدارة قواعد البيانات (Base)، ويغيب عنها بدائل للأدوات الأخرى، إلا أنها تشمل علاوةً على ما سبق برنامج (Draw) للرسم المُتجهي والذي يُمكن اعتباره مُشابهًا لبرنامج Microsoft Visio بالإضافة لاحتوائه على إمكانيات تُرشحّه كبديل أيضًا لبرنامج النشر المكتبي (Publisher) الخاص بـ Microsoft. كما تشمل الحزمة برنامج (Math) لكتابة الصيغ الرياضية والعلميّة وتصديرها لباقي أدوات الحزمة، بينما يشمل برنامج Word على إمكانيات كتابة الصيغ الرياضيّة مباشرة بداخله. نُوضّح في الجدول التالي أهم الخصائص العامة التي تُميّز كل طقم أدوات عن الآخر، يمكنك الإطلاع على القائمة كاملةً من هنا (أغفلنا المزايا المُشتركة بين الحزمتين): ميزات عامة LibreOffice 5.0 Microsoft Office 2013 واجهة المُستخدم GUI تقليديّة مع دعم تشغيل شريط جانبي واجهة Ribbon المُعتمدة على الألسنة توفّر نسخ 64 بت نعم، لجميع المنصّات لمنصّة Windows فقط توفّر نسخة محمولة Portable نعم، قابلة للتشغيل من وسيط usb لا التوطين المحليّ Localization 111 لغة 96 لغة استيراد الصيغ الرسومية svg. psd نعم لا دعم ملفات Microsoft OOXML files دعم جيد دعم ممتاز ومُتقدّم دعم الصيغ الرسومية MEZ, WMZ, PCZ, CGM لا نعم دعم العمل الجماعي المتزامن لا نعم مُعاينة حيّة للتنسيقات لا نعم المحرر النصييتشابه كلّ من Word و Writer في المزايا الرئيسية وحتى الثانويّة كذلك، بدءًا من التدقيق الإملائي والنحوي، الحفظ التلقائي، القوالب، التصدير إلى صيغة pdf وغيرها الكثير، لذا سيكون التفضيل بين البرنامجين أمرًا صعبًا حقيقة. يتميّز Writer بدعمه طُرز التنسيقات Styles format، هذا يُشبه أن تتعامل مع ملف css، فما إن تُعيّن قاعدة تنسيق للفقرات (p) مثلًا حتى تُطبّق بشكل تلقائي على كامل المُستند، دعم الإكمال التلقائي auto completion للكلمات المُستخدمة ضمن المُستند، دعم التصدير إلى XHTML و صيغة MediaWiki وكذلك تصدير المُستند على هيئة صور (jpg, png)، دعم التعامل مع أحجام صفحات تصل حتى (300سم*300سم)، دعم استبدال تلقائي للإيموجي، إمكانية تنسيق نصوص التعليقات وغيرها. في المقابل يتميّز Word بدعمه التدقيق النحوي لـ 21 لغة بشكل تلقائي (مقابل 4 لغات فيWriter)، دعم التعديل على الصور المُدرجة في المُستند بتأثيرات ووضعيات عديدة (كالتدوير بمُختلف الزوايا)، دعم تصاميم وتعديلات مُتقدّمة للجداول المُدرجة، دعم وضع القراءة، دعم طوي وبسط أجزاء المُستند، دعم إضافة علامة مائية للصفحات، دعم اختصارات لوحة المفاتيح بشكل أكبر، دعم النشر الفوري إلى منصات التدوين الشهيرة وغيرها. الجداول الحسابيةفي المقارنة بين Excel و Calc سيعتمد الأمر على استخدامك، في العموم فإنّ كلا البرنامجين يعملان بأسلوبٍ واحد، فإذا كنتَ مُستخدمًا بسيطًا تُنظّم بعض الحسابات، تجري عمليات رياضيّة، وتستخدم المعلومات لإنشاء مُخططات بيانية إلخ فلن تجد فرقًا يُذكر بينهما. أما إذا كنتَ قد استثمرت الكثير من الموارد لإنشاء وبرمجة وحدات ماكرو macros لعملك فغالبًا ما ستُفضّل البقاء مع Excel، إذ يملك Calc لغته الخاصة لكتابة الماكرو والتي لا تتوافق تمامًا مع لغة VBA الخاصة بـ Excel، وهذا ما سيُرتّب عليك إعادة كتابة كل شيء أو توفير الوقت والجهد والاستمرار في استخدام Excel. يتميّز Calc بإمكانية مُقارنة ملفي جداول حسابية معًا، دعم طرز التنسيقات (بما في ذلك تنسيقات الخليّة)، دعم التدقيق الإملائي، دعم التصدير إلى صيغة CSV، دعم التعابير النمطيّة في البحث والاستبدال، القدرة على تدوير الجدول بالكامل، دعم تنسيقات أكثر للخلايا، وغيرها. في المُقابل يتميّز Excel بدعم أكثر من 16 ألف عمود في الورقة الواحدة (مُقابل ألف في Calc)، دعم إدراج رسوم بيانيّة graphic في ترويسة وتذييل الجدول، دعم الرسوم البيانية التفاعلية (PivotChart)، دعم نشر الجداول إلى الويب لإجراء الاجتماعات، خيارات مُتعدّدة لخلفية الخلايا، نسخ الخلايا المرئية، طباعة الخلايا المُحدّدة فقط، وغيرها. العروض التقديميةيكاد اسم PowerPoint يختزل معنى ودلالة العروض التقديميّة؛ فهو برنامج أكثر من رائع يمكنه صناعة عروض مذهلة بمستوى أفضل من مُعظم المنافسين، وبينما يسعى Impress جاهدًا لتقليص الفجوة بينهما فلا يزال هناك عدّة خطوات لاعتبار الفجوّة بحجمٍ معقول. إذا كنتُ تُخطّط لإنشاء عرض تقديمي من الصفر فسيكون Impress خيارًا مُعتبرًا ومناسبًا إلى حدٍ كبير، وإن لم يشمل ذلك على لمسات PowerPoint الجمالية، لا سيما مع إمكانيه تصدير العرض بصيغ عديدة تُسهّل عليك مُشاركة الملف دون أن تطلب من الآخرين تثبيت PowerPoint. أما إن كنتَ تعمل مع فريق يعتمد PowerPoint في مشاريعه فسيكون من الصعوبة استيراد الملف إذ ستعاني من فقدان بعض الخطوط، ومشاكل أخرى مهمة في التصيير rendering لإجراء التعديلات المطلوبة عليه. يتميّز Impress بدعمه تصدير المشروع إلى صيغ (swf, svg, eps)، دعم إدراج وحدات ثلاثيّة الأبعاد 3D، دعم حتى 12 طبقة للشريحة الواحدة (مقابل 9 في PowerPoint)، دعم استيراد ملفات Apple Keynote وغيرها. بينما يتميّز PowerPoint بدعمه للتأثيرات التفاعلية والمتحرّكة، إمكانية تعديل الشرائح أثناء العرض، مقارنة العروض، بثّ العرض مباشرة إلى الوِب، العمل الجماعي على نفس الملف، دعم تعديلات مُتقدمة أكثر على الشرائح، دعم تصدير المشروع كصيغة فيديو وغيرها. قواعد البياناتعندما نأتي إلى المقارنة بين برنامجي قواعد البيانات Access و Base فإنّه سيصعب علينا حقًا تفضيل أحدهما على الآخر، فالتطبيقان مُمتازان لإدارة قواعد البيانات، يعملان بأسلوبٍ متشابه، ويتمتعان بخصائص متقاربة للغاية، فإذا كنتَ تعمل على Access يُمكنك أن تبدأ بتجريب Base على الفور والشعور وكأنك في منزلك. يتميّز Base بدعم مُذهل لـ MySQL، PostgreSQL و Thunderbird، بينما يتكامل Access بشكلٍ أفضل مع Outlook و Paradox، لذا قد يتحدّد خيارك بناءً على التقنيّات المُعتمدة في مكان عملك. أما إذا كنتَ تعمل لحسابك الخاص فيمكنك الاعتماد على Base دون قلق. خاتمةيمكننا القول إجمالًا بأنّ حزمة Office المُقدمة من Microsoft تتميّز بنقطتين أساسيتين: احتوائها على عميل البريد Outlook، وتقديمها خيارًا أكثر موائمة للتعامل مع العروض التقديميّة فيما يتعلق بالعمل الجماعي. في المقابل يمكنك –مجانًا– تركيب حزمة LibreOffice والحصول على أكثر ممّا تحتاجه من ميزات وخصائص، بالإضافة إلى إمكانية تشغيل ملفات Microsoft Office بأسلوب جيّدٍ في أغلب الأحيان. بهذه المقدمة أتمنى أن أكون قد قدّمت تصورًا متوازنًا عن حزمة LibreOffice ما لها وما عليها، وكليّ أمل أن تقرّروا الانضمام معنا في سلسلة الدروس هذه حول أدوات المكتب الحرّ.1 نقطة
-
في المقال السابق تعرفنا على حزمة أدوات المكتب الحر LibreOffice، والفروقات بينها وبين حزمة مكروسوفت Office. سنتعرف في هذا الدرس على محرر النصوص في LibreOffice وهو Writer. كيف تحصل على طقم LibreOffice يُصدر فريق المكتب الحرّ نُسختين من طقم LibreOffice في كلّ مرة: النُسخة "الطازجة" Fresh والنُسخة "الساكنة" Still، تشمل الأولى أحدث الميزات التي عمل مبرمجو LibreOffice على إضافتها لشيفرة البرنامج المصدريّة، أما الثانية فهي تُقدّم نُسخة Fresh الصادرة منذ 6-9 أشهر بحيث تكون قد أخذت وقتًا كافيًا في مُعالجة جميع العلل والمشاكل وأصبحت أكثر استقرارًا. على سبيل المثال ولحظة إعداد هذا الدرس كان لدينا أرقام الحزم التالية: LibreOffice Fresh 5.0.1 LibreOffice Still 4.4.5 وبينما تُصبح النسخة "الطازجة" ساكنة عند الإصدار القادم، تُطلق نسخة طازجة جديدة. اختر النُسخة المناسبة لعملك؛ غالبًا ما تُعتبر "الطازجة" نسخة قياسية أكثر اعتمادًا من قبل الأفراد وتوزيعات لينكس، بينما تُفضّل الشركات والمؤسسات البقاء مع النُسخة "الساكنة" لتجنّب أيّة أخطاء مُحتملة. للحصول على نسخة من طقم المكتب الحرّ فيما إذا كُنت مُستخدمًا لنظام Windows أو Mac OS X توجّه إلى الرابط المناسب أعلاه، واضغط على الزر الأخضر "DOWNLOAD VERSION". مُستخدمو توزيعات غنو لينكس غالبًا ما يحصلون على نُسخة مُثبّتة بشكلٍ مُسبق من المكتب الحرّ مع توزيعاتهم. مُلاحظة: تذكّر أنّه يُمكنك دومًا تثبيت طقم أدوات المكتب الحرّ إلى جانب حزمة MS Office أو Apple iWork. دعم اللغة العربية سنعتمد في سلسلة دروسنا هذه على الواجهة العربية لتطبيق LibreOffice Writer. فإذا كنتَ تستخدم نظام تشغيل Windows أو Mac OS X فينبغي عليك اختيار مُثبّت طقم المكتب الحرّ من صفحة اللغة العربية على موقع الويب. أما إذا كنتَ مُستخدمًا لإحدى توزيعات غنو لينكس فيمكنك تركيب حزمة اللغة العربية من مدير الحزم لديك. في دبيان و Ubuntu نفّذ الأمر التالي ضمن الطرفية: sudo apt-get install libreoffice-l10n-ar يُدعم التدقيق الإملائي للغة العربيّة في ليبر أوفيس عن طريق تثبيت قاموس "آية سبل". مُستخدمو توزيعات غنو/لينكس يُمكنهم البحث في مستودعات توزيعاتهم عن الحزمة "hunspell-ar” وتثبيتها، ومن ثم إعادة تشغيل البرنامج. إذا لم يعمل التدقيق تأكّد من خيار لغة النصّ من خلال: أدوات > اللغة > لكل النصّ > العربية مُستخدمو Windows و OS X ينبغي عليهم تحميل الإصدارة الأخيرة للقاموس من هنا، ثم من القائمة: أدوات > إدارة الامتداد > إضافة اختر الملف السابق ثم أعد تشغيل ليبر أوفيس. إذا لم تظهر لديك خيارات اتجاه النصّ في شريط الأدوات فتأكّد مما يلي: من القائمة: أدوات > خيارات > إعدادات اللغة > اللغات فعّل الخيار (Complex text layout (CTL. انقر نقرة يمينية على شريط أدوات التنسيق واختر من القائمة المُنبثقة خيار الأزرار المرئية ثم فعّل أزرار اتجاه النصّ. نظرة أولى تُظهر الصورة أعلاه جانبًا من تطبيق LibreOffice Writer الإصدارة رقم 5 كما يبدو عند فتحه للمرّة الأولى. يُدعى الشريط العلوي (ذو الرقم 1 على الصورة) بشريط العنوان والذي يضم إضافةً إلى أزرار التحكّم (إغلاق، تكبير، تصغير) اسم البرنامج متبوعًا باسم الملف والذي يحمل في الحالة الابتدائية القيمة "غير معنون X” حيث X رغم تسلسلي يبدأ من الواحد. الشريط التالي هو شريط القوائم (ذو الرقم 2) ويحتوي على تسعة قوائم تبدأ بالقائمة ملف وتنتهي بالقائمة مساعدة، من هنا يُمكن الوصول إلى كافة خيارات وإمكانيات البرنامج. الشريطان اللذان يحملان الرقمين 3 و 4 يُعرفان بأشرطة الأدوات، أولهما الشريط القياسي ويضم اختصارات لأوامر مثل "جديد"، "فتح"، "حفظ" إلخ. وثانيهما هو شريط التنسيق الذي يحتوى اختصارات نوع وحجم ولون الخطّ، المحاذاة والاتجاه، الترقيم والتنقيط وغيرها. يُمكننا التحكّم بأشرطة الأدوات الظاهرة من خلال قائمة عرض > أشرطة الأدوات. إذ يمكننا إلغاء تفعيل شريط التنسيق مثلًا أو إظهار شريط الرسم. الشريط التالي (ذو الرقم 5) يُدعى بالمسطرة (لإخفاءه: عرض > المسطرة)، ويُظهر أبعاد الصفحة، وموضع المسافات البادئة، العناوين، الحدود، الجداول إلخ. يُمكن التحكّم بالشريط من خلال الفأرة مُباشرةً. أما المساحة البيضاء والتي تحمل الرقم 6 في الصورة فهي الورقة المُخصصة للكتابة. لاحظ تغيُّر رمز مؤشّر الفأرة إلى الحرف I (اختصار Insert) عند انتقالها من منطقة القوائم إلى مساحة الكتابة. الشريط الأخير الذي يلي المساحة البيضاء (غير موجود في الصورة) فهو شريط الحالة، وهو يعرض معلومات عامة عن المُستند، مثل عدد الصفحات، عدد الكلمات والمحارف، النمط الفعّال، اللغة، مُستوى التقريب Zoom إلخ. انتبه: إلى أننا نستخدم في هذه السلسلة من الدروس الخط العريض لتمييز أسماء القوائم والخيارات الرسميّة ضمن برنامج رايتر. شريط الأدوات القياسي ينقسم شريط الأدوات القياسي إلى عشرة مجموعات: تضم الأولى أزرار التحكّم بالمستند ككل وهي على الترتيب: إنشاء مُستند جديد، فتح مستند، حفظ المستند الحالي، حفظ المستند الحالي باسم آخر. الزر الأول في المجموعة الثانية يُصدّر المُستند إلى ملف pdf مباشرة، ويوفّر الزران الثالث والرابع إمكانية الطباعة والمعاينة ما قبل الطباعة. المجموعة الثالثة تضم الأوامر القياسية التالية القصّ، النسخ، اللصق، على الترتيب. أما الزرّ الرابع والذي يأخذ شكل فرشاة مُلطّخة بالأحمر يُسمى "استنساخ التنسيق". فإذا كان لديك فقرتين أو جُملتين أو كلمتين إحداهما مُنسّقة كما تريد والثانية ليست كذلك، فحينها يُمكنك استخدام هذه الأداة لنقل كامل تفاصيل التنسيق من الفقرة الأولى للثانية، وذلك كما يلي: اضغط على أداة استنساخ التنسيق وحدّد النصّ المُنسّق بالأسلوب المرغوب، ثم اضغط على الأداة مرّة ثانية وحدّد النصّ المراد تنسيقه. الأزرار التالية في الشريط القياسي مُخصّصة للتراجع خطوة إلى الوراء، و إعادة الخطوة مُجددًا. انتبه إلى أنه يُمكنك النقر على السهم الصغير بجانب هذين الرمزين للرجوع أو العودة مجموعة من الخطوات دفعةً واحدة، يدعم البرنامج بشكل افتراضي 100 خطوة في ذاكرته. لتعديل الرقم توجّه إلى: أدوات > خيارات > LibreOffice > الذاكرة ثم غيّر الرقم أمام خانة Number of steps إلى ما تريد. المجموعة الخامسة تضمّ الأدوات التالية على الترتيب: البحث والاستبدال، تشغيل مُعالج التدقيق الإملائي والنحوي، وإظهار الأحرف التي لا يُمكن طباعتها؛ كنهايات الفقرات والأسطر، علامات الجدولة والمسافات بين الكلمات. المجموعات المتبقية تعمل على إدراج مختلف العناصر ضمن المستند. الزرّ الأوّل أعلاه يُدرج جدولًا، والثاني صورةً، والثالث رسمًا بيانيًا والرابع حقلًا نصيًا. الزرّ الأوّل في المجوعة السابقة يُدرج فاصلًا للصفحات، هذا ينقلك إلى صفحة جديدة. الخيار الثاني يُدرج حقلًا؛ كرقم الصفحة، الوقت والتاريخ، وغيرها من المعلومات. الخيار الثالث يُظهر صندوق إدراج الرموز الخاصة. تتابع هذه المجموعة عرض خيارات الإدراج التالية بالترتيب: إدراج رابط تشعبي. إدراج ملاحظة سُفليّة ضمن تذييل الصفحة. إدراج إشارة مرجعيّة. هنا لدينا الخياران: إدراج تعليق جانبي خارج متن المُستند. تسجيل التغييرات. تُفيد هذه الميزة عندما يعمل أكثر من مُحرّر على نفس النصّ، حيث تُحفظ جميع التغييرات المُدخلة موسومة باسم صاحبها وتأريخ تعديلها، بما يُمكّن عرض جميع التغييرات المُختلفة ومن ثم تقرير أيها يستحق التثبيت ورفض الباقي. تُستخدم هذه الخيارات لإدراج خط مستقيم، ومختلف الأشكال الرئيسية، ويُمكّن الزر الأخير من إظهار/إخفاء شريط الرسم. شريط التنسيق شريط التنسيق يبدو مألوفًا أكثر للمُستخدم، وباستثناء قائمة الأنماط المُنسدلة –والتي سنتناولها لاحقًا بالتفصيل– فإن خيارات نوع وحجم ونمط الخط تبدو مألوفة تمامًا. الخيارات الأخرى هنا هي لمحاذاة النصّ (إلى اليمين، إلى اليسار، توسيط، وضبط)، تباعد الأسطر، الترقيم والتنقيط للتعدادات، وأخيرًا الانزياح (زيادةً ونقصانًا). حفظ المستند يدعم ليبر أوفيس حفظ المُستندات ضمن طيف واسع من الامتدادات. من القائمة: ملف > حفظ باسم… يُمكنك من القائمة المُنسدلة أسفل مربع الحوار اختيار الصيغة المناسبة للمستند. من أشهر اللواحق الامتدادات المدعومة: odt, doc, docx, rtf, txt.1 نقطة
-
علاوةً على ما تفضلت به المشاركة السابقة، افحص معجونة المعالج، هذه المعجونة تحتاج إلى تجديد كل عامين تقريبًا. أيضًا عليك فحص مروحة الجهاز عند أحد محلات الصيانة، أحد أجهزتي كانت ترتفع درجة حرارته كذلك ويتوقف عن العمل بشكل فجائي، حتى مع استعمال الطاولات التي تضمن تبريد فدرجة حرارة الجهاز تبقى عالية جدًا وغير مقبولة (رغم أنها لا تصل إلى المستويات الحرجة ولا تسبب توقف الجهاز عن العمل). عندما فحصت الجهاز عند محل الصيانة تبيّن وجود خلل في المروحة (أحيانا مجرد تنظيف مروحة الجهاز تُعطي فرقًا واسعًا) وبعد إصلاح الخلل (وكذلك تجديد معجونة المعالج) حصلت على فرق كبير جدًا، ولم أعد مضطرًا إلى استخدام طاولات التبريد السابقة. بكل الأحوال إذا كان لديك عمل يتطلب الكثير من التحميل على موارد الجهاز فالأكثر جدوى هو استخدام أجهزة PC المكتبية1 نقطة
-
مخطط الفئات (classes) هو جزءٌ مهمٌ جدًا من لغة النمذجة الموحدة UML، وهو مخطط هيكلي مهمته عرض الفئات بنظامٍ معيّن مع جميع العلاقات التي تربط بينها، وهو -برأيي- أشهر نوع من المخططات في هندسة البرمجيات. يساعدك رسم مخطط الفئات على رؤية المشكلة بأفقٍ أوسع؛ وعندما تكتبها، فستفرِّغ مساحةً في رأسك للأفكار الجديدة. وتُسهِّل أيضًا فهم هيكلية الفئات من الآخرين عندما تناقش المشكلة معهم. الفكرة هي أنني أنسى عادةً بنية المخططات عندما أحاول قراءة أحد المخططات التي رسمها غيري، فلهذا قررت كتابة هذه المقالة لعلها تذكرني بها في المستقبل. دورة علوم الحاسوب دورة تدريبية متكاملة تضعك على بوابة الاحتراف في تعلم أساسيات البرمجة وعلوم الحاسوب اشترك الآن الفئة – Class المكون الأساسي لهذه المخططات هو مخطط الفئة، التي تَظهَر على شكل عقدة (node) وعادةً كصناديق (boxes)، يمكن أن يُعرَّف لكل صنف دوال (methods) وخاصيات (attributes)، كما هو موضَّح بالشكل أدناه: الوراثة – Inheritance وراثة الفئات -في ما يتعلق بمخططات UML- هي علاقة تعميم (generalization) التي تمثل علاقة "هو" (is a) على مستوى الفئة، المخطط الآتي يُظهِر كيفية رسم التعميم. التطبيق – Realization هنالك علاقة مختلفة في UML للواجهات (interfaces)، فالوراثة من واجهة تسمى "implementation" التي هي علاقة "تطبيق" (realization) في مخططات UML. تمثيلها الشكلي مشابه للوراثة، إلا أنَّ الخط مقطّع (dashed)، ويجب تحديد أنَّ الواجهة هي «مجرَّدة» (abstract) – أي أنَّ اسمها مكتوبٌ بخطٍ مائل؛ كما هو مبيّن في هذا الرسم. الارتباط – Association شكل آخر من أشكال العلاقات في مخططات الفئات هو الارتباط (association)، وهو علاقة على مستوى الكائنات (object-level) أي أنه يحدث بين كائناتٍ لأصنافٍ مرتبطةٍ؛ لذا تُمثَّل كل العلاقة كعائلة من الوصلات (links). هنالك عدة أنواع من الارتباط مُحدَّدة أكثر (التجميع aggregation و التألف composition). التجميع – Aggregation التجميع هو شكل أكثر تحديدًا وتخصيصًا من الارتباط. وهو علاقة "لديه" (has a)؛ التمثيل الرسومي لهذه العلاقة هو الآتي: التألف – Composition شكل أكثر تخصيصًا من التجميع هو التألف (composition) فبدلًا من علاقة "لديه" (has a) تكون العلاقة هي "يملك" (owns a). وهذا ملائمٌ للعلاقات التي لا يمكن أن يتواجد فيها كائن إلا كجزءٍ من كائنٍ آخر. على سبيل المثال، إن كنت هنالك طائرة تملك جناحًا فهذا تألف، فماذا ستفعل بالجناح لوحده؟ لكن إن كانت هنالك بركة فيها بعض البط فهذا تجميع، لأنه يملك للبط أن يعيش دون بركة (وإن لم يكن سعيدًا بذلك)، والبركة ستبقى بركة حتى لو لم يكن فيها بط؛ التمثيل الرسومي لعملية التألف هو مثل التجميع، لكن المُعيَّن مملوء وليس مُفرَّغ. الاعتمادية – Dependency آخر نوع من العلاقات هو "الاعتمادية" (dependency) وهو أضعف من الارتباط (association) ويقول: إن كانت الفئة تستعمل فئةً أخرى، فهي تعمد عليها. يكون من المناسب استعمالها في حالات تكون نسخةٌ من الفئةِ مخزنةً في متغيرٍ محلي في دالة فئة أخرى، أو إذا استعمِلَت دالةٌ ثابتةٌ (static method)؛ لذا لن تكون الفئات مرتبطةً، لكن واحدة تعتمد على الأخرى. خلاصة صممت كل الأمثلة السابقة باستخدام محرر مفتوح المصدر باسم Dia، وأنا أنصح باستخدامه. ولأنه محرر رائع، فهذه صورة شاملة لجميع أنواع العلاقات إن أحببت طباعتها. ترجمة -وبتصرّف- للمقال UML Class Diagram لصاحبه Radek Pazdera.1 نقطة