10 مكتبات في Flutter لا أستغني عنها أبدًا في مشاريعي

10 مكتبات في Flutter لا أستغني عنها أبدًا في مشاريعي

10 مكتبات في Flutter لا أستغني عنها أبدًا في مشاريعي

التطوير والبرمجة باستخدام Dart و Flutter ينقلك لمستوى مختلف، وكغيره من التقنيات البرمجية الأخرى في الزمن الحديث فإن المكتبات (Libraries / Packages / Frameworks) تلعب دورًا رئيسيًا في تسريع وتيرة العمل. في الحقيقة، أصبح من الصعب تطوير برمجيات رفيعة المستوى دون اللجوء إلى بعض المكتبات التي أصبحت ضرورية في أي مشروع. 

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

1. مكتبة Google Fonts 

10 مكتبات في Flutter لا أستغني عنها أبدًا في مشاريعي

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

لذلك استخدم واحدة من أفضل المكتبات في هذا المجال، مكتبة Google Fonts الضخمة التابعة لجوجل والمتجددة. يمكنك إيجاد كل الخطوط التي توفرها جوجل (والتي يمكن التعرف عليها ورؤية نماذج لها عبر موقع Google Fonts ) قبل استخدامه. 

طريقة استخدامها أيضا بسيطة، إن تعوض الـ TextStyle في Flutter بـ GoogleFonts.lato() مع تغيير lato إلى أسماء خطوط أخرى حسب الحاجة. 

رابط المكتبة: من هنا

2. مكتبة Animation 

10 مكتبات في Flutter لا أستغني عنها أبدًا في مشاريعي

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

تمتلك Flutter كأساس لها وفي الـ Material Design بعض الأنيميشن الخفيفة. كما أنه يمكنك استخدام Widgets مخصصة للأنيميشن (بدل استخدام Container مثلًا يمكن استخدام AnimatedContainer). لكن الأنيميشن المتاحة قليلة وضعيفة عكس مكتبة Animation. 

رابط المكتبة: من هنا

3. مكتبة Gap

10 مكتبات في Flutter لا أستغني عنها أبدًا في مشاريعي

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

مكتبة Gap تأتي لتضع فراغ أو مساحات وفواصل بين العناصر وذلك عبر المناداة على الـ Widget وإعطائها حجم محدد (مثل (10)Gap). بناءً على الـ Widget الأب ( هل هو Row أم Column أم غيره) تقوم Gap بتحديد مكان الفراغ سواء أفقيًا أو عموديًا. سهولة استخدامها وبديهتها هما العنصرين الأساسيين لاستخدامها. 

بالطبع لازال بإمكانك استخدام طرق تقليدية مثل استخدام Spacer() أو استخدام SizedBox لكنك بحاجة دائمًا لتحديد الـ Width أو Height للعنصر لإدراج الفراغ الملائم. 

رابط المكتبة: من هنا 

4. مكتبة GetX 

10 مكتبات في Flutter لا أستغني عنها أبدًا في مشاريعي

مكتبة الواحد في الكل، لا يمكن خيل مشروع بدون مكتبة GetX. بالطبع يوجد بدائل كثيرة لها لكن GetX تعتبر مكتبة سهلة الاستخدام للمبتدئين وفي الوقت مثالية لآداء مختلف الخدمات. 

ما هي GetX؟ من أي نبدأ. تقدم لك المكتبة خدمات Routing سريعة وعملية بأبسط الأكواد، نظام State Management سلس وأكثر احترافية، مجموعة من الـ Snackbar (مثل Toast أو بالأحرى إشعارات ) احترافية وكثيرة. إلقاء نظرة واحدة على مكتبة GetX قد يدخلك في دوامة كبيرة من الميزات الخاصة بهذه المكتبة، لكن استخدامها أسهل من ذلك بكثير. 

رابط المكتبة: من هنا

5. مكتبة Shimmer 

10 مكتبات في Flutter لا أستغني عنها أبدًا في مشاريعي

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

