بالتعاون مع زملاء من مجتمع Flutter ، نصنع بودكاست عن Flutter. بثت الحلقة الأولى في 29 يناير 2019. منذ ذلك الحين ، ندعو الزملاء من عالم Flutter ومجالات تكنولوجيا المعلومات الأخرى كل شهر: نناقش الأخبار والأحداث والفروق الدقيقة الفنية ونقدم المشورة من الخبرة القتالية - بشكل عام ، ننظر إلى Flutter من زوايا مختلفة.
لماذا وكيف نقوم به بودكاست، تحدثت بالتفصيل عن vc.ru . في هذه المقالة ، قمت بمراجعة الحلقات الأكثر إثارة للاهتمام وشعبية من Flutter Dev Podcast.
أتيت إلى Flutter من Android: لقد تعرفت على التكنولوجيا الجديدة على هامش المؤتمر من Zviad Kardava ، Developer Relations من Google Russia ، والذي أصبح لاحقًا الضيف الأول في البودكاست الخاص بنا. نشأت فكرة إنشاء وسيلة إعلامية حول Flutter لأننا كنا أول من بدأ في البلاد القيام بشيء ما في هذا الإطار: المكانة كانت مجانية.
Flutter هي تقنية تطوير تطبيقات متعددة الأنظمة لأنظمة iOS و Android والويب وسطح المكتب من Google.
أطلقت Flutter Dev Podcast مع زميلي أرتيوم زايتسيف - نعمل معًا في Surf . في ذلك الوقت ، لم نكن نعرف شيئًا عمليًا عن Flutter ، ويمكن للمرء أن يقول ، لقد نشأنا جنبًا إلى جنب مع البودكاست. بالتوازي مع البودكاست ، تم تطوير Flutter في Surf. لدينا الآن قسم Flutter كامل يضم 13 شخصًا . أنا والرجال نحتفظ بمستودع SurfGear عام على GitHub ، حيث ننشر جميع أنواع الفوائد للتطوير على Flutter : مجموعة من المكتبات والمعايير والأدوات.
شكرًا لـ Google وشخصيًا إلى Ekaterina Vinnichenko و Zviad Kardava لدعم البودكاست الخاص بنا ودعوتي لمراجعة الحلقات على مدونة Google.
إصدارات Flutter Dev Podcast: من جديد إلى مبكر
"منصة كاملة لكسب جميع أنواع الأشخاص"
# 19 Yandex.Pro
Gennady Evstratov: "الهدف العالمي هو إنشاء Frankenstein ضخم ، حيث ستنمو نسبة Flutter وتنمو وتنمو ، ويمكنك فقط أخذ رمز Android بملعقة صغيرة ، ثم التخلص منه وترك تطبيق Flutter."
فريق Flutter من Yandex هم ضيوف منتظمون في البودكاست. في الإصدارات المبكرة ، تحدثوا عن Yandex.Taxometer - وهذا ، بالمناسبة ، دخل أيضًا في مراجعتنا. الآن تم إعادة إنشاء Yandex.Taxometer في Yandex.Pro. نسخة iOS مكتوبة بحتة في Flutter ، وإصدار Android هجين: إصدار Flutter البحت لم يلحق بعد بوظائف إصدار Android ، لذلك لا يمكن التخلص منه بعد.
يخبر ضيوف Yandex لماذا وبأي شكل يتغلغل Flutter في مشاريع الشركة: يتم استخدام إطار العمل بالفعل للوحدات الفردية في Yandex.Lavka و Yandex.Taxi و Yandex.Go. يتحدثون عما يمنع من التحول كليًا إلى Flutter في الوقت الحالي ، وما هي المشكلات التي تم الكشف عنها عند العمل مع Fish Redux بسبب التوسع ، وما الذي سيحتاج المطور إلى القيام به من أجل دمج Flutter في تطبيق أصلي.
"أقوم بالكثير من الأشياء في فريق Flutter ، ولكن شاغلي الرئيسي هو أن المطورين الخارجيين يتمتعون بتجربة جيدة."
# 17 Flutter Day 2020
Chris Sells: "يمكنك دائمًا كتابة الكود الأصلي في التطبيق الخاص بك أو حتى إنشاء المكون الإضافي الخاص بك. إذا كتبت المكون الإضافي الخاص بك ، وليس لدينا واحد ، فيرجى مشاركته مع العالم. هذه هي الطريقة التي ينمو بها نظام Flutter البيئي ".
هذه حلقة غير عادية من نواحٍ عديدة: فللمرة الأولى استضفنا جزءًا من البودكاست باللغة الإنجليزية ولأول مرة قمنا ببث عبر الإنترنت على Youtube.
جاء كريس سيلز ، مدير المنتجات من Google ، لزيارة Flutter Dev Podcast: بالتعاون مع فريق Flutter ، يعمل على تطوير Flutter. ناقشنا أشياء مختلفة: القدرة على تصحيح الأخطاء في وقت واحد على عدد كبير من الأجهزة والمحاكيات ، من أين أتت Dash - رمز Flutter ، ما هي المشكلات التي يواجهها أمر Flutter في وضع العمل عن بُعد.
تحدث كريس عن الكيفية التي سيتم بها تنفيذ أمان Null وما الذي يؤثر على بنية التطبيق أكثر من أي شيء آخر (وهذا ليس اختيارًا لإدارة الدولة). سوف تكتشف ما إذا كان Flutter سيكون له Jetpack الخاص به ، ولماذا تمت إزالة Reflection API من الإصدارات السابقة من Dart وما إذا كانت ستتم إضافتها مرة أخرى ، وما إذا كانت ستدعم كائنات قيمة البيانات. ناقش مقدمو العروض أيضًا مع Chris تجميع تطبيقات Flutter لمعالجات Arm في أجهزة Apple الجديدة ، مما يمنع إصدار إصدار ألفا من Flutter مع دعم إنشاء تطبيقات لنظامي التشغيل Windows و Linux وما إذا كان Flutter سيحتوي على تحميل رمز ديناميكي.
"الإعلام هو نوع النشاط البشري حيث يسير كل شيء دائمًا بالطريقة التي تريدها."
# 16 ميدوزا
بوريس جورياتشيف : "واجهت المقاومة التي ألتقي بها دائمًا مع المطورين الأصليين. عندما يسمعون شيئًا عن منصة مشتركة ، فإنهم يدخلون فورًا في وضع ، ويقولون إنه سيء ، وأن كل شيء يعمل بشكل سيئ ، وكل شيء بطيء وسئ بشكل عام. حججهم هي شيء من هذا القبيل:
- ماذا لو كنت بحاجة إلى إظهار هذا ، هذا ، هذا؟
"لكن لن نضطر إلى إظهار ذلك.
- لا ، ولكن ماذا لو كان عليك؟
- من المستبعد جدا.
- حسنًا ، الأداء السيئ!
- حسنا ، نوعا ما مثل لا.
- لا ، حسنًا ، سيئ ، على المستوى المحلي سيكون أسرع.
تمت كتابة تطبيق Meduza الجديد في Flutter من البداية. في الحلقة 16 من Flutter Dev Podcast بواسطة CTO Meduza ، يشرح Boris Goryachev سبب احتياج Meduza لذلك. نبدأ من البداية: نناقش سبب فشل مفهوم الهاتف المحمول لأول مرة في عام 2014 ، ونتحدث عن العلاقات الصعبة مع المطورين الأصليين ، وعالم تطوير الوسائط المذهل ، والألعاب ذات الخطوط ، وعبء العمل مع WebView وواجهة المستخدم الخلفية. كما يرد بوريس على ادعاءات أرتيمي ليبيديف.
إعادة سرد مفصل لملف Flutter Dev Podcast مع بوريس جورياتشيف
"أردت في الأصل أن أفعل شيئًا مشابهًا لـ VS Code ، لكن أفضل."
# 15 Flide - IDE على
Flutter Andrey Lesnitskiy: "لقد بدأت منتجًا بنفسي من أجل زيادة إنتاجيتي . إذا أدى ذلك إلى زيادة إنتاجيتي ، فيمكنه أيضًا زيادة إنتاجية جميع المطورين في نظام Flutter البيئي. "
يكتب Andrey Lesnitsky من مينسك بيئة التطوير في Flutter. لقد استوحى إلهامه من Android Studio و VS Code ، ويحاول الاستفادة من أفضلها - لكنه يريد أن يجعل IDE خاصًا به. لماذا اختار Flutter للمشروع: هل هو تحد أم فكرة خاصة؟ كيف تم تصور المنتج وكيف ظهر؟
في الحلقة ، يروي أندري كيف توصل إلى هذه الفكرة ، وما هي التحديات الرئيسية التي واجهها وحالة المشروع اليوم.
"لقد استمتعت حقًا بكوني سائق تاكسي. إذا كانت المعدلات أعلى ، فسأعيد التدريب "
# 11 Yandex.Taxi
Gennady Evstratov: "قالت خدمة الأمن:" تفاعل مع السكان الأصليين - فقط من خلال جثتهم ".
يصنع فريق Yandex.Taxi "حزمة برامج لخدمة سيارات الأجرة" على Flutter - تطبيق Yandex.Taxometer. في هذه القضية ، يخبرون عن سبب قيامهم بإيقاف المشروع لأول مرة في React Native ، ولكن بعد ذلك انتقلوا إلى Flutter ، لماذا يقوم موظفو Yandex بفرض ضريبة في الليل ، ونتيجة لذلك ، أصبح التطبيق على Flutter أسرع مرتين ونصف من Android. وأيضًا حول الكتابة الهيروغليفية في وثائق إعادة إحياء الأسماك ، وتكامل Yandex Map Kit وحزمة عناصر واجهة المستخدم الخاصة بها.
"CI / CD سيفعلون كل شيء من أجلك ، حتى لو لم تكن لديك تقنية Apple"
# 9 CI / CD - Jenkins ، Bitrise ، Codemagic
Mikhail Tokarev: "عندما تحدثنا مع فريق Flutter حول CI / CD ، قالوا بوضوح شديد:" نريد رؤية CI التي يمكن حتى لجدتي استخدامها ". مع هذا الإعداد بدأنا في صنع Codemagic ".
جنبًا إلى جنب مع CTO Codemagic ، اكتشفنا سبب حاجتنا إلى CI / CD ، وفي أي نقطة يصبح من الواضح أننا لا نستطيع الاستغناء عنها ، وما هي البنيات المحلية المشحونة. قارنا Jenkins و Bitrise و Codemagic في جميع المعلمات التي يمكنهم الوصول إليها: الميزات والقيود والاستقرار والتخصيص والأسعار. اكتشفنا من أين جاء Codemagic ولماذا تم وضعه تمامًا مثل CI / CD لـ Flutter ، وليس لكل شيء على التوالي ، ما هو اختلافه عن الأدوات الأخرى وما هو التعويض المستحق للمستخدم إذا سقط التجميع بسبب خطأ الأداة.
"يعمل على كل شيء بشاشة"
# 7 كل شيء يتعلق بالمنصة المشتركة
مكسيم سالنيكوف: "الرهانات من عمليتنا تتلاشى ، نحن لسنا بحاجة إليها. هذا تطبيق ويب شائع يمكنك استخدامه وتثبيته على جهازك إذا كنت تريد ذلك ".
مكسيم بيانوف: "لقد اقترب Xamarin من الحد الأقصى للنضج. إلى الدولة عندما تم حل جميع المشاكل الرئيسية وبدأت التنمية واسعة النطاق. هناك رقائق خفية. ينصب التركيز الآن على نظام iOS الأصلي ".
الكسندر فيدوروف: "React Native هو حل وسيط بين المحتوى الأصلي والويب. الأم أسرع ، والويب أبطأ. شيء بينهما هو React Native. ربما تكون أكبر ميزة هي أنه مكتوب بلغة JS. هناك الكثير من مطوري JS ، والدخول إلى التطوير سريع. رد الفعل ليس معقدًا جدًا أيضًا ".
أرتيوم زايتسيف:"الفرق الرئيسي بين Flutter و React أو Xamarin هو أن لديها محركها الخاص أسفل غطاء المحرك. وهو لا يستخدم العناصر الأصلية ، إنه يرسم نفس الشيء فقط ".
رومان ياتسينا: "Kotlin Native ككل هو نفس Kotlin ، مقيد فقط. في الوقت الحاضر ، من الصعب جدًا العثور على شخص يوافق على الكتابة بلغة جافا. كثير من الناس يتركون شركاتهم على الفور لأن Kotlin ليست موجودة ".
ألكسندر إفريمينكوف: "لنبدأ بحقيقة أن هذا هو C ++. C ++ لا يستحق التعلم إذا كنت لا تريد البحث في كيفية تخصيص الذاكرة ، وكيف تعمل ، ومحاولة الخوض في العمل الوثيق مع الأجهزة. "
React Native، Xamarin، PWA، QT، C ++، Kotlin Native، Flutter ... Cross-platform هي كلمة عامة إلى حد ما ، يوجد خلفها العديد من التقنيات المختلفة.
لماذا نأخذ تقنية ونطاق وعتبة دخول وإيجابيات وسلبيات - في هذه المسألة ناقشنا معايير اختيار التقنيات لمكدسكم.
"جاء مطورو الهواتف المحمولة إلى Flutter ، ونظروا إلى عدم التزامن / الانتظار وشعروا بالرعب.
# 6 Asynchrony
Evgeniy Kot: "لفهم التدفقات ، تحتاج إلى فهم كيفية عمل السباكة."
هناك غير متزامن / انتظار ، Future API ، Stream API ، هناك طريقة حساب ، حتى أن هناك RXDart. كيف نفهم من هذا التنوع ما يجب استخدامه من هذا وما لا يجب استخدامه. ماذا تفعل بكل هذا غير المتزامن إذا كنت قادمًا من عالم iOS أو Android. لماذا يكون العزل مثل فطيرة من الرف ، وكيف يتعامل Flutter مع العمليات غير المتزامنة عندما تكون Dart مترابطة.
"تبدو جميع الأجهزة الافتراضية متشابهة حقًا"
استمع إلى الحلقة رقم 5 من Dart VM
Vyacheslav Egorov: "يمكنك أن تبدأ بحقيقة أن اسم Dart VM خاطئ قليلاً. من الصحيح أن نسميها Dart Runtime ، لأنها لا تمثل دائمًا آلة افتراضية. الأشخاص الذين يتخيلون آلة افتراضية ، يتخيلون أنه يتم تنفيذ بعض الرموز الثانوية داخلها. ربما يكون من الأصح أن نطلق عليها اسم Dart Runtime ".
يخبرنا Vyacheslav Egorov ، مطور Dart VM ، عن سبب كتابة Flutter في Dart ، وما هو السحر الأسود الذي يستخدمه إعادة التحميل الساخن ، وما هي ميزات جامع القمامة. حول التجميع من التسعينيات والوظائف الساخنة و Flutter-web. كيف ترتبط العزلات في Dart بـ multithreading ، وما الذي يتم تجميعه في تطبيق Flutter في بنية الإصدار ، وما يحتوي Flutter على هندسة عكسية.
جميع بودكاست Flutter Dev على Soundcloud