سؤال

يبدو أن Silverlight/WPF هما المستقبل طويل المدى لتطوير واجهة المستخدم باستخدام .NET.يعد هذا أمرًا رائعًا لأنني أستطيع أن أرى ميزة إعادة استخدام مهارات XAML على جانبي تطوير العميل والويب.لكن بالنظر إلى WPF/XAML/Silverlight، تبدو أنها تقنيات كبيرة جدًا، فأين هو أفضل مكان للبدء؟

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

هل كانت مفيدة؟

المحلول

هل يجب أن تتعلم ASP.NET أو Winforms أولاً؟أسب أو MFC؟HTML أو VB؟C# أم VB؟

ضع جانبًا فكرة أن هناك تقدمًا منطقيًا من خلال ما أصبح مجموعة معقدة للغاية من التقنيات المتشابكة، وخذ خطوة إلى الوراء واسأل نفسك سلسلة من الأسئلة:

  • ما هي اهدافك؛كيف تريد تحقيق التوازن بين الربح والمتعة؟
  • هل أنت موجه على المدى القصير أم على المدى الطويل
  • هل أنت من النوع الذي يحب أن يتقن شيئًا ما ويفعله كثيرًا أم أنك تشعر بالملل بمجرد أن تفهمه تمامًا؟

الخطوة التالية والأصعب هي أن تتقبل أن أي نصيحة تُقدم لك لا بد أن تكون خاطئة؛وكلما زاد الأفق الزمني، زاد احتمال أن يكون غير صحيح.إذا كانت النصيحة لأكثر من ستة إلى 12 شهرًا، فإن احتمال أن تكون النصيحة غير صحيحة إلى حد كبير يقترب من 1.

لا أستطيع إلا أن أخبركم قصتي بسرعة.في عام 2000 كنت سعيدًا كمستشار أعمل بشكل مربح في لغة C++ على تطبيقات Windows، وأكتب عن ASP.NET وWinForms.ثم رأيت لغة C# وانقلب العالم رأسًا على عقب.لم أعود أبدا.

قبل عامين، تلقيت نفس النوع من الكشف، ولكن فقط من حيث الحجم أكبر وأقوى وأكثر قناعة بشأن Silverlight.نعم، WPF رائع، وربما أكون مبتلًا بهذا الأمر، لكنني أؤمن في حدسي بأن Silverlight يغير كل شيء.لم يكن هناك شك حينها ولا شك اليوم في أن Silverlight هي أهم منصة تطوير لشركة Microsoft منذ .NET (بالتأكيد) وربما منذ التحول إلى C++.

باختصار، هنا هو السبب.لا أفهم أين تكمن حدوده.مع معظم المنصات أفعل:يمكنك أن تفعل هذا، ولكن لا يمكنك أن تفعل ذلك.يعد WPF مثالًا جيدًا على ذلك، كما كان الحال مع ASP.Net وWinForms، وكل شيء حتى الآن.
مع Silverlight، لا أرى الحدود بعد.لقد انتقل Silverlight بالفعل من سطح المكتب إلى الهواتف، ولا أرى أي سبب لتوقفه عند هذا الحد.نعم، هذا صحيح، فهو مرتبط بالمتصفح، لكنني أرى أنه ليس زنزانة سجن بقدر ما هو دبابة ستركب فيها Silverlight على الكثير من التضاريس (يجب أن يكون الوقت متأخرًا جدًا، ويجب أن أذهب إلى السرير).

على أي حال، في الوقت الحالي، يعد تعلم Silverlight بمثابة غاز، وهناك الكثير من المواد الموجودة عليه موقع Silverlight.net, وأفضل ما في تعلم Silverlight هو أنك إذا لم تتمكن من رؤية ما تحتاجه، فيمكنك الصراخ في وجهي وسأتأكد من حصولك عليه بسرعة كبيرة.

استمتع، حظًا سعيدًا والسر الصغير القذر هو أنك ستكون بخير أيًا كان اختيارك.كل ذلك مجرد برمجيات.

-جيسي


جيسي ليبرتي"سيلفرلايت المهوس"

نصائح أخرى

أود أن أقول استخدم Silverlight أولاً!

لقد قمت بالبرمجة باستخدام WPF وSilverlight من قبل.

ولكن بما أن Silverlight هو مجموعة فرعية من WPF إذا تعمقت كثيرًا وحاولت التبديل إلى كتابة تطبيقات Silverlight، فسوف تخدش رأسك بحثًا عن تلك "العلامة" التي تعلمت أن تحبها في WPF ولكنها غير متوفرة في Silverlight.

عندما تتقن الأشياء الأساسية في Silverlight أولاً، فإن الآلية/المشغل/أي ميزات إضافية في WPF سوف تتقنها بكل بساطة يضيف لمعظم ما كنت تعرفه بالفعل.

يختلف Silverlight في WPF عند سمات المستوى، وليس فقط بعض عناصر التحكم أو الرسوم المتحركة المفقودة.لنأخذ على سبيل المثال آلية تشغيل WPF، وهي غير متوفرة بالكامل في Silverlight.

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

سأخالف التيار وأقول تعلم WPF أولاً.