إضافة هذا التأثير لمشروعك البرمجي على Flutter أسهل مما تتخيل عبر مكتبة Shimmer. فقط اعطِ للعنصر أو الـ Widget لون من صنف Shimmer مع Timer أو مؤقت محدد أو حتى Loader لتختفي بعد أن ينتهي التحميل. بالتالي تضيف تأثير رائع في تطبيقك الخاص. 

رابط المكتبة: من هنا

6. مكتبة Shared Preferences 

10 مكتبات في Flutter لا أستغني عنها أبدًا في مشاريعي

التعامل مع البيانات في مشاريع Flutter دائمًا ما يتطلب بعض المكتبات الذكية. احداها وأكثرها استخدامًا هي مكتبة Shared Preferences. تجلب لنا هذه المكتبة خدمات الـ Sessions و الـ Cookies المعروفة في الويب إلى تطبيق Flutter. 

باستخدام Shared Preferences يمكنك تسجيل بيانات داخل جهاز المستخدم لاستخدامها لاحقًا، مثل تسجيل دخوله أو بيانات أخرى مختلفة. تستطيع المكتبة تسجيل بيانات وحفظها في الجهاز من مختلف الأصناف ( Strings, Bool, int, double ...) حذفها والبحث عنها أيضا سهل عبر Shared Preferences. 

رابط المكتبة: من هنا

7. مكتبتي Sign In With Apple / Sign In With Google 

10 مكتبات في Flutter لا أستغني عنها أبدًا في مشاريعي

في معظم الأحيان وفي معظم الأوقات ستستخدم Firebase من أجل التعامل مع حسابات المستخدمين وتقنيات التسجيل والدخول وما إلى ذلك. أما إن أردت إضافة ميزتي تسجيل الدخول أو صناعة حساب باستخدام حساب Apple (بالنسبة لتطبيقات iOS) أو تسجيل الدخول باستخدام Google فيوجد وسيلة أسهل بكثير. 

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

رابط المكتبة: Sign in with Google  |  Sign In With Apple

8. مكتبة http 

10 مكتبات في Flutter لا أستغني عنها أبدًا في مشاريعي

هي واحدة من المكتبات الشهيرة للغاية في Flutter ويتم استخدامها كعنصر أساسي للتعامل مع الـ API's من خلالها. الإتصال مع الـ API's وجلب البيانات وإرسالها وباقي الخدمات الأخرى لا يمكنها أن تتم إلا باستخدام مكتبة http. يوجد بعض البدائل الأخرى ( مثل Riverpod) لكن يبقى http أسهل من حيث التعامل. 

في أقل من سطرين، يمكنك إنشاء اتصال مع API وإرسال البيانات له أو استقبالها، وكذلك التعامل مع باقي الروابط الأخرى حسب ما هو مطلوب في التطبيق. 

رابط المكتبة: من هنا

9. مكتبة Page Transition 

10 مكتبات في Flutter لا أستغني عنها أبدًا في مشاريعي

الإنتقال بين الصفحات يتطلب أيضا إضافة بعض التأثيرات الإنتقالية (Transition). تمتلك فلاتر بعض التقنيات البسيطة في تأثيرات الأنيميشن والانتقالات، لكنها ليست بتلك الاحترافية في النهاية، أو بالأحرى تصبح مكررة للغاية. 

مكتبة Page Transition هي مكتبة خفيفة وظريفة وسريعة الاستخدام، بتمرير type من نوع Page Transition عند الإنتقال إلى الصفحة تضيف أنيميشن مختلفة أثناء الإنتقال لها. وتدعم المكتبة عشرات الانتقالات التي يمكن التلاعب فيما بينها. 

رابط المكتبة: من هنا

10.  مكتبتي Hive / Sqflite 

10 مكتبات في Flutter لا أستغني عنها أبدًا في مشاريعي

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

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

ثم ثانيًا مكتبة Sqflite وهي تقدم نفس الخدمة إلا أنها مكتبة علائقية من صنف RDBMS تسمح لك بتسجيل البيانات على شكل جداول يتم تحديد نوعها وصنفها من قبل. 

رابط المكتبة: مكتبة Hive | مكتبة Sqflite 

شاركه على :