سؤال

تقوم شركتي بتطوير عدة أنواع من التطبيقات.يأتي جزء كبير من أعمالنا من تنفيذ تطبيقات الوسائط المتعددة، والتي يتم إجراؤها عادةً باستخدام برنامج Flash.ومع ذلك، الآن بدأ هذا الجانب من المنزل في الانتقال نحو القيام بتطوير Flex.

تتم معظم عمليات التطوير الأخرى لدينا باستخدام .NET.أحاول الدفع نحو القيام بتطوير Silverlight بدلاً من ذلك، نظرًا لأنه سيستفيد بشكل أفضل من مطوري .NET ضمن طاقم العمل.أفضّل منصة Silverlight على منصة Flex نظرًا لحقيقة بسيطة وهي أن Silverlight عبارة عن كود .NET بالكامل.لدينا عدد أكبر من مطوري .NET من مطوري Flash/Flex، ومعظم مطوري Flash/Flex لدينا هم فنانون رسوميون (وليسوا مبرمجين حقيقيين).السبب الوحيد الذي يدفعهم نحو Flex الآن هو أنه يبدو وكأنه خطوة منطقية من Flash.

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

إذن هذا هو سؤالي:إذا كنت سأذهب إلى اجتماع للإشادة بـ Silverlight، فلماذا ترغب الشركة في استخدام Silverlight بدلاً من Flex؟بخلاف العبارة الواضحة "ليس كل شخص لديه Silverlight"، ما هي إيجابيات وسلبيات كل منها؟

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

المحلول

أعتقد أنه يجب عليك النظر إلى Silverlight على أنه لعبة طويلة المدى، تمامًا كما تفعل Microsoft على ما يبدو.هناك توازن واضح حول وقت استخدام Silverlight مقابل Silverlight.فلاش عندما تكون قلقًا بشأن الوصول إلى القاعدة وتثبيتها، ولكن فيما يلي بعض الأسباب التي تجعل Silverlight اتجاهًا جيدًا للتحرك فيه:

  1. ميزة المحرك الثاني - تمامًا كما قامت Microsoft ببناء "Java أفضل" باستخدام .NET، فإنها قادرة على النظر في كيفية تصميم مكون RIA الإضافي من الصفر اليوم.لديهم ميزة معرفة كيفية استخدام الأشخاص للويب اليوم، وهو أمر لم يكن بمقدور مخترعي Flash تخمينه بدقة.يستطيع Flash إضافة ميزات، لكنه لا يستطيع بشكل واقعي التخلص من النظام الأساسي والبدء من جديد.

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

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

  4. ScottGu - ScottGu متحمس بشأن Silverlight.قال ناف.

  5. ميزات جديدة رائعة - على الرغم من أن Silverlight لا يزال لديه بعض اللحاق ببرنامج Flash في بعض الميزات الواضحة (مثل تكامل كاميرا الويب/الميكروفون، أو تسريع الرسومات ثلاثية الأبعاد)، إلا أن هناك بعض التقنيات الجديدة الرائعة المضمنة في Silverlight - Zoom العميق هو أحد الأمثلة.أرى المزيد من التقنيات "الثورية" في جانب Silverlight، بينما يبدو أن Flash في وضع الصيانة في هذه المرحلة.

نصائح أخرى

هناك سؤالان هنا:سيلفرلايت مقابل.فلاش كمنصة وSilverlight مقابل.فليكس كإطار عمل RIA.

السؤال الأول يعتمد على الإطار الزمني الخاص بك.يتمتع Flash Player بإمكانية الوصول إلى ما يزيد عن 95%، بينما ليس لدى Silverlight أي طريقة للوصول إلى ذلك.ومع ذلك، قد يصل Silverlight إلى هذا الهدف، فهو في النهاية مدعوم من Microsoft.إذا كنت تهدف إلى إطلاق موقع الأسبوع المقبل وتريد جمهورًا كبيرًا، فإن Silverlight ليس خيارًا.إذا كنت تهدف إلى إطلاق تطبيق رائع حقًا يرغب الجميع في استخدامه، فالأمر مختلف بعض الشيء، إذا كان تطبيقك جيدًا بما يكفي، فقد يقوم جمهورك المستهدف بتثبيت Silverlight فقط حتى يتمكن من تشغيله.

