أهم أقسام المدونة

الصفحات

الجمعة، 4 أبريل 2014

Wpf عالم جديد رائع

Wpf عالم جديد رائع


لمشاهدة جميع كتبي وأماكن بيعها، اضغط هنا
للراغبين في شحن كتبي إليهم، التفاصيل هنا

 
تصف ميكروسوفت تقنية WPF بأنها: "الجيل التالي لتصميم واجهات استخدام بتأثيرات مرئية مذهلة".. وأنا أؤكد لك أن هذا الوصف يخلو تماما من أي نوع من المبالغة، فباستخدام WPF يمكنك أن تفعل كل ما يلي وأكثر:

-   تصميم الواجهة المرئية باستخدام لغة توصيف خاصة اسمها XAML.. ورغم أن هذا يبدو عبئا على مبرمجي فيجوال بيزيك (على الأقل الذين لم يتعاملوا من قبل مع لغة ASP.NET التي تحوي طريقة تصميم مشابهة)، فإنه يوفر عليهم كثيرا من الصداع الذي يسببه تصميم النوافذ يدويا باستخدام السحب والإسقاط من صندوق الأدوات Tool Box، ثم تغيير الخصائص من نافذة الخصائص Properties Window، خاصة عند تصميم وتنسيق نوافذ تحتوي على كثير من الأدوات، واستخدام عدة أدوات حاوية Container Controls على النافذة.
والأهم من هذا، أن وجود لغة توصيف Markup Language لتصميم النموذج، يجعل من السهل إشراك محترفي تصميم الرسوم Graphic Designers في تصميم واجهة البرنامج، حيث تتيح بعض برامج الرسوم حفظ تصميماتها بتنسيق XAML، ومن ثم يمكن استيراده في WPF.. هذا بالطبع يخفف عبء التصميم عن كاهل المبرمج، وفي نفس الوقت يترك له الحرية الكاملة في تعديل كود XAML الخاص بالتصميم الذي حصل عليه، والتفاعل معه برمجيا بالطريقة التي تناسبه.. وهذا لم يكن بالأمر الهين في نماذج الويندوز، حيث كان المبرمج يحصل على التصميم في هيئة صورة أو مجموعة صور، ولا يستطيع تعديلها أو تطويرها، إلا بطلب المزيد من الصور من المصمم!!
-   تصميم واجهات لا تعتمد على دقة الشاشة DPI على جهاز المستخدم مهما كان حجم ودقة شاشته، مما يضمن لك ظهور النوافذ وما عليها من أدوات بنفس الشكل والأبعاد كما صممتها على جهازك.
-   التحكم الكامل في كل جزء من أجزاء الأداة (كالإطار Frame والهامش الداخلي والخارجي والأرضية والخطوط)، وهو ما يتيح لك مرونة كبيرة في تغيير شكل الأدوات بطرق لا يمكنك حتى تصورها في نماذج الويندوز.. يمكنك مثلا عرض أزرار مستطيلة بحواف مستديرة، ومع زيادة استدارة الحواف يمكن الوصول إلى أزرار بيضاوية أو دائرية الشكل!
-   استخدام الأشكال الهندسية الأساسية في الرسوم بطريقة أسهل مع تحكم أكبر، مع إمكانية تدويرها وقصها وتغيير أحجامها وتأثيرات عرضها، وهو ما يمكن فعله أيضا مع أدوات WPF (كالأزرار ومربعات النصوص).. على سبيل المثال: يمكنك عرض مربع نص يميل 45 درجة عن الخط الأفقي بمجرد سطور قليلة من كود XAML، وسيظل يعمل بشكل طبيعي وصحيح بدون أي مجهود إضافي منك!.. مع ملاحظة أن الرسوم في WPF مبنية على تقنية DirectX مباشرة وتستفيد من قدرات كارت الشاشة على جهاز المستخدم، لهذا تعمل بشكل أسرع وبكفاءة أعلى من الرسوم في نماذج الويندوز.
-   إنشاء أنماط تنسيق Styles تضم تنسيقات الخطوط والألوان والهوامش وتأثيرات الرسوم، لتطبيقها دفعة واحدة على بعض الأدوات كالأزرار مثلا، مما يوفر عليك مجهود تطبيق نفس التنسيق على كل زر على حدة.
-   استخدام قوالب تنسيق Templates تتيح لك تغيير شكل الأدوات بشكل جذري وإعادة رسمها بالشكل الذي تريده، مما يتيح لك استخدام هذه القوالب في أكثر من برنامج بعد ذلك.
-   استخدام الإمكانيات الجاهزة للتحريك Animation التي توفرها WPF لمنح النافذة والأدوات تأثيرات بصرية جذابة عند تكبيرها وتصغيرها، أو عند مرور الفأرة فوقها، أو عند ضغطها.. كما يمكنك استخدامها في تحريك شعار البرنامج Logo، وفي عمل بعض العروض الإيضاحية للمسائل العلمية، أو حتى في برمجة بعض الألعاب.
-       تشغيل الصوت والفيديو بسهولة على النافذة.
-       استخدام الرسوم ثلاثة البعد 3D Graphics في تصميم النافذة.
-   تصميم واجهات لعرض البيانات في تطبيقات قواعد البيانات، مع إمكانيات رائعة لربط البيانات Data Binding وعرضها في الأدوات بأي طريقة تناسبك، مع إمكانية إنشاء قوالب بيانات Data Templates تتيح لك تغيير شكل الأدوات (كالقوائم Lists والشجرة TreeView و جدول البيانات DataGrid) لتعرض البيانات بالشكل الذي تريده.
-   إنشاء مشروع يتكون من مجموعة من الصفحات Pages، لعرضها في متصفح الإنترنت Internet Explorer (أو أي متصفح آخر تستخدمه)، بدلا من العمل كبرنامج مستقل على سطح المكتب.
أظن هذه النبذة السريعة قد أقنعتك بأنك أمام تقنية جديدة وثرية وثورية، لا تضع عليك أي قيود عند تصميم واجهة البرنامج، لتستفيد أقصى استفادة من الطفرات السريعة في إمكانيات أجهزة الحاسب ونظم التشغيل.
والصور التالية تريك جزءا من واجهة برنامج الشاعر الذي كتبته أنا والصديق م. محمد جلال أبو الرجال قديما بفيجوال بيزيك 6، وحولت جزءا منه إلى دوت نت لأستفيد من واجهات Wpf.. الصور تريك واجهات معقدة للغاية لم أكتب في تصميمها إلا كودا قليلا للغاية معظمة كود XAML.

 



