الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

دوره في السلفرلايت - الدرس الثاني

مثبّت
بدأه VB Helper في 11 أبريل 2011 · 11 رد · 4,870 مشاهدة · في SilverLight
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ورحمه الله وبركاته

سنبدأ اليوم في إكمال رحلتنا لتعلم السلفرلايت, وسنستعرض اليوم كيفية بناء تطبيقات السلفرلايت وماهي البرامج اللازمه لعملها.

بعد أن عرفنا ماهي السلفرلايت وماذا توفر لك كمطور تطبيقات إنترنت غنيه, فحان وقت التعرف على كيفية بناء تطبيقات سلفرلايت. يمكننا من تطوير برامج سلفرلايت باستخدام الفيجوال ستوديو - وهو مجال موضوعنا اليوم – او ال Expression Blend وكذلك ال Eclipse. ولكن البرنامجين الأولين هما البيئتين الأساسيتين لتطوير برامج سلفرلايت وقبل ان نبدأ بإنشاء وتطوير تطبيقات سلفرلايت بإستخدام الفيجوال ستوديو .. أريد التنويه أن ال Expression Blend واحد من أعظم البرامج التي قدمتها مايكروسوفت والتي تسهل إنشاء وتطوير تطبيقات السلفرلايت كما توفر الكثير من الإمكانيات و التأثيرات بدون سطر كود, ولا نطيل الحديث عنه لأنه خارج نطاق دورتنا.

أفضل طريقه لفهم كيفية عمل السلفرلايت في الفيجوال ستوديو بواسطة بناء تطبيق, لذا نبدأ وقم بفتح الفيجوال ستوديو 2010 من ثم لنشىء مشروع جديد اختر لغتك المفضله من ثم قم بإختيار مشروع سلفرلايت كما هو موضح في الشكل التالي

post-240106-060051300 1302535956_thumb.p

والذي يحتوي مجموعه مختلف من المشاريع:

Silverlight Application

تطبيق سلفرلايت أساسي يحتوي على أداه إفتراضيه بدون محتوى أو مخطط تنقل بين الصفحات

Silverlight Class Library

مشروع مكتبة فئات

Silverlight Business Application

تطبيق سلفرلايت يتضمن خدمات WCF RIA بالإضافه إلى أداه إفتراضيه و مخطط تنقل بين الصفحات

Silverlight Navigation Application

مشروع سلفرلايت أساسي يحتوي على أداه إفتراضيه مع مخطط للتنقل بين الصفحات بالإضاف إلى مجموعه من الصفحات

WCF RIA Services Class Library

مكتبة فئات تحتوي على إضافات لخدمات WCF RIA

Silverlight Unit Test Application

مشروع إختبار أساسي

لأول تطبيق لنا نختار الخيار الأول وغير إسم المشروع إلى HelloSilverlight من ثم انقر زر موافق, بعد ذلك يظهر مربع الحوار التالي

post-240106-009352400 1302536092_thumb.p

الذي يسألنا إذا كنا نريد إستضافة هذا التطبيق في مشروع ASP.NET أو لا, لأنه من المعروف أن السلفرلايت تقنيه تشتغل ضمن المتصفح عند الزبون. ننقر زر موافق في نفس مربع الحوار مع التحقق أن الإصدار المختار هو الرابع. بعد ذلك سيقوم الفيجوال ستوديو بإنشاء مشروعين HelloSilverlight والذي يمثل تطبيق السلفرلايت و HelloSilverlight.Web الذي يمثل المستضيف الذي يمكن من خلاله إستعراض محتوى تطبيقنا كما هو موضح في الشكل التالي

post-240106-055721400 1302536198_thumb.p

اذا كنت مطور تطبيقات ويندوز أو ويب بإستخدام تقنية الدوت نت فإن عناصر الواجهه السابقه ليست بغريبه عليك, فنرى مستكشف الحلول الذي يحتوي على مشروع أو أكثر مستعرضاً جميع الملفات التي تتضمنها تلك المشاريع, مربع الأدوات الذي يحتوى على جميع أدوات السلفرلايت والتي سوف يتم الحديث عنها في الدرس التالي, وآخيراً وليس آخراً نلاحظ السطح المرئي لتطبيق السلفرلايت كما هو الحال في ال Windows Form أو ال Web Form أو ال Mobile Form , وفي الأخير محرر ال XAML.