أما السؤال الثاني فهو مدى سهولة تطويره التطبيقات في سيلفرلايت.Flex ليس مجرد مجموعة من الأدوات، إنه إطار عمل كبير جدًا يقوم بالكثير من الأشياء التي تسهل عمل المطور.يمكنك كتابة نفس التطبيقات باستخدام واجهة برمجة تطبيقات Flash الأساسية فقط، ولكن الأمر سيتطلب المزيد من العمل.اعتمادًا على ما هو متاح في Silverlight، يجب أن يكون هذا عاملاً مهمًا عند اتخاذ القرار.إذا كان بإمكانك تقليل وقت التطوير، فهل يستحق وجود منصتين ذلك؟

أعتقد أن Silverlight هو الأكثر فائدة للشركات التي لديها مطوري .NET ولكن ليس لديهم خبرة في التصميم.

سيكون من الأسهل العثور على مجموعات المهارات فيما يتعلق بالعثور على مطوري C# أو VB مقابل العثور على خبراء ActionScript.ومع ذلك، هناك مقايضة:

تعتبر تجربة التصميم استثمارًا ليس فقط في المصممين ذوي المهارات الفنية، ولكن أيضًا في المعرفة والأدوات التي توفرها Adobe.يمكنك أن تضمن تقريبًا أن المصمم المحترف يستخدم جهاز Mac ولديه خبرة في أدوات Adobe.

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

لذا، في هذه المرحلة من اللعبة، يتعلق الأمر بالموارد البشرية:

إذا كانت لديك خبرة في .NET واستثمرت القليل في مهارات التصميم، فانتقل إلى Silverlight.ستكون مهارات/أدوات البرمجة قابلة للتحويل.إذا كانت لديك خبرة في التصميم ومجموعة مهارات، فاستخدم Flex.ستكون مهارات/أدوات المصمم قابلة للتحويل.

وفي كلتا الحالتين، تتطلب كلا منصات العميل التواصل مع الخدمات للحصول على البيانات، لذلك ستستفيد دائمًا من خبرتك البرمجية الحالية في النهاية الخلفية.

معاد صياغتها جون الرأي من وجهة نظر مختلفة:

أعتقد أنك يجب أن تنظر إلى Flex على أنه لعبة طويلة المدى، تمامًا كما تفعل Adobe.هناك توازن واضح حول وقت استخدام Silverlight مقابل Silverlight.مرن عندما تكون قلقًا بشأن الوصول إلى القاعدة وتثبيتها، ولكن إليك المزيد من الأسباب التي تجعل Flex اتجاهًا جيدًا للتحرك فيه:

  1. ميزة المحرك الثاني - تمامًا مثلما قام Adobe ببناء "Appa Java Better" مع Flash ، فإنهم قادرون على النظر في كيفية تصميم وقت تشغيل من نقطة الصفر ، اليوم.لديهم ميزة معرفة كيفية استخدام الأشخاص على الويب اليوم ، وهو أمر لا يمكن للمخترعين في منصات العملاء الحالية أن يخمنه أبدًا.يمكن أن يضيف .NET ميزات ، لكن لا يمكنهم تشويش المنصة بشكل واقعي والبدء من جديد.

  2. الألفة المصمم - في حين أن Flex/Air هو نموذج برمجة جديد ، إلا أنه ليس من غير المألوف تمامًا للمصممين.سوف "يحصلون" على الطريقة التي تعمل بها Flex بسرعة أكبر بكثير مما سيفهمون إطلاق بيئة تصميم جديدة مع أدوات فقيرة جديدة للميزات ونماذج الرسوم المتحركة الجديدة.

  3. تم تخلص من طراز ألوان RGB في Silverlight- .NET في الأصل للنوافذ ، وهو في صميم كيفية عمله.تم التخلص من Flex منذ وقت طويل لنموذج يركز على التصميم.

  4. تعمل جميع أدواتك على جهاز Mac الخاص بك.قال ناف.

  5. الميزات الرائعة - لا يزال Silverlight لا يزال يتعين على Flash على بعض الميزات الواضحة (مثل تكامل كاميرا الويب / الميكروفون ، أو تسريع الرسومات ثلاثية الأبعاد).

