Flutter: نتائج استطلاع مطوّري البرامج للربع الثالث من عام 2020

مرحبا! يوجين ساتوروف من Surf على اتصال .



أصدر فريق Google نتائج استطلاع Flutter للربع الثالث من عام 2020. أنا أنشر ترجمة للمادة مع تعليقاتي.







تم إعداد هذا المقال بواسطة فريق أبحاث Flutter UX (Flutter UXR) ( Jayeon Lee ، Yoyoyang Hou ، Jack Kim ، Tao Dong )



في أغسطس 2020 ، أطلق فريق Flutter استبيان المطور العاشر. في 10 أيام ، نجح 7668 من مطوري Flutter حول العالم في اجتيازه. أمضى كل منهم حوالي 7.4 دقيقة في الإجابة - ما مجموعه 39.4 يومًا. نحن نقدر الوقت الذي استغرقته لترك تعليقاتك ونريد مشاركة النتائج معك.



كالعادة ، سألنا عن مدى رضاك ​​عن مكونات Flutter المختلفة. بالإضافة إلى ذلك ، في هذا الربع من العام ، كنا نبحث عن تعليقات حول موضوعات جديدة مثل Flutter للويب ، و slivers (عناصر واجهة المستخدم لإنشاء تأثيرات تمرير معقدة) وتصحيح الأخطاء الخاصة بالنظام الأساسي. في هذه المقالة ، سوف نلقي نظرة فاحصة على كل موضوع.



بيانات موجزة



  • أعرب 94٪ من المشاركين عن رضاهم عن إطار Flutter بشكل عام (PSAT - راضٍ إيجابيًا) ، و 58٪ راضون جدًا عنه (VSAT - راضٍ جدًا). لم تتغير حصة PSAT ، لكن نسبة المحطات الطرفية ذات الفتحات الصغيرة جداً تنمو باطراد.

  • نمت حصة المطورين المحترفين من 26٪ إلى 31٪. تتزايد أيضًا نسبة المستخدمين المتقدمين.

  • , 3 Flutter for web, 59% . 71% Flutter , -UI.

  • , , 79% . (36%) , .

  • 71% , . (32%), (28%) (28%).





في هذا الربع ، وصلت نسبة المستخدمين الراضين للغاية عن Flutter إلى مستوى قياسي يبلغ 58٪. بشكل عام ، لا يزال مستخدمو Flutter راضين عن المنتج (94٪) ، على الرغم من النمو المتسارع للمجتمع. يوضح الرسم البياني التالي كيف تغير رضا Flutter بمرور الوقت.





أجاب 58٪ من المستخدمين بـ "راضٍ جدًا" عن سؤال: "ما مدى رضاك ​​عن Flutter بشكل عام؟"



مرت قاعدة مستخدمينا بالعديد من التغييرات المهمة. أولاً ، نمت نسبة مستخدمي إطار عمل Flutter بشكل كبير من 26٪ في الربعين الأول والثاني إلى 31٪ ، بينما لا تزال نسبة المطورين من الشركات الناشئة حوالي 35٪.





على الرغم من حقيقة أن غالبية مستخدمي Flutter يعملون في الشركات الناشئة ، فقد نمت نسبة مطوري الشركات بشكل كبير من 26٪ إلى 31٪







, Flutter . Surf : .



— , .



, , . , Android iOS, — . , , .



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





حصة المستخدمين المتقدمين تنمو بشكل مطرد







. , Flutter-. , «» - . Flutter- . , , , .



, pro-. .



, . HR-. Flutter-, software-. , .



Flutter for Web



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



استخدم المشاركون في الاستطلاع Flutter على نطاق واسع لبناء تطبيقات الويب. وفقًا للسطر الثالث من الرسم البياني التالي ، أفاد حوالي 33٪ أنهم قيموا Flutter في تطبيقات الويب التجارية (15٪) ، أو قاموا ببناء نسخة تجريبية من التطبيق معها (11٪) ، أو أطلقوا تطبيقًا تجاريًا (7٪).