بعض هذه الواجهات مستحيل تقريبا تصميم مثلها في تطبيقات الويندوز، فالنافذة التي تعرض تقطيع أبيات القصيدة تحتوي على قائمة ListBox كل عنصر من عناصرها يعرض إطارين متجاورين بكل منهما ممتد Expander عند الضغط عليه يسدل التفاصيل العروضية للشطرة.. لا أعرف شيئا في تطبيقات الويندوز يمكن أن يفعل هذا، وإن وجد فسيحتاج لمكتبات طويلة من الكود المبني بـ API!.. والمدهش في الأمر أن كل أداة من الأدوات التي تعرض التفاصيل العروضية لكل شطرة مرتبطة بجزء من البيانات في مصدر البيانات من خلال تقنية Data Binding، لهذا لم أكتب أي كود لعرض البيانات في كل هذه الأدوات غير ربط مربع القائمة ListBox بمصدر البيانات بسطر واحد من الكود!!.. قوة وسهولة واختصار وسرعة لم يسبق لها مثيل!
 

هناك 10 تعليقات:

  1. اريد هذا الكتاب عن طريق الشحن الجوي للليبيا

    ردحذف
  2. أرسل لي رسالة على بريدي msvbnet@hotmail.com بعد يومين لأني أحاول أن أتأكد من البريد المصري من توفر خدمة الطرود إلى ليبيا.
    تحياتي

    ردحذف
  3. السلام عليكم ... كم هو السعر الكلي لهذه الكتب
    1- أساسيات WPF لمبرمجي سي شارب
    2- برمجة نماذج الويندوز في (#C)
    3- برمجة إطار العمل في (#C)
    مع الشحن الى السعوديه

    ردحذف
    الردود
    1. وعليكم السلام:
      ثمن الكتب 160 جنيها
      تكلفة شحنها حوالي 90 جنيها
      التكلفة الإجمالية حوالي 250 جنيها مصريا
      لكن هذه الكتب موجودة بالفعل مع أ. محمد عرفة في جدة، والأسهل أن تأخذها منه.. هاتف: 0541134060
      فإن تعذر عليك ذلك لبعد المسافة مثلا، فراسلني على بريدي:
      msvbnet@hotmail.com
      تحياتي

      حذف
  4. اتمنا ان حضرتك تهتم بasp.net عن قريب

    ردحذف
  5. السلام عليكم , هل يمكن الحصول على نسخة من هذا البرنامج لتقطيع أبيات الشعر, كيف ذلك

    ردحذف
  6. بيانات البرنامج المعجمية , هل هي منقحة من مصدر موثوق أم مأخوذة من المكتبة الشاملة كما هي دون تنقيحها

    ردحذف
  7. تنقيح معجم وتقطيع مواده ووسمها مجهود يحتاج فريقا من اللغويين، لا أستطيع القيام به بمفردي.. هذا عمل تقريبي، قمت فيه بتقطيع المعجم برمجيا بطريقة فيها بعض الحيل، لكن بها نسبة خطأ قليلة، لا تقلل من استفادتي الشخصية به.. ولعل هذا هو السبب في عدم توزيعي لهذا البرنامج حتى الآن، فالمعجم تقريبي كما أوضحت، ووزن الأبيات يحتاج إلى الالتزام ببعض قواعد التشكيل، التي لن تكون سهلة على غير المخضرمين في الشعر واللغة العربية.. لهذا ما زال البرنامج غير عملي ولست متحمسا لتوزيعه.. هو مفيد لي وكفى :)
    تحياتي

    ردحذف
  8. هل الكتاب يتطرق لمفهوم MVVM ؟

    ردحذف
    الردود
    1. هذا كتاب الاساسيات.. ما زال هناك كتاب الوسائط المتعددة وكتاب Entity Framework.. ربما اتطرق الى هذا الموضوع في هذين الكتابين او ربما في كتاب مستقل عن الانماط البرمجية وبرمجة السحابة.. تحياتي

      حذف

ملحوظة: يمكن لأعضاء المدونة فقط إرسال تعليق.