نحن نقوم بعمل كل من Silverlight وFlex، وهنا وجهة نظر المطورين لكليهما.

إيجابيات سيلفر لايت:

  1. قوة C#، ومقتطفات التعليمات البرمجية، وإعادة استخدام تطبيقات خوارزمية C# الحالية
  2. قوة اللغات الأخرى أيضًا، Generics و Linq وما إلى ذلك
  3. قوة التنفيذ الأصلي لـ CLR بدلاً من مترجم Script Action الخاص بـ Flash
  4. استوديو مرئي واحد متكامل لجميع عمليات التطوير
  5. يعد Expression Blend محررًا رائعًا حقًا وأكثر تقدمًا من Flex Builder
  6. XAML صديق لمحركات البحث
  7. انتقالات الحالة جميلة جدًا وسهلة التحديد
  8. خيوط والمهام غير المتزامنة
  9. إمكانية الوصول، لا أحد يعلم أن Microsoft تقدم دائمًا أفضل ميزات إمكانية الوصول في جميع منتجاتها، وكانت تعمل دائمًا بشكل جيد مع الأشخاص ذوي الإعاقة، مقارنة المتصفحات الوحيدة التي تدعم IE إمكانية الوصول الكاملة ومتصفح Safari/firefox وما إلى ذلك ليسا أقرب إلى أي مكان آخر.

سلبيات سيلفر لايت:

  1. على وجه التحديد، Microsoft Platform، أعلم أن الكثير من الأشخاص سيجادلون ولكن في ظل السيناريو الحالي، لا يستطيع نصف مستخدمي Intel Mac تشغيل Silverlight 3.0، ولا يستطيع جميع مستخدمي PPC Mac استخدام Silverlight 2.0 وما بعده، ولا يوجد Silverlight لنظام التشغيل Linux.
  2. هناك أحادية، ولكنها غير مدعومة رسميًا من قبل Microsoft، وستظل دائمًا متخلفة عن الهندسة العكسية .NET ونقلها إلى منصة أخرى، وهي لم تخرج من الصندوق بعد.
  3. غالبية المكونات/عناصر التحكم "مختومة" لذا من الصعب توسيعها وتجاوزها لإنشاء مكونات جديدة بسهولة.
  4. بنية CustomControl/UserControl سيئة.على سبيل المثاللا يمكنك الحصول على جذر XAML كـ ComboBox أو أي عنصر تحكم آخر والسماح له بالتصميم بالإضافة إلى التعليمات البرمجية، يمكنك إنشاء عناصر تحكم مخصصة ولكنها معقدة للغاية
  5. يتطلب الربط تسمية المكونات ولا يدعم تعبيرات المثيلات مثل flex، على الرغم من أن الربط ثنائي الاتجاه جيد في Silverlight ولكن عليك كتابة أكواد طويلة لروابط متعددة لتعبير رياضي واحد
e.g.
// this is possible in flex..
// but not in silverlight
<mx:TextBox id="firstName"/>
<mx:TextBox id="lastName"/>

// display full name..
<mx:Label text="{firstName.text} {lastName.text}"/>