أفاد 33٪ من المستخدمين (1468 من 4449) أنهم قيموا Flutter في تطبيقات الويب التجارية (15٪) ، أو قاموا ببناء نسخة تجريبية من التطبيق معها (11٪) ، أو أصدروا تطبيقًا تجاريًا (7٪)



على وجه الخصوص ، استخدم 29.5٪ من المستخدمين ذوي الخبرة في تطوير الويب والجوال على حدٍ سواء Flutter للويب بجدية أكبر خلال الأشهر الثلاثة الماضية (لأغراض تجارية محتملة). اختلفت النسبة بناءً على خبرة المطور السابقة مع الأنظمة الأساسية. على ما يبدو ، استخدم المستجيبون الذين شاركوا سابقًا فقط في تطوير الويب Flutter كإطار ويب بديل (استخدم 22٪ Flutter للويب لأغراض تجارية محتملة) ، بينما استخدم المستجيبون الذين شاركوا سابقًا فقط في تطوير الأجهزة المحمولة Flutter للويب بشكل فعال للتكامل مع تطوير الويب (16٪ يستخدمون Flutter للويب).





تباينت النسبة المئوية للمستخدمين الذين استخدموا Flutter على الويب تجاريًا في الأشهر الثلاثة الماضية بناءً على تجربتهم السابقة مع منصات الويب والهواتف المحمولة.كما



جمع فريق الويب Flutter أيضًا ملاحظات حول العديد من المشكلات المتعلقة بشكل تطبيق الويب وأسلوبه. أولاً ، علمنا أن أهم المشاركين في الاستطلاع أخذوا في الاعتبار التنقل في المتصفح وسجل الصفحات (55٪) ، نسخ / لصق النص المحدد (34٪) ، فيزياء التمرير (33٪) وإبراز النص (32٪). كما طالب المستجيبون أيضًا بتوثيق أفضل حول التنقل في الصفحة وتكييف تخطيطات الهاتف المحمول مع الويب.







Flutter for Web . , Flutter Team web. FlutterDevPodcast Flutter for Web , , . , UX, . CEO .







وفقًا للمستخدمين ، يعد "التنقل في المتصفح والتنقل في الصفحة" أهم الميزات عند إنشاء واجهة ويب باستخدام Flutter.



يأخذ فريق Flutter تعليقات المطورين في الاعتبار ويعمل بنشاط على التحسينات. لمعالجة مشكلات المستخدم الرئيسية المتعلقة بالملاحة والتنقل في الصفحة ، أصدر الفريق مؤخرًا Navigator 2 . لقد أضفنا أيضًا دعمًا لنسخ / لصق النص المحدد ونخطط لتحسين وظائف النص المحدد (خاصة في النص المنسق). نحن مستمرون في العمل على التمرير في الفيزياء وقضايا الأداء بناءً على المشكلات الواردة من المجتمع.



أخيرًا ، تلقى فريقنا تعليقات حول مهام سير العمل والأداء وواجهات برمجة تطبيقات الجهات الخارجية. من بين جميع تدفقات العمل الرئيسية ، وفقًا للمشاركين ، كان التصحيح هو الأصعب. سرعة تحميل الصفحة والتمرير هي الجوانب التي واجه فيها المستجيبون غالبًا مشاكل في الأداء. طلب المشاركون في الاستطلاع دعمًا أفضل للتخزين المحلي (مثل SQLite) ، وتخزين Firebase ، وخرائط Google لـ Flutter للويب. سيعمل فريقنا على تحسين هذه الجوانب مع تطور Flutter for Web.



التعليق



بالطبع ، فإن الرغبة في جعل Flutter for Web تصل إلى الكمال أمر يستحق الثناء. هل الإطار جاهز ليصبح بديلاً كاملاً لمنافسيه الأكثر تقليدية؟ رأيي لا لبس فيه: لا. لا يزال هناك طريق طويل من التحسينات والتحسينات في المستقبل.


