سؤال جيّد، وبرأيي الشخصي على مطوري التطبيقات متعددة المنصات مثل Flutter تعلم كيف تعمل المكتبات.
سأضع بعض المصادر التي تعلمت منها في هذا الثريد 👇🏻
سأضع بعض المصادر التي تعلمت منها في هذا الثريد 👇🏻
طبعاً أولها الموقع الرسمي، وأهم مصدر. أطلع عليه دورياً لأتفقد التحديثات والتغييرات.
docs.flutter.dev
docs.flutter.dev
هنا Codelab من جوجل يشرح عملية تطوير plugin عملياً.
codelabs.developers.google.com
codelabs.developers.google.com
لم أتعلم كثيراً من مصادر كفيديوهات أو شروحات، إنما بعد قرائتي لكل شيء على الموقع الرسمي، بدأت أتصفح الأكواد لمشاريع موجودة، سأشارك أفضلها:
github.com
github.com
github.com
github.com
github.com
github.com
إضافة إلى ما شاركته، قم بتصفح أكواد أي مكتبة تستخدمها في تطبيقاتك لترى كيف تعمل، هذا التمرين مهم جداً ومع الوقت سيكون بمقدورك بناء مكتباتك الخاصة.
أول plugin لي كانت تخص المدفوعات وتعمل كرابط بين الـnative SDK وFlutter، بالتالي تصفحت كل ما يخص المدفوعات (مثل flutter_stripe).
أول plugin لي كانت تخص المدفوعات وتعمل كرابط بين الـnative SDK وFlutter، بالتالي تصفحت كل ما يخص المدفوعات (مثل flutter_stripe).
سأضيف معلومة:
هناك فرق بين package وplugin في Flutter 🤫
Package تتكون من أكواد دارت فقط، لا يوجد ربط بينها وبين المنصة المستضيفة.
Plugin تربط بين دارت واللغات على المنصات المستضيفة، مثلاً على iOS سنكتب دارت وسويفت.
(يتبع)
هناك فرق بين package وplugin في Flutter 🤫
Package تتكون من أكواد دارت فقط، لا يوجد ربط بينها وبين المنصة المستضيفة.
Plugin تربط بين دارت واللغات على المنصات المستضيفة، مثلاً على iOS سنكتب دارت وسويفت.
(يتبع)
بناءً عليه، يوجد هيكلية لبناء الـplugins لتدعم عدة منصات بدون الإخلال بالواجهة الرئيسية المكتوبة بدارت، بحيث يقوم مستخدمها بالتعامل مع واجهة واحدة، بينما ما يحصل يختلف بين كل منصة.
من المهم التعرف عليها في حالة بناءك لـplugin: تدعى Federated Plugins
#federated-plugins" target="_blank" rel="noopener" onclick="event.stopPropagation()">docs.flutter.dev
من المهم التعرف عليها في حالة بناءك لـplugin: تدعى Federated Plugins
#federated-plugins" target="_blank" rel="noopener" onclick="event.stopPropagation()">docs.flutter.dev
وهنا تفاصيل أكثر عنها، المستند دسم نوعاً ما لكن أنصح بقرائته.
docs.google.com
docs.google.com
أخيراً، شاركت ما تعلمته أثناء بنائي لعدة plugins للـios & andoird في هذا المقال (يتكون من جزئين):
invertase.io
invertase.io
invertase.io
invertase.io
جاري تحميل الاقتراحات...