هذا الموقع شخصي له صبغة مهنية، أو هو موقع مهني تسري في أوصاله اللمسات الشخصية.
في الحقيقة، عندما فكرت في إنشاء هذا الموقع لأول مرة، كانت لي عدة أهداف أسعى إلى تحقيقها،
ولكن كان أهم هدف لدي هو ألا أجعل هذا الموقع "بارداً" أو "صارماً" أقدم فيه المعلومات
بطريقة جافة، كما هي الحال للأسف مع الكثير من المواقع التقنية. لذلك، ستجد أنني
في الوقت الذي أشرح فيه بعض الجوانب المعقدة من لغة فيجوال بيسيك أو أقدم فيلم فيديو
عن كيفية الاستفادة من الخصائص الجديدة في برنامج إن ديزان في المنتديات، ستجدني أيضاً
أتحدث عن خبراتي الشخصية وآرائي المتواضعة في الحياة في مدونتي، وستجد روح الفكاهة تسيطر على أماكن كثيرة منها.
إن الهدف من أي موقع ويب هو "التواصل" بين صاحب الموقع وبين زائريه، وهذا هو بالضبط ما أطمح إليه في موقعي. وأنا أطمح للتواصل مع نطاق واسع من الزوار، مثل (بدون ترتيب معين):
- المترجمون: فبحكم عملي، أسعى دوماً للتواصل مع المترجمين من مختلف الخبرات والأعمار. قد يكون هذا التواصل بهدف تبادل المعلومات وتحسين المهارات، ولكنه قد يأخذ أيضاً شكلاً عملياً بتوفير أعمال للترجمة أو باجتذاب أعمال لترجمتها. إن المترجم الذي ينغلق على نفسه، والذي لا يقرأ ترجمات الآخرين، يُشبه من يدخل نفقاً مسدوداً.. فلا يمكن أن يصل منه إلى أي جهة مفيدة.
- المبرمجون: وبخاصةً مبرمجي فيجوال بيسيك. لقد كان فيجوال بيسيك ولا يزال عشقي الأول، منذ أن وقع عليه ناظري في أوائل التسعينيات من القرن السابق. وعلى مدار هذه السنوات، تحسن فيجوال بيسيك لدرجة تجعله مثار فخر لمن يتقنه، وتنزع عنه الإحساس بالاختلاف (ولا أقول الدونية) الذي كان يشعر به مبرمجو فيجوال بيسيك عندما يحتكون بالآخرين. ولا تقتصر منتديات البرمجة على فيجوال بيسيك فقط، وإنما تشمل أيضاً لغات أخرى مثل سي شارب وتشمل أيضاً تقنيات الويب المختلفة.
- مستخدمي برنامج "إن ديزاين": لا بد أن أعترف، لقد احتل هذا البرنامج مكانة كبيرة في قلبي، وقد صرت أستخدمه منذ عدة سنوات لإخراج مئات الكتب، وصرت أهوى أن أتعرف على كل ميزة فيه -وقبل ذلك- صرت أحب أن يقع الآخرون في غرامه مثلي.
- مستخدمو الكمبيوتر العاديون، مثل مستخدمي وورد، وفوتوشوب، وغيرها من البرامج الشهيرة.
وإضافة إلى هذا، فإنني أطمح أيضاً أن يكون هذا الموقع -من خلال مدونتي - نقطة تواصل مع أشخاص لهم نفس اهتماماتي وخبراتي.
لقد تم تصميم هذا الموقع بلغة ASP.NET في برنامج Microsoft Visual Developer Express Edition (
لازلت أتعجب كيف تقوم مايكروسوفت بتوزيع هذه النسخة من البرنامج مجاناً في موقعها
على الويب!).
ولا أخفيك سراً أنني قد سعيت إلى تصميم هذا الموقع باستخدام لغة فيجوال بيسيك دوت نت تمهيداً لشرح هذه
اللغة في كتاب أؤلفه، وسيحتل تصميم هذا الموقع جزءاً لا بأس به من الكتاب أتناول فيه بالتفصيل كل جانب
من جوانب الموقع المختلفة. وإذا كانت لديك الخلفية البرمجية المناسبة، فاسمح لي أن أعطيك بعض التلميحات
حول الملامح الأساسية في الموقع:
- الموقع يعتمد بشكل أساسي على أنماط CSS. ورغم أن إنشاء عدد كبير من الأنماط هو بالفعل مهمة مملة تبعث على النعاس، فإنه في نفس الوقت وسيلة أكيدة لتوفير الوقت على المدى البعيد، كما أنه يتيح لموقعك مظهراً موحداً ويسهّل عليك تغييره بأقل مجهود.
- رغم أن الأزرار المصورة الموجودة في أعلى الصفحة تبدو وكأنها "علامات تبويب" فإنها في الواقع ارتباطات عادية، وقد قمت بتغيير مظهرها بهذا الشكل باستخدام أنماط CSS.
- الارتباطات الموجودة في أعلى يمين الصفحة هي أزرار ارتباط LinkButton، وقد استخدمت الأنماط المختلفة لتغيير شكلها وتغميقها عند مرور الفأرة عليها.
- طبعاً الفيلم المتحرك الذي يعرض أسماء الكتب هو فيلم فلاش! هنا يجب على مبرمجي فيجوال بيسيك -وغيره من لغات البرمجة الأخرى- أن يستسلموا ويكفوا عن المحاولة. فلا توجد وسيلة لإنشاء مثل هذه الأفلام بمثل هذه السهولة والحجم الضئيل في فيجوال بيسيك. ورغم أنك تستطيع وضع الصور في مربعات صورة ووضع النص في أداة عنوان Label وتحريكها على النموذج، فإن النتيجة لا يمكن مقارنتها بما تحصل عليه من فلاش.
- العمودان الأيمن الواسع (الذي تقرأ فيه هذا الكلام) والأيسر الضيق (الذي به صورة شخصي المتواضع) هما في الحقيقة لوحتان panel، وقد تم التحكم في حجمهما ووضعهما بجوار بعضهما باستخدام أنماط CSS.
- الآن إلى الجزء المثير.. هل لاحظت أنك عندما تنقر على الارتباطات الموجودة بجوار الفيلم فإن محتويات العمود العريض تتغير بدون إعادة تحميل الصفحة؟ جرب هذا، انقر عدة مرات فوق الارتباطات المختلفة ولاحظ أمرين: الأول أن المحتوى الجديد يظهر مكان القديم، والثاني أن المستعرض لا يعيد تحميل صفحة الويب من الخادم. السبب في هذا أنني استخدمت لوحة تحديث UpdatePanel من طاقم AJAX لمنع تحديث الأجزاء الأخرى من الصفحة عند النقر فوق الارتباطات، ثم وضعت أداة MultiView لعرض جزء مختلف من المحتوى عند النقر على كل زر، ثم داخل كل "عرض" View وضعت أداة TabContainer ووضعت داخل كل منها عدة علامات تبويب.