إيجابيات فليكس:

  1. منصة مستقلة حقًا، ومدعومة على العديد من الأجهزة وأنظمة التشغيل وتعمل حقًا بشكل رائع في كل مكان.
  2. المصدر المفتوح يجعل من السهل حقًا فهم الوظائف وتوسيعها.
  3. يمكن توسيع كل عنصر تحكم/مكون وهناك قيود أقل تتجاوز السلوك الافتراضي.
  4. الطريقة الأكثر سهولة لإنشاء مكونات جديدة هي جعل mxml مشتقًا من أي عنصر تحكم وتوسيعه بربط شامل
  5. يحتوي Flex على الكثير من عناصر التحكم ولا تحتاج إلى أي مكتبة تابعة لجهة خارجية

سلبيات الفليكس:

  1. تنفيذ بطيء لعمليات التنفيذ التكرارية، لا توجد سلاسل !!لا توجد مهام غير متزامنة !!
  2. بناءً على النقطة 1، لا توجد رسوم متحركة أو رسومات رائعة ممكنة
  3. لا أسماء عامة، لا لغات أخرى، لا لينك..
  4. تحتوي فئة الأرقام على خطأ، ولا يمكن تخزين القيمة الكاملة بطول 64 بت
  5. يعد Eclipse أمرًا سيئًا لتصميم واجهة مستخدم رائعة

خاتمة

  1. نحن نستخدم flex لتطبيقات البيانات، وهي تطبيقات بسيطة لمعالجة النماذج
  2. Silverlight للرسومات والرسوم المتحركة الغنية للغاية

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

ما هي الأسباب التي تدفعك إلى دفع Silverlight على Flex؟إذا كان عليك أن تسأل مجتمع SOFlow عن الأسباب، فيبدو من الغريب أنك ستكون على استعداد لدفعها إلى هذا الحد.

ميزة أخرى لتطوير Flex هي أنه يمكنك التبديل إلى تطوير تطبيقات سطح المكتب (Adobe AIR) بنفس كود المصدر (ونفس IDE) وتوزيعها من الويب.يمكنك التحقق من هذالمستقبل منصة فلاش.
تحديث الربع الثالث/2011:يدعم Flash 11 تسريع ثلاثي الأبعاد منخفض المستوى، وهناك بالفعل العديد من الأطر والمحركات الرئيسية (Unreal Engine 3، Unity) التي تدعمه.ومع ذلك، فإن نقطة البيع للمستقبل هي أن تطبيق AIR سيعمل على منصات Windows وMac وAndroid وPlaybook وiOS (تم إسقاط دعم Linux).مع الحد الأدنى من المتاعب بين التنقل بين تلك الأجهزة (على الأقل عندما يكون لديك Adobe CS5.5+).

تحديث الربع الثاني/2015:لقد مات Silverlight رسميًا.Adobe AIR لا يزال حيًا، لكنه ليس مزدهرًا - قد يكون مفيدًا بناءً على مهاراتك وسلسلة أدواتك.تعترف كل من Microsoft وAdobe بأن HTML5 هو الحل الأمثل (سواء مع AIR أو Apache Cordova أو Visual Studio).

تحديث الربع الثالث/2017:هاها واو، من يستخدم الفلاش بعد الآن.

لا ننسى:

يعد Flex بمثابة منصة مشتركة إلى حد كبير، حيث يتم تجميعه باستخدام تجميع Java مما يعني أنه يمكنك بسهولة استخدام Mac أو Linux عند تطوير تطبيقات Flex.لدي إعداد التحكم في الرحلات البحرية الحالي (الذي يستخدم Linux) وأقوم بإنشاء تطبيقات Flex، لكن فريق التطوير يستخدم كلاً من Mac وLinux وWindows.

في تجربتي، يشعر مطورو جافا وكأنهم في بيتهم في Flex Builder لأنه يعتمد على Eclipse.

لن تحصل أبدًا على تصويت عادل على هذا السؤال على SO نظرًا لوجود العديد من مطوري Microsoft.

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

أقول دع مطوريك يجربون كلا النظامين الأساسيين، ويروا أيهما يفضلون.

للإجابة على التعليقات أدناه، لاحظت للتو أنه على الرغم من وجود الكثير من الإجابات التي توصي بـ Flash / Flex، إلا أن الإجابات الخاصة بـ Silverlight حصلت على عدد أكبر من الأصوات.لا يتعلق الأمر بالكذب، بل هو مجرد تفضيل ما تعرفه، وليس بالضرورة أفضل منصة.