الشظايا



يتم استخدام عناصر واجهة مستخدم شظية (عناصر واجهة مستخدم بأسماء تبدأ بـ "Sliver" ، مثل SliverAppBar و SliverList) لإنشاء تأثيرات تمرير معقدة. يمكن تنفيذ العديد من تأثيرات التمرير باستخدام عناصر واجهة مستخدم مثل ListView أو GridView أو PageView أو AnimatedList ، إلا أن عناصر واجهة المستخدم الشظية تساعد في تخصيص عرض التمرير وجعل واجهة المستخدم أجمل.





يمكن تنفيذ تأثيرات التمرير المعقدة هذه باستخدام عناصر واجهة



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



أول شيء تعلمناه هو أن غالبية المشاركين في الاستطلاع (49٪) يصممون واجهات مستخدم بتأثيرات تمرير بسيطة. تم تطوير واجهة المستخدم ذات التأثيرات المعقدة بنسبة 39٪. (قدم الاستطلاع أمثلة على تأثيرات التمرير البسيطة والمعقدة). ومن بين أولئك الذين يحتاجون إلى تأثيرات معقدة ، قال 78٪ إنهم بحاجة إلى شظايا لتحقيق التأثيرات المرغوبة.





تم تطوير واجهة المستخدم ذات تأثيرات التمرير البسيطة بواسطة عدد أكبر من المستخدمين (49٪) من واجهة المستخدم ذات التأثيرات المعقدة (39٪). ويقول



20٪ من المستخدمين الذين يحتاجون إلى شظايا إنهم لم يجربوها. الأمر الأكثر إثارة للاهتمام هو أن 35٪ من المستخدمين الذين استخدموا النعال أفادوا بأنهم واجهوا مشاكل. عندما سألنا عن أكبر التحديات ، احتل البحث المرتبة الأولى (36٪) ، يليه الاستكشاف (30٪) ، وأخيراً قابلية الاستخدام (19٪).





تبين أن البحث هو المشكلة الأكثر شيوعًا للمستخدمين الشظية ، حيث تم الإبلاغ عن عدد أقل من الصعوبات في تعلم الأداة وقابليتها للاستخدام



نظرًا لأننا لا نريد أن تؤثر هذه المشكلات على واجهة المستخدم الخاصة بك ، فإننا نخطط لتحديث flutter.dev لتسهيل العثور على عناصر واجهة مستخدم شظية ودراسة المقابلة. معلومات. إذا كنت تبحث عن شظايا جديدة لا تمتلكها Flutter ، فجرب حزم البرامج التي طورها المجتمع مثل sliver_tools أو sticky_headers . يرحب مجتمع Flutter أيضًا بمدخلاتك في هذا المجال.



وإذا لم تكن معتادًا على الشظايا وترغب في معرفة المزيد عنها ، فنحن نقدم لك الموارد التالية:



شظايا ، منزوعة الغموض(مقال صغير)



شرح Slivers - عمل تخطيطات ديناميكية ("The Boring Flutter Development Show" على YouTube ، الحلقة 12)



التعليق



الشظية - حجر عثرة للعديد من مطوري Flutter. إنهم خائفون وغير مفهومين. ربما لا يكون السبب هو واجهة برمجة التطبيقات الأكثر شفافية للعمل مع المكونات ، فضلاً عن التداخل الصعب للأدوات. CustomScrollView و SliverList و SliverChildBuilderDelegate - حتى تكتشف الدور الذي يلعبه كل مكون من هذه المكونات في بناء الصورة العامة ، يبدو أنك تحاول كشف خدعة أحد المخادعين ذوي الخبرة. في الواقع ، تعد الشظايا والآليات المماثلة أحد الأسباب الرئيسية التي تجعلني أحب Flutter. إن القدرة على القيام بأشياء معقدة تستحق الكثير.


تصحيح الأخطاء الخاصة بالنظام الأساسي



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