هذا هو تفكيري:

  • يتوفر لـ WPF موارد أكثر بكثير من Silverlight، مثل الكتب والمدونات ووثائق msdn

  • أنت لا تتعامل مع هدف بيتا المتحرك

  • ليس عليك التعامل مع العمل مع المكالمات غير المتزامنة فقط

  • لا يقتصر على نقص الميزات مثل القواميس المدمجة، والمشغلات، وTileBrushes، وما إلى ذلك.

  • لا داعي للقلق بشأن إعادة تعلم القيام بالأشياء بشكل صحيح بسبب نقص الميزات في SL

إن Silverlight عبارة عن نسخة مجردة من WPF لذا يجب أن تحتوي على أشياء أقل لتعلمها بداخلها.من ناحية أخرى، لدى المنصتين أهداف مختلفة (الويب والعميل الغني) لذا أعتقد أن ذلك يعتمد على التطبيق الذي ستقوم بإنشائه.
إذا كنت تريد التعلم بنفسك فقط (لا يوجد تطبيق في المستقبل القريب)، فسأختار Silverlight لأنه سيكون من الصعب استيعابه.ومع ذلك، يعد Silverlight هدفًا متحركًا إلى حد كبير، أكثر بكثير من WPF، لذا سيتعين عليك مواكبة بعض التغييرات من وقت لآخر (متعة كونك من أوائل المتبنين :)).
يحتوي WPF على الكثير من الأشياء التي قد ترغب في استخدامها في مرحلة ما ولكنني سأنتظر ظهور الاحتياجات أولاً.

يوصي كل خبير في الصناعة سمعته في المدونات الصوتية والمدونات والمقابلات بالتعلم سيلفرلايت أولا ثم الانتقال تدريجيًا إلى WPF وهو إطار عمل ضخم لواجهة المستخدم.

يعد Silverlight خفيفًا ويسمح لك بالعمل على مجموعة فرعية أصغر من عناصر التحكم والميزات بحيث تتعرف على نموذج بناء واجهة المستخدم الجديد هذا استنادًا إلى،

  1. القوالب
  2. ربط البيانات
  3. الأنماط

تحديث:07/2011

أكره أن أذكر هذا، ولكن في الآونة الأخيرة ركزت Microsoft بشكل أكبر على HTML5 وJavascript وCSS من خلال تقديم إمكانات IE 9 وIE 10، بالإضافة إلى Windows 8 القادم.

يشكك المزيد والمزيد من المطورين ومديري التكنولوجيا في Silverlight كمنصة لتطبيق LOB مع مرور الوقت، ونعتقد أن Silverlight سيقتصر على Windows Phone والمجالات المتخصصة مثل الرعاية الصحية للتطبيقات المتعلقة بالرسومات بدلاً من تطبيق LOB العادي.

كما يبدو الآن، اعتبارًا من صيف 2011، قد يبدو المستقبل مجزأً مع المزيد من الفرص لتقنيات الويب الخالصة (HTML5 وJS وCSS) بدلاً من المكونات الإضافية وتقنية واجهة المستخدم الخاصة بنظام التشغيل.

سأبدأ بتعلم XAML، من خلال قراءة بعض البرامج التعليمية واللعب باستخدام XAMLPad.سيعطيك هذا فكرة عن الأساسيات قبل إنشاء التطبيق فعليًا.

سأبدأ بـ WPF وأجري عينات تعريفية بسيطة جدًا للتحكم.يجب أن يكون هدفك هو تعلم XAML والربط.لذلك، إذا قمت فقط بإنشاء بعض تطبيقات نافذة WPF الأساسية، فسوف تعمل على تعزيز سرعة التعلم لديك.ثم في النهاية يمكنك الانتقال إلى الضوء الفضي.نعم كما ذكرنا هنا Silverlight هي مجموعة فرعية من WPF.

حسنًا، يعتمد الأمر على ما ستعمل عليه.إذا كنت تعمل على العميل/الخادم، فسأختار WPF.إذا كنت تعمل في بيئة حيث يمكنك ضمان تثبيت .Net على كافة الأجهزة، فإنني سأختار WPF أيضًا، لأنه يمكنك استخدام ما يسمى XBAP، وهو تطبيق WPF يتم تشغيله من خلاله. المتصفح.

هذا الشيء يرجع لك.ومع ذلك، أود أن أذكر أن Silverlight ليس RTM بعد، وأن WPF كذلك.لدى WPF الكثير من الكتب حول هذا الموضوع، بينما لا يوجد Silverlight.قد يكون من الأسهل الحصول على Zen of WPF بالكامل من خلال قراءة عدد قليل من هذه الكتب، ثم الغوص في الكتاب الذي ترغب في اللعب به.

فقط ضع في اعتبارك أن Silverlight يحتوي على مجموعة فرعية من عناصر التحكم في WPF، وإطار عمل مقترن بـ .Net، ولا يقوم بإجراء مكالمات متزامنة.وطالما أنك تعرف ذلك مقدمًا، يمكنك البدء في تعلم جوهر الأساس بأكمله وتصميم تجربتك العملية لاحقًا وفقًا لأي تقنية تناسبك.

بعض النصائح في البدء في تطوير Silverlight

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top