لا يعرف مبرمجو Silverlight ما يفتقدونه عندما يتعلق الأمر بـ Flex.يفتقر Silverlight إلى نموذج المكون وإمكانيات تشغيل الحدث التي يمتلكها Flex.باستخدام XNA وC#، يتعين على أحد أصدقائي تجاوز جميع أنواع العقبات حتى يعمل تطبيق Silverlight الخاص به.بعد ذلك، يجب تسليمها إلى المصمم لجعلها تبدو في منتصف الطريق لائقة.

استمع إلى ملفات podcast على موقع Deepfriedbytes.com على Silverlight، وستسمع كيف أن بعض الأشخاص الذين يشجعون Silverlight حقًا، يعترفون ببعض هذه المشكلات.(أنا يفكر, ، إذا كنت أتذكر بشكل صحيح، فإن أحد الأشخاص يعمل لدى Microsoft، ولكن قد أكون مخطئًا - لقد استمعت إليه الأسبوع الماضي).وهم متفقون على أن Silverlight ليس جاهزًا تمامًا لأي تطبيقات ضخمة، في حالته الحالية.

سأختار Flex، للحصول على أسلوب جميل ونظيف ومباشر - خاصة إذا كنت معتادًا بالفعل على Flash وActionScript 3.0.يعتبر Flex أكثر منطقية، في رأيي - لا يزال يتعين على Silverlight أن ينضج.

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

إذا كنت تقوم بالنشر على الإنترنت الاستهلاكي، فإن Flash Player أو AJAX هو الحل الأمثل.إذا كنت تقوم بالنشر على شبكة LAN خاصة لمؤسسة ‎.net، فلديك خيارات.