أولاً ، سألنا المستخدمين عن المشكلات الخاصة بالنظام الأساسي التي قاموا بتصحيحها. نتيجة لذلك ، وجدنا ذلك في أغلب الأحيان مشاكل في الأدوات (32٪) ، الاختلافات المرئية على منصات مختلفة (28٪) ، إدارة التبعية (28٪) ، اختلافات في الأداء على منصات مختلفة (27٪) ، اختلافات في أداء المكونات الإضافية على منصات مختلفة (26٪) ، و أيضًا ، غالبًا ما تكون الميزات الأصلية مفقودة (25٪).



التعليق في



الآونة الأخيرة ، ظهر تصميم مخصص لـ Flutter Engine with Metal تعطيل على GitHub . اتضح أنه بدونها ، يعمل التطبيق المصمم لنظام iOS بشكل أكثر سلاسة! لا نواجه في كثير من الأحيان مثل هذه المشاكل السيئة حقًا في النظام الأساسي. ومع ذلك ، يجب أن تكون دائمًا مستعدًا لهم. لتكون مسلحًا بالكامل ، لن يساعدك سوى الغوص العميق في أساسيات المنصات المدعومة.





تتضمن المشكلات الأكثر شيوعًا الخاصة



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





ملاحظة للشكل (من اليسار إلى اليمين): الصعوبة - الصعوبة ، مشكلات الاختبار - مشكلات الاختبار ، الاختلافات المرئية - الاختلافات المرئية ، الأهمية - الأهمية ، المشكلات الخاصة بالجهاز - المشكلات الخاصة بأجهزة معينة ، مشكلات إدارة التبعية - مشكلات إدارة التبعية ، مشكلات الإصدار - مشكلات الإصدار ، مشكلات الأدوات - مشكلات الأدوات ، الاختلافات السلوكية - الاختلافات في الأداء ، عدم وجود ميزات أصلية - نقص الأدوات الأصلية ، اختلافات سلوك البرنامج المساعد - الاختلافات في عمل المكونات الإضافية ، تباينات الأداء - الاختلافات في الأداء.



أهمية وتعقيد القضايا الخاصة بالمنصة. تشير "المحلاق" على الرسم البياني إلى 95٪ فاصل ثقة





عندما يتعلق الأمر باختبار التطبيقات على منصات متعددة ، قال 85٪ من المستجيبين أنه مهم جدًا أو بالغ الأهمية. ومع ذلك ، اتضح أنه صعب للغاية أو صعب للغاية بالنسبة لـ 27٪ ممن شملهم الاستطلاع. لذلك ، يعد اختبار التطبيقات على منصات متعددة أمرًا مهمًا ، ولكن بالنسبة لمعظم المطورين ، فإنه ليس صعبًا للغاية. من الإجابات التفصيلية للأسئلة ، تعلمنا أن أكثر مشكلات الاختبار شيوعًا تنشأ عند اختبار iOS (خاصة لمطوري Windows) ، واختبار أحجام الشاشات المتعددة ، والاختبار على أجهزة مادية متعددة.



في الربع القادم ، سيقضي فريقنا مزيدًا من الوقت ، ويقلل الأخطاء بشكل كبير ، ويحل المشكلات الرئيسية المتعلقة بالأدوات ، وإدارة التبعية ، والإصدار. سنواصل أيضًا تحسين التوثيق حول هذه الموضوعات. على سبيل المثال ، سنعمل على تحسين وثائق المستخدم لأدوات CI مثل GitHub Actions و Bitrise ، والتي تساعد المستخدمين على اختبار تطبيقات iOS.



لا

بأس بتعليق إجراءات GitHub طالما أن المستودع الخاص بك ليس خاصًا. من الآن فصاعدًا ، سيكون لديك 200 دقيقة مجانية فقط من وقت الإنشاء شهريًا للبناء على جهاز افتراضي لنظام macOS. اقرأ مقالتي حول إعداد سير العمل المثالي لمشروع Flutter .



ماذا بعد



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



All Articles