نتوقف برهة بسيطه هنا ونتعرف على ال XAML, طبعاً كما ذكرنا سابقاً أن تقنية السلفرلايت هي WPF/e يعني عبارة عن التقنية الجيل الأخير لمايكروسوفت لبناء واجهات الويندوز والتي تضم جميع تقنيات العرض السابقه تحت منصه واحده: DirectX, Media Player, GDI+ والكثير الكثير, وهنا فكرت مايكروسوفت في إنشاء لغة جديده سميت XAML وهي عبارة عن تقنية تعزل الكود عن التصميم والذي أثارت ضجة كبيره وإنجاز عظيم في برمجة تطبيقات الويندوز كما هو الحال في ال ASP.NET , فيمكن للمصمم والمبرمج الآن أن يشتغلا معاً في نفس الوقت.

يكفينا نبذه بسطيه عن ال WPF و ال XAML لأنهما ذا علاقة وطيده جداً بالسلفرلايت .. وللمزيد يمكنك الرجوع لأي كتاب WPF للتعرف على أسرار هذه التقنية.

نعود مجدداً فمحرر ال XAML يمكنك من عمل نفس الشيء في التصميم ولكن بلغة ال XAML مثل تقنية ال ASP.NET فعند سحب أي أداه في التصميم يولد لها سطر بلغة ال XAML للتعبير عنها بالإضافة أن هذا المحرر غني بالمميزات مثل التلوين والتنسيق والتكميل التلقائي. لكن سيسأل البعض سأشتغل فقط بالتصميم ولاداعي أن أتعرف على ال XAML وما أدراك ما ال XAML؟!! كلا .. صدوقني ال XAML وحسب معرفتي الضيئله بها تقنية قويه جداً فتخيلوا يمكن كتابة برامج كاملة بدون سطر كود برمجي وهذه هي واحد من أهم ميزات هذه اللغه أنها لغه تصريحيه.

كما يمكننا التبديل بين العرض وال XAML وتكبير واجهة العرض بإستخدام شريط التكبير لرؤيه جيده لعناصر التطبيق.

وحان الآن الوقت للبدء بتكملة تطبيقنا الأول, من شريط الأدوات نقوم بسحب أداة الزر Button وسنلاحظ إضافة سطر جديد لمحرر ال XAML


xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d"
d:DesignHeight="300" d:DesignWidth="400">

<Grid x:Name="LayoutRoot" Background="White">
<Button Content="Button" Height="23" HorizontalAlignment="Left" Margin="158,124,0,0" Name="Button1" VerticalAlignment="Top" Width="75" />
</Grid>
</UserControl>
<UserControl x:Class="HelloSilverlight.MainPage"

كل الكود السابق موجود مسبقاً عندما أنشئنا المشروع عدا السطر التالي


<Button Content="Button" Height="23" HorizontalAlignment="Left" Margin="158,124,0,0" Name="Button1" VerticalAlignment="Top" Width="75" />

فمن الوهله الأولى نلاحظ أن الأداه المضافه هي زر ولها مجموعه من الخواص فمثلاً محتواه هو Button وإرتفاعها 23 ... إلخ. أما إذا نظرنا لبقيه الكود فماهي إلا تصريحات للأداة الأساسيه المسماه إفتراضياً MainPage وركزوا معي أداه وليست صفحه, بالإضافه إل عنصر Grid طبعاً كل صفحه أو أداه منشئه من قبل المستخدم لابد أن تحتوى على أداه إحتواء مثل ال Grid لتنظيم العناصر المضافه .. وسنتعرف على الحاويات في الدرس المقبل.

نقوم الآن بتغيير محتوى الزر إلى Click Me! سنرى تغييراً متزامناً في محرر ال XAML, من ثم ننقر على الزر نقرتين ونضيف الكود التالي MessageBox.Show("Hello Silverlight!!")

ولرؤية التطبيق نقوم أولاً بالنقر باليمين على مشروع السلفرلايت وإختيار Build ليتم بناء المشروع والتأكد من صحة الأخطاء وسيتم بعد ذلك تكوين ملف HelloSilverlight.xap في مجلد Client Bin الموجود داخل المشروع المستضيف و الذي يمثل الملف النهائي للمشروع. ولرؤية التطبيق ننقر على HelloSilverlightTestPage.html أو HelloSilverlightTestPage.aspx باليمين ونختار View in Browser, سيظهر تطبيقنا بعد تحميله على المتصفح من ثم ننقر على الزر ليتم تنفيذ الكود المراد والذي هو عباره عن رساله في مثالنا الأول.

post-240106-056113800 1302536499_thumb.p

post-240106-005603200 1302536518_thumb.p

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

سنلاحظ في برنامجنا وجود ملف App.xaml ولو فتحنا الملف App.xaml.vb سنلاحظ الكود التالي


Me.RootVisual = New MainPage()
End Sub
Private Sub Application_Startup(ByVal o As Object, ByVal e As StartupEventArgs) Handles Me.Startup

والذي يبين أن عند تشغيل التطبيق ستكون الواجه الأساسية للتطبيق هي الأداه المسماه MainPage.

والآن لنلقي نظره عالشكل التالي الذي يبين دورة حياة تطبيق السلفرلايت

post-240106-040140000 1302537425_thumb.p

وبهذا نصل إلى ختام درسنا هذا والله ولي التوفيق

المرفقات
Silverlight Project.pngSilverlight Project Options.pngHelloSilverlight.pngHelloSilverlight.Web.pngHelloSilverlight Test Page.pngSilverlight Application Life Cycle.png

تم تعديل هذه المشاركة بواسطة VB Helper في 11 أبريل 2011 في 18:59

7

.:: Wish to become better and better ::.

#2

ماشاء الله اخي ........جزاك الله الف خير على الشرح وننتظر منك المزيد...

وقال تعالى(( وَلَن تَرْضَى عَنكَ الْيَهُودُ وَلاَ النَّصَارَى حَتَّى تَتَّبِعَ مِلَّتَهُمْ قُلْ إِنَّ هُدَى اللّهِ هُوَ الْهُدَى وَلَئِنِ اتَّبَعْتَ أَهْوَاءهُم بَعْدَ الَّذِي جَاءكَ مِنَ الْعِلْمِ مَا لَكَ مِنَ اللّهِ مِن وَلِيٍّ وَلاَ نَصِيرٍ ))......

للمزيد من المشاريع الجاهزة ودورات برمجة المواقع اضغط هنا

#3

السلام عليكم ورحمه الله وبركاته

تسلم اخي محمد ... وبالتوفيق للجميع

واذا في اي استفسار تفضل ..

.:: Wish to become better and better ::.

#4

اشكرك على الشرح.. والتوضيح

بس مو عارفه حاسه حالي تايهه ..حاسه مية سؤال ومية شغله بتدور براسي :huh:

تم تعديل هذه المشاركة بواسطة ضحى حسان في 14 أبريل 2011 في 22:32

سيصبح كل شئ على ما يرام ذات يوم ....هذا هو املنا

اما ان نقول كل شئ على ما يرام اليوم....فهذا هو الوهم

#5

السلام عليكم ورحمه الله وبركاته

اخت ضحى رتبي افكارك .. وتفضلي حتى لو معك الف سؤال .. بس عجلي قبل الدرس الثالث علشان يسهل الاستيعاب

.:: Wish to become better and better ::.

#6

إلى صاحب الموضوع: ضع روابط الدروس السابقة.

#7

السلام عليكم ورحمه الله وبركاته

اخ بهاء جميع الدروس موجوده على قسم السلفرلايت ومرقمه لانه صعب في كل درس احط روابط الدروس السابقه .. تقبل تحياتي واخر الدوره ان شاء الله سوف اصدرها ملف PDF

.:: Wish to become better and better ::.

#8

السلام عليكم.

شكرا علي الدروس, و لكن لو كنت ستتأخر في وضع الدروس ضع درسين أو ثلاثة دروس مرة واحدة.

عندي بعض الأسئلة.