باعتباري مصمم رسومات، فقد استخدمت Flash (تشغيل وإيقاف) على مدار الأعوام القليلة الماضية، وSilverlight (وشقيقه الأكبر WPF) على مدار العام ونصف العام الماضيين.واستنادًا إلى ما سمعته من فريقي (جميعهم مطورون أو مطورون سابقون، إذا كان مطورو .Net لديك سينفذون كل عمليات البرمجة، فانتقل إلى Silverlight.أنا أحب Flash، ولكن حتى مع إصلاح OOP لـ ActionScript 3 في Flash 9 والإصدارات الأحدث، فإنها لا تزال لغة ملتوية إلى حد ما، ومن المحتمل أن يؤدي التنقل ذهابًا وإيابًا بين AS3 وC# إلى دفع المطورين إلى الجنون :-).

بالنسبة لمصمميك، قم بما يلي:

  • احصل عليهم على نسخة من Expression Blend، أداة تطوير واجهة المستخدم الرسومية لـ Silverlight/WPF.

  • يحتوي Blend على منحنى تعليمي أولي حاد إلى حد ما، وتطرح الواجهة الكثير من المتغيرات/الخيارات عليك، لذا استثمر في بعض التدريب، وامنح مصمميك الوقت الكافي لمواكبة واجهة المستخدم.

  • بالحديث عن التدريب، احصل على اشتراك في مكتبة الفيديو Lynda.com، خاصة.الدورة التدريبية لـ Lee Brimelow Expression Blend.

  • مسؤولية المشتري:يتغير Blend وWPF بسرعة، لذا قد تواجه أحيانًا أخطاء في Blend تم إصلاحها في النسخة التجريبية التالية/CTP من Blend.على سبيل المثالكان هناك خطأ في Blend 2 يمنع القصص المصورة (الرسوم المتحركة) الخاصة بي من العمل في مشروع حديث.لقد قمت بالترقية إلى Blend 2.5CTP، وقد نجح الأمر.

  • لا يبدو أن محتوى Silverlight يعمل دائمًا مع أحدث إصدار تجريبي من مكون Silverlight الإضافي، وهو أمر يجب أخذه في الاعتبار إذا كنت تختبر بعض الميزات الجديدة المتوفرة فقط في أحدث مكون إضافي لـ Silverlight.

  • استثمر في نظام قوي (رباعي النواة، 4 جيجا بايت من ذاكرة الوصول العشوائي، وما إلى ذلك) يستهلك Blend الكثير من الموارد، خاصة.عندما يكون لديك طن من الطبقات.على سبيل المثالأنا أعمل على تطبيق يحتوي على أكثر من 100 طبقة (!) في التطبيق الأساسي (وأكثر من 100 طبقة أخرى في بعض عناصر تحكم المستخدم)، وحوالي 40-50 لوحة قصص.كل بضع دقائق، يجب علي إعادة تشغيل Blend، لأن واجهة المستخدم تتوقف عن الاستجابة (لكنها لا تتجمد).إما ذلك، أو انقل كل ما تستطيع إلى عناصر تحكم المستخدم.

اعتاد فريقي على كتابة ميزات الويب الغنية في Flex، وهو الآن يكتبها في Silverlight.

أسبابنا لهذا التبديل:

  • تم بناء FlexBuilder على Eclipse.الكسوف أمر فظيع!مجاني، ولكنه مليء بالأخطاء ومليء بالخلل وبطيء.
  • يبلغ سعر FlexBuilder ضعف سعر Expression Blend، الذي نحصل عليه مجانًا مع MSDN على أي حال.
  • يعد Flex أمرًا صعبًا للتحكم في المصدر، فهو لا يحب أن يتم وضع الملفات في مكان واحد ولا يعمل بشكل جيد مع الأجزاء الأخرى من الحل الخاص بك (لقد جربنا مع SourceGear Vault وSVN).
  • إصدار Flex من ActionScript لا يحب معظم تطبيقات SOAP، وعلى وجه الخصوص، فهو يعاني من جميع أنواع المشكلات مع تطبيقات .Net WebMethod.
  • على الرغم من أننا نستخدم مكونات Flex المرخصة بشكل دوري، فقد قررنا أننا لا نملك هذا الإصدار وأضفنا علامات مائية تجريبية فقط.الطريقة الوحيدة لإزالة ذلك هي تفكيك المشروع وإعادة تثبيت Flex وإعادة تثبيت التراخيص وإعادة بنائه.
  • FlexBuilder لا يحب نظام التشغيل Vista على الإطلاق.
  • يتزايد قبول Silverlight، بمجرد وصوله إلى المستوى الذي يمكننا إضافته كشرط للميزات ذات الصلة التي قمنا بتبديلها.إذا كنا نعمل من أجل جمهور على شبكة الإنترنت (وليس من الشركات)، فأنا لست متأكدًا من أنه كان بإمكاننا ذلك.

بقية مشروعنا هو .Net وC#، وقد تجد كل هذه المشكلات أقل أهمية في متجر Java.

وكما ألمح Kibbee أعلاه، فإن حجة الاستفادة من مطوري .Net الحاليين لا تحمل الكثير من الماء.من المستحيل أن تكون خبيرًا في جميع جوانب تطوير .Net.المنصة كبيرة جدًا.الشيء نفسه ينطبق على جافا.الشيء الوحيد الذي تقدمه Silverlight من منظور المهارات هو أنه يمكنك البرمجة بلغة .Net المفضلة لديك.هذه الميزة صغيرة إلى حد ما إذا كنت تقوم بالفعل بأي تطوير مهم للويب يستخدم JavaScript نظرًا لأن Action script هو شكل مختلف.لذا، فإن تحويل مبرمج إلى Flex أو Silverlight يدور حول تعلم واجهة برمجة التطبيقات (API) للنظام الأساسي.

لقد مررنا بنفس المشكلة وفازت شركة Flex.كان مطورو .NET لدينا يشعرون بالقلق في البداية، ولكن بعد العمل لفترة طويلة في ظل معاناة Ajax وJavaScript، أصبحوا الآن يحبون ويستمتعون حقًا بالعمل في Flex.

وهنا اختبار بسيط بالنسبة لك...حاول العثور على 3 أمثلة على الأقل لتطبيقات Silverlight الواقعية (ليست ألعابًا أو مشغلات فيديو أو أدوات ذكية).ثم افعل الشيء نفسه بالنسبة لـ Flex.

أعتقد أن Silverlight وXAML أفضل من ActionScript، وعلى الرغم من أنني لست على دراية بـ ActionScript IDE، إلا أنني على دراية بـ VS2008 وExpression Web/Blend، وهي بيئات تطوير جيدة جدًا وتتحسن طوال الوقت.سأختار Silverlight، وأعتقد أن المفتاح لجعل المستخدمين يقومون بتثبيت المكون الإضافي هو الحصول على صفحة جيدة للكشف عن المكون الإضافي تشرح ماهية ترخيص الاشتراك وسبب حاجتهم إليه.للحصول على مثال على ذلك، اذهب إلى http://memorabilia.hardrock.com/ وجربه مع تعطيل المكون الإضافي لـ SL.

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

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

احدهم قال:"ابحث عن 3 تطبيقات Silverlight في العالم الحقيقي".حسنًا، كنت أعرف بعض المعلومات من أعلى رأسي ولكني بحثت عنها في Google على أي حال.القائمة:

  • أولمبياد بكين 2008 (احصائيات هنا, ، تم تسليم 250 تيرابايت من البيانات!)
  • مشغل Netflix عند الطلب
  • عميل البريد الإلكتروني AOL (قد لا يتم إصداره بعد)

أوه، وليس مشغلات الفيديو؟حسنًا، هذا يترك تطبيق UFC (وهو عبارة عن فيديو/دردشة/أشياء أخرى مختلطة) وعميل البريد الإلكتروني AOL.تتفوق Silverlight في مجال الفيديو وهذا هو المكان الذي تكتسب فيه موطئ قدم ولكن هذا لا يعني أنها لا تستطيع القيام بأشياء أخرى.لا أرى أي سبب لرفضه لمجرد أنه يعمل بشكل جيد مع الفيديو.

عالم المعلومات [وصلة] قال إن "Silverlight تتمتع بميزة تقنية كبيرة وأداء جيد نسبيًا.إنها تقنية RIA قادرة جدًا ومفيدة بشكل خاص في أيدي المبرمجين ذوي الخبرة في .Net والمصممين ذوي الخبرة في XAML." إنها مقالة جيدة يمكنك قراءتها فيما يتعلق بسؤالك.

إجابتي:إذا كان لديك فريق من المطورين الذين يشعرون بالارتياح تجاه .NET، فيجب أن يكون Silverlight هو الأول في قائمتك.إذا لم يكن الأمر كذلك، فهو إهمال حقيقي.لقد رأيت مقالات تقول أن Visual Studio عبارة عن نظام أساسي للتطوير متفوق مقارنة بما تستخدمه مع Flex.لكن الفلاش موجود في كل مكان تقريبًا.

ضع في اعتبارك أيضًا أن Silverlight 2 لا يستخدم أي جافا سكريبت تقريبًا (لا أعتقد أنه لا يوجد شيء، لكنني لست متأكدًا).لذا فإن أي تجنب لـ Silverlight بسبب JS لا أساس له من الصحة.

لو أداء يهم، Silverlight يفوز هناك.لقد رأيت أن استخدام وحدة المعالجة المركزية (CPU) في المتصفح الخاص بي يصل إلى 100% عدة مرات ويتخلص من أي نافذة تعمل على تشغيل Flash دائمًا.إنه واضح بشكل خاص في Chrome حيث يمكنك رؤية العملية التي تستهلك وحدة المعالجة المركزية الخاصة بك.إذا كنت مهتمًا بـ Silverlight لإمكانيات الألعاب، فابحث عن QuakeLight، وهو منفذ Silverlight الخاص بـ Quake.انها تتشكل بشكل جيد حقا.

أعتقد حقًا أن الأمر يتعلق بالمكان الذي تكمن فيه موهبة المطور لديك ونوع التطبيق الذي ستقدمه.لعبة بسيطة؟فلاش.خط تطبيق الأعمال؟سيلفرلايت.ما بين أثنين؟اتبع ما يوصي به المطورون لديك.

إذا كنت تعرف .NET، فإن Silverlight 3.0 هو الحل الأمثل.أنا أستخدمه وأحبه.لست مضطرًا إلى العبث مع AJAX أو JS BTW (ليس لدي أي فكرة عما كان يشير إليه ذلك الرجل، ربما SL 1.0) بالنسبة للبيانات، فهي في الغالب مكالمات WCF غير متزامنة (LINQ إلى SQL خلف WCF) أو ملفات XML أو خدمات RIA.يتيح لك استخدام معظم أدوات تظليل FX، فهو يحتوي على أنماط وقوالب تحكم وحافظة الوصول الأصلية لنظام التشغيل windows/mac.يمكنني تشغيل فيديو عالي الدقة ومعظم العمليات تعمل بشكل جيد جدًا حتى في ظل وحدات المعالجة المركزية البطيئة.أنا أستمتع أيضًا بربط البيانات وربط التحكم والمجموعات التي يمكن ملاحظتها مما يوفر لي الكثير من الوقت.بالإضافة إلى ذلك، يمكنني استخدام LINQ، وهو موفر كبير للوقت، ناهيك عن استخدام Visual Studio لتصحيح الأخطاء.

أقوم بتطوير تطبيقات .NET الخاصة بالمؤسسات، لذلك أعرف قاعدة التثبيت الخاصة بي وسيقومون بتثبيت الوظيفة الإضافية (30 ثانية عادةً).بالنسبة لموقع ويب الواجهة الأمامية، قد تفقد بعض المستخدمين الذين لا يريدون تثبيت Silverlight أو لا يقومون بتشغيل Mac أو Windows.يمكنك الحصول على تطبيقات ذات SL خارج المتصفح باستخدام الإصدار 3.0.

قد أكون رجلًا متحيزًا لـ .NET ولكنني أتطور بسرعة كبيرة ويجب أن أوصي به.

لا يجب أن تستخدمه بجدية أي من هذه التقنيات ActiveX2.0.لا Silverlight ولا Flex...

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

يحاول كل من Adobe وMicrosoft إخفاء هذه الحقيقة بشدة، ولكن في نهاية المطاف، فإن كلاً من Silverlight وFlex ليسا سوى ActiveX في غلاف جديد...

من المؤكد أنها تعمل في وضع الحماية، وهي لغات مُدارة وما إلى ذلك.ولكن لا يزال يتم تنزيل جزء كبير من BLOB لتشغيله محليًا في متصفحك، AKA ActiveX...

هذا سؤال قديم لقد تحدث التاريخ الآن!

لقد كان Silverlight جيدًا كما تخلت عنه Microsoft، ولم يحصل أبدًا على قاعدة تثبيت مفيدة.الحفلة بسبب عدم التزام مايكروسوفت بها بنسبة 100%.

فلاش (وبالتالي فليكس) لا يزال مستمرا.ومع ذلك، فإن المزيد والمزيد من المتصفحات لا تدعم أي مكونات إضافية، لذلك فهي مسألة وقت فقط (سنوات) قبل أن يسير التدفق في طريق Silverlight.

ربما تتم إعادة توجيه Flex يومًا ما إلى HTML5 بدون مكونات إضافية….

تم التحدث بجهاز iPhone، وقال إن الخيار الوحيد هو Apples Way أو HTML5.

يتوفر Flash Player ويدعم رسميًا في جميع أنظمة سطح المكتب تقريبًا (Windows وLinux وMac) بينما سيتم دعم Silverlight بشكل أساسي في Windows.

الأتى شرط يوفر المقارنة بين كلا المنصتين.

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