هل كتابة كود (C# أو VB.Net) تعطي كود XAML مقابل أم أنها بديل عن الXAML؟ لو كانت تعطي كود في محرر الXAML فما فائدة كتابة كود طالما الأساس ال XAML السينفذ؟

لو أضفنا كود (أعني C# أو VB.Net) لإظهار الbutton بدل السحب فهل يكون له كود في محرر XAML؟

هل يمكنك كتابة كود C# المؤدي لنفس غرض كود VB.Net في الدروس المقبلة؟

تم تعديل هذه المشاركة بواسطة Sherif56 في 19 أبريل 2011 في 23:26

#9

السلام عليكم ورحمه الله وبركاته

عفوا للتأخر في وضع الدرس الثالث لأسباب شخصيه والآخر لعدم التفاعل مع الدوره ولكن عنما قريب سأضعه ..

أما بالنسبه للسؤالك ال XAML هي اللغه التى تعبر عن التصميم لأنه كان في السابق ملف الكود وملف العرض غير مفصولين مما يؤدي إلى تأخير المبرمج لين ما يخلص المبرمج .. أما بهذه التقنيه يمكن لشخص تصميم الشكل العام للواجهه وفي تفس الوقت المبرمج يضع كوده .. أما لغتي السي شارب والفيجوال بيسك هما لغات يكتب بهما شفره البرنامج وما المطلوب منه ويمكن من إضافه زر مثلا بإحدى اللغتين ولكن ما تقوم به الا إضافه الزر لحاويه موجوده مسبقا بال XAML .. لأنه مافي داعي لبناء الأدوات بلغات البرمجه إلا إذا كنت تريدها وقت التنفيذ للبرنامج.

أما بالنسبه للكود مافي أي مشكله أنا أفضل الفيجوال بيسك - رأي شخصي - ولكن مافي مشكله لو في غموض سوف اقوم بكتابته بالسي شارب

.:: Wish to become better and better ::.

#10

السلام عليكم.

اقتباس
عفوا للتأخر في وضع الدرس الثالث لأسباب شخصيه والآخر لعدم التفاعل مع الدوره ولكن عنما قريب سأضعه ..

لا تهتم بالتفاعل مع الدورة, أعني أنه يمكن أن يري شخص الدروس و لا يرد إلا لوضع سؤال.

اقتباس
ويمكن من إضافه زر مثلا بإحدى اللغتين ولكن ما تقوم به الا إضافه الزر لحاويه موجوده مسبقا بالXAML

لم أفهم الجملة جيدا, هل يعني "إضافه الزر لحاويه موجوده مسبقا بالXAML" أن الكود (C# أو VB.Net) الذي يضيف الذر يكون كود XAML؟ و هل أراه؟

مثال: في بعض المواقع لتعليم الSilverlight شخص يكتب كود XAML ثم يكتب كود C# يؤدي نفس الغرض, فهل يكون هذا كود XAML؟ و هل يظهر هذا الكود في المحرر أم يبقي في مكان كود الC# (في ملف XAML) و ينفذ الكود علي أنه XAML وقت التنفيذ؟

تم تعديل هذه المشاركة بواسطة Sherif56 في 20 أبريل 2011 في 15:54

#11

السلام عليكم ورحمه الله وبركاته

قصدي انه اي نافذه بالسلفرلايت لابد ان تحتوي على اداه احتواء وسيتم الحديث عنها في الدرس التالي وعند اضافتك للزر برمجيا لابد ان يكون موجود داخل الحاويه يعني سواء سويتها برمجيا او بال XAML بيؤدي إلى نفس الغرض. ولكن مافي داعي لإضافه الأدوات برمجياً إلا إذا كنت تريد إنشاءها وقت التنفيذ .. ولكن أتت لغة ال XAML لعمل ال Presentation Layer طبقه العرض وفصلها عن الكود وإن شاء الله سيتم التفصيل في الدرس التالي

1

.:: Wish to become better and better ::.

#12
VB Helper كتب:

السلام عليكم ورحمه الله وبركاته

قصدي انه اي نافذه بالسلفرلايت لابد ان تحتوي على اداه احتواء وسيتم الحديث عنها في الدرس التالي وعند اضافتك للزر برمجيا لابد ان يكون موجود داخل الحاويه يعني سواء سويتها برمجيا او بال XAML بيؤدي إلى نفس الغرض. ولكن مافي داعي لإضافه الأدوات برمجياً إلا إذا كنت تريد إنشاءها وقت التنفيذ .. ولكن أتت لغة ال XAML لعمل ال Presentation Layer طبقه العرض وفصلها عن الكود وإن شاء الله سيتم التفصيل في الدرس التالي

السلام عليكم.

شكرا, بانتظار الدرس التالي.

تم تعديل هذه المشاركة بواسطة Sherif56 في 21 أبريل 2011 في 23:56

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…