Flutter & Dart ✨️ @flutter_apps99 Channel on Telegram

Flutter & Dart ✨️

@flutter_apps99


اسألني في اي مشكله ان شاء الله أقدر اساعدك
🎃 @mahmoud_azab99 🎃

Flutter & Dart ✨️ (Arabic)

هل تعمل على تطوير تطبيقات Flutter و Dart؟ إذا كان الأمر كذلك، فقناة Telegram "flutter_apps99" هي المكان المثالي بالنسبة لك! تقدم هذه القناة العديد من الموارد والمعلومات المفيدة بشأن تطوير التطبيقات باستخدام Flutter و Dart. سواء كنت مبتدئًا أو محترفًا في هذا المجال، فإن هذه القناة ستساعدك على تعزيز مهاراتك وفهم أحدث التقنيات والممارسات الجيدة. يمكنك طرح أي سؤال تريده وأعضاء آخرين متحمسين مثلك سيقدمون المساعدة. انضم إلى "flutter_apps99" اليوم وابدأ رحلتك في عالم تطوير التطبيقات بفعالية وسهولة. اطرح الأسئلة، واستفد من الخبراء، وكن جزءًا من هذه المجتمع المتحمس لتقنية Flutter و Dart! 🎃 @mahmoud_azab99 🎃

Flutter & Dart ✨️

19 Nov, 11:57


ارسال الاشعارات بدون فتح
Firebase console

السلام عليكم ورحمة الله وبركاته،
الحمد لله، عملت سكربت بقدر من خلاله أبعث إشعارات من Firebase باستخدام التوكن (token)، أو أبعث إشعارات لأكتر من توكن في نفس الوقت. وكمان ممكن أختار إذا كان الإشعار هيتبعت من خلال التوكن أو من خلال الـ topic.

للتواصل
📩[email protected]

Flutter & Dart ✨️

17 Nov, 13:17


شرح موضوع
get_it in Flutter
مهم ✨️


https://www.linkedin.com/posts/azabcodes_flutter-getit-activity-7263895806754086912-_0mP?utm_source=share&utm_medium=member_android

Flutter & Dart ✨️

16 Nov, 15:58


ممكن حد يفهمني اي هو ال
Profile mode in flutter ؟

الاجابه ⬅️

Profile mode
هو mode الخاص بتتبع وتحليل الأداء بتاع الابلكيشن زي مساحته و استهلاكه لل network او battery او storage وغيرهم ، مش بيشتغل علي emulator او simulator ،
لازم جهاز حقيقي زي ال release mode كده عشان يقدر يديلك الأداء الحقيقي
flutter run --profile
#منقول

Flutter & Dart ✨️

16 Nov, 10:50


🎥 Video Walkthrough: Pokemon Explorer in Flutter

💼Looking for an app developer or have a business idea? I’d love to help bring your project to life!

📩 [email protected]

https://www.linkedin.com/in/azabcodes/

Flutter & Dart ✨️

13 Nov, 19:11


Create a Cartoon App UI with Flutter

DM for : Business Inquiries & App Development Projects
📩 [email protected]

Flutter & Dart ✨️

07 Nov, 16:23


Dart tip to filter nullable list using

1️⃣ .whereType<T>()
2️⃣ .nonNulls

Flutter & Dart ✨️

05 Nov, 06:02


السلام عليكم ورحمة الله وبركاته 🌟

الحمد لله بفضل ربنا، قربنا نوصل لـ 10 آلاف شخص في القناة! 🎉

أتمني االي يقدر ينضم لجروب القناه ينضم عشان لو حد واقف في مشكله يلاقي حد يرد عليه ويساعده


وبرضو حابب اسمع رأيكم في فكرتين ممكن تساعدنا نتعلم ونطور من نفسنا:

1️⃣ مسألة يومية (Problem Solving)

- هننزل كل يوم الصبح مسألة تفكروا فيها وتحاولوا تحلوها بنفسكم.

- بالليل ننزل الحل بحيث تتعرفوا على طرق حل مختلفة وتتعلموا تكنيكات جديدة، ولو عندكم أفكار تانية للحل ياريت تشاركوها.


2️⃣ تحدي تصميم (UI Task):

- هنطرح تصميم لشاشة واحدة تشتغلوا عليه مع نفسكم، بحيث تتدربوا على التصميم وتطوير الـUI.

- مش مطلوب إنكم تنشروا الكود، بس لو حد واجه مشكلة في تصميم حاجة معينة، يبعتلنا، والكل يساعده.

إيه رأيكم؟ شايفين إن الأفكار دي ممكن تفيدكم وتساعدكم تتطوروا؟


وجزاكم الله خيرا 🌹

Flutter & Dart ✨️

03 Nov, 06:34


https://youtu.be/VyIh1EyLQ2Q

Flutter & Dart ✨️

02 Nov, 20:55


لو شغال Flutter 🚀، وهترفع App علي الـ Store او عندك Apps بالفعل، خلي بالك ان Google هتصنف برنامجك انه ليه bad behavior لو الـ ANR عدي %0.47. اعرف ايه هو الـ ANR و 4 من ضمن الطرق عشان تتجنبه

الـ ANR (Android Not Responding) بيحصل لما الـ App بتاعك يحصله Freeze لمدة 5 ثواني، و بيطلع dialog للـ user يختار اذا كان يقفل الـ app او ينتظر، و طبعا دي من المواقف السيئة اللي ممكن تحصل في الـ app خاصة لو متكررة و دائما بتؤدي لخسارة جزء كبير من الـ user base بتاعتك من خلال انهم بيعملوا uninstall للـ app لو تكرر الـ freeze.

و Google في الـ documentation بتاعها بتقول:
Overall bad behavior: At least 0.47% of daily active users experience a user-perceived ANR across all device models.
و ده معناه انهم بيصنفوا الـ app انه ليه bad behavior لو الـ ANR Rate عدي الـ %0.47، يعني لو عندك 10,000 users استخدموا الـ App النهاردة، و 47 منهم طلعلهم ANR، يبقي الـ app ليه bad behavior.

💡 طبعا اسباب الـ ANR كتير وحلولهم اكتر، بس من اكثر الاسباب انتشارًا هو ان الـ UI بيكون complex ومحتاج يعمل render لـ widgets كتير في الـ screen و بيعملهم build كتير كل شوية وبسبب كده بيعمل block للـ Main Thread لفترة طويلة وبيحصل الـ ANR، لذلك دي 4 Tips هتساعدك تحسن الـ UI Performance في الـ app و تقلل الـ ANRs بدرجة كبيرة جدا لو طبقتها:

1. افصل كود الـ UI عن كود الـ Business Logic
بمعني انك مكتكبش الاكواد اللي بتعمل heavy work في الـ build() methods، لأن الـ build() بيتعملها call كل شوية عشان تعرض التغيرات اللي حصلت في الـ UI، الافضل انك تكتب كود الـ Business Logic في method لوحده و مش مربوطة مباشرة بالـ build() او انك تستخدم احد حلول الـ state management.

2. تجنب انك تعمل Single Widget و يكون كبير جدا و بيضم كذا جزء من الـ screen
عشان تتجنب انك تعمل build لجزء كبير من الـ widget tree، الافضل انك تقسم الـ screen ل sections او widgets صغيرة كل واحد فيهم مسؤول عن حاجة، بحيث انه لما يحصله update يتعمله build لوحده بدون اهدار للوقت والـ resources في عمل build للـ widgets التانية بدون حاجة.

3. استخدم const قبل كل constructor لأي widget مش هيتغير في الـ screen
و كل ما يكون متاح انك تستخدم الـ const، لأن const كأنك بتقول لـ Flutter و هو بيعمل rebuild للـ widget tree انه ميعملش build تاني للـ widget ده و هيسيبه زي ما هو بنفس حالته، و بكده هتوفر وقت و resources كتير جدا اثناء الـ build خاصة في الـ complex screens اللي فيها widgets كتير وبتفاصيل كتير.

4. استخدم StatelessWidget بدل الـ Function عشان تعمل Reusable Widget
لو عندك widget هتستخدمه كذا مرة في كذا مكان و هتخليه reusable، الأفضل انك تعمله StatelessWidget في Class بدل ما تعمله Function بيعمل return للـ widget، لأن الـ StatelessWidget اتصمم انه يعمل seamless integration مع الـ rendering pipeline، وغير كده انه بيكون فيه built-in caching techniques و ده بيحسن الـ performance. طبعًا الفرق مش هيبان في الـ widgets البسيطة والصغيرة، لكنه بيفرق جدا في الـ apps الكبيرة والـ complex screens.

Flutter & Dart ✨️

02 Nov, 12:39


#منقول
ازاي تعلم اي حد OOP كويس ؟
بسيطه. اشرحله Class, Encapsulation, Abstraction, Polymorphism و خلافه.
لا مش دا احسن بدايه.
امال ايه ؟
اشرحله ال Procedural Code و اخليه ينفذ المطلوب في مساله بهذا الطريق. و اطلب منه بعدها يعدل الكود او يضيف اليه.
ساعتها بقي هيشوف عيوب Procedural Code و من هنا بقي تقدر تقوله ازاي ال OOP بيحلها.
البوست دا بيلخص طريقه انا شايفها ناجحه جدا لشرح ال OOP و كمان توجه عام لشرح اي موضوع. ابدا من المشكله و بعدين قدم الحل.
بكده الناس تفهم الحل و تستوعب الياته.
لو محدش شرحلك ال OOP كده (غالبا يعني) جرب انت بقي تقرا عن Procedural Code و تفهم عيوبه و بعيدن شوف ال OOP ازاي بيحلها.
لو عملت كده هتعرف تستخدم ال OOP كويس جدا و هتشوف مثلا ازاي ال Encapsulation بيحمي ال Object و ازاي ال Polymorphism بيخلي الكود مفيهوش Conditions تربك اللي بيقرا الكود و تخبي المعني في قلب اللي كتب الكود و يدوخ اللي وراه.
ابدا من المشاكل علشان تشرح الحلول.
ابدا من المشاكل علشان تشرح الحلول.
ابدا من المشاكل علشان تشرح الحلول.
يا ريت اساتذتنا القائمين علي تدريس Software Engineering يعملوا كده. هيفرق في فهم الطلبه كتير.

Flutter & Dart ✨️

02 Nov, 09:06


السلام عليكم ورحمة الله وبركاته
فيديو عمل
Pagination in Dropdown


https://youtu.be/C08d75WMccs

Flutter & Dart ✨️

31 Oct, 10:15


https://youtu.be/M3sQSpC44tw

Flutter & Dart ✨️

30 Oct, 18:17


📅 يبدأ التوقيت الشتوي في مصر يوم الخميس 31 أكتوبر 2024 بإذن الله.

📿 وهذه مواقيت الصلاة الجديدة بعد تغيُر الساعة بدءًا من مساء الخميس حسب توقيت القاهرة:

• الفجر: 4:41 صباحًا.
• الشروق: 6:09 صباحًا.
• الظهر: 11:39 ظهرًا.
• العصر: 2:44 عصرًا.
• المغرب: 5:08 مساءً.
• العشاء: 6:26 مساءً.

🕊️ (وذكر فإن الذكرى تنفع المؤمنين)

Flutter & Dart ✨️

30 Oct, 08:23


كورس جديد للبشمهندس وائل ابو حمزه

تم البدء بكورس Dart الجديد
الهدف منو طريقة شرح افضل بكثير من السابق وعلاج بعض المشاكل التي حصلت بسبب التحديثات ولح يتم شرح امور كتير اضافية الكورس منتهي وسيتم رفع ٣ دروس يوميا
باقي الكورسات بالقناة جميعها تم تحديثها ومتبقي كورس Dart الذي يتم رفعه حاليا
رابط الكورس https://youtube.com/playlist?list=PL93xoMrxRJIutlMCImcV3CYMmjS0MmlWL&si=IG9ULcncgv7G73gv

سيتم العمل قريبا على كورسات التالية

1 - Zego Cloud ( Voice Call - Video Call - Room - etc .....)

2 - Bloc

3 - Git & Github Social Coding

4 - Unit Testing

Flutter & Dart ✨️

29 Oct, 19:48


السلام عليكم ورحمة الله وبركاته
ده شرح من اخونا محمد عن ال
Cubit , Bloc


لينك ال
Post on LinkedIn


https://www.linkedin.com/posts/mohammed-al-amrousi-coding_bloc-state-mangement-activity-7257100578512687104-7S3k?utm_source=share&utm_medium=member_android

Flutter & Dart ✨️

25 Oct, 14:09


إزاي تستخدم
flutter_launcher_icons

مع ملف إعدادات منفصل في Flutter؟

لو إنت مطور Flutter، أكيد عارف إن الأيقونة بتاعت التطبيق مهمة جدًا. في البوست ده، هشارك معاك إزاي تستخدم مكتبة flutter_launcher_icons علشان تخصص أيقونة التطبيق بتاعك بطريقة سهلة، باستخدام ملف إعدادات منفصل.

✅️ الخطوات:

1️⃣ إنشاء ملف الإعدادات :
  أول حاجة، اعمل ملف جديد في فولدر المشروع بتاعك اسمه
flutter_launcher_icons.yaml.

2️⃣ إضافة إعدادات الأيقونة :
  افتح الملف وضيف إعدادات الأيقونة بتاعتك. هنا نموذج بسيط لشكل المحتوى:



  flutter_launcher_icons:
   android: true
   ios: true
   image_path: "assets/icon/app_icon.png"



  تأكد إنك تعدل image_path بحيث يشير لمسار ملف الأيقونة اللي عندك.

3️⃣ تشغيل الأمر :
  بعد ما تخلص إعداد الملف، شغل الأمر ده في التيرمينال:


  dart run flutter_launcher_icons --file flutter_launcher_icons.yaml


الأيقونات:

🔹 أيقونة التطبيق: تأكد إن الأيقونة اللي هتستخدمها موجودة في المسار المحدد.

🔹 أيقونات Android : تأكد إن الأيقونات بتظهر بشكل صحيح على أجهزة Android.

🔹 أيقونات iOS : لازم تتأكد إن الأيقونات متوافقة مع متطلبات iOS.

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


ان شاءالله هعمل فيديو أشرح فيه ازاي تعمل أيقونة التطبيق بنفسك وتكون مطابقه للشروط


https://www.linkedin.com/posts/mazap64_mahmoudabrazab-activity-7255578920169742336-u8i4?utm_source=share&utm_medium=member_android

Flutter & Dart ✨️

25 Oct, 02:16


اللَّهُمَّ صَلِّ عَلَى مُحَمَّدٍ، وَعَلَى آلِ مُحَمَّدٍ، كَمَا صَلَّيْتَ عَلَى إِبْرَاهِيمَ، وَعَلَى آلِ إِبْرَاهِيمَ، إِنَّكَ حَمِيدٌ مَجِيدٌ، وَبَارِكْ عَلَى مُحَمَّدٍ، وَعَلَى آلِ مُحَمَّدٍ، كَمَا بَارَكْتَ عَلَى إِبْرَاهِيمَ، وَعَلَى آلِ إِبْرَاهِيمَ، فِي الْعَالَمِينَ إِنَّكَ حَمِيدٌ مَجِيدٌ🤍

Flutter & Dart ✨️

24 Oct, 12:34


🔥تحسين أداء تطبيقات Flutter باستخدام
Keys
سر لا يعرفه الكثيرون

أحد المفاهيم المهمة اللي العديد من المطورين لا ينتبهون لها في Flutter هو Keys. استخدام الـ Keys بشكل صحيح يمكن أن يحل مشاكل الأداء والمشاكل الغامضة في بناء واجهة المستخدم.

✅️ ما هي Keys في Flutter؟
الـ Keys تساعد Flutter في التمييز بين widgets المختلفة عند حدوث تغييرات كبيرة في الواجهة. عند استخدام keys، نضمن أن الـ widgets تتحرك أو تتغير بناءً على هويتها الفريدة، وليس فقط بناءً على ترتيبها في الواجهة.

✅️ لماذا نستخدم Keys؟

✔️ الحفاظ على حالة الواجهة: عند إعادة ترتيب الـ widgets داخل الـ widget tree، استخدام keys يضمن أن حالة الـ widgets لا تضيع.

✔️ تحسين الأداء: استخدام keys بشكل صحيح يقلل من إعادة بناء أجزاء كبيرة من الواجهة، مما يحسن من الأداء.

✔️ حل مشاكل إعادة ترتيب العناصر: على سبيل المثال، إذا كان لديك ListView وتقوم بإضافة أو حذف عناصر، من دون الـ keys قد يقوم Flutter بإعادة بناء كل العناصر بدلاً من التركيز على العناصر التي تغيرت فقط.

✅️ أنواع الـ Keys:

1️⃣ GlobalKey:

هذا النوع من keys

يمنح الـ widget هوية فريدة على مستوى التطبيق بأكمله، وليس فقط داخل شجرة معينة. نستخدمه عندما نحتاج للوصول إلى حالة الـ widget من أي مكان في التطبيق أو عند التنقل بين الشاشات.


final GlobalKey<ScaffoldState> _scaffoldKey = GlobalKey<ScaffoldState>();

@override
Widget build(BuildContext context) {
return Scaffold(
key: _scaffoldKey,
appBar: AppBar(
title: Text('Using GlobalKey'),
),
body: Center(
child: Text('Hello World'),
),
);
}

2️⃣ UniqueKey:

هذا الـ Key فريد لكل مرة يتم استدعاؤه فيها. مفيد عندما تحتاج إلى أن يقوم Flutter بإعادة بناء الـ widget في كل مرة، حتى إذا لم يتغير موقعه في الـ widget tree.


List<Widget> items = [
Container(
key: UniqueKey()
, color: Colors.red, height: 50
),
Container(
key: UniqueKey(),
color: Colors.blue, height: 50),
];

3️⃣ ValueKey:

هذا النوع يكون مفيدًا عندما يكون لديك قيمة معينة تحدد بها تميز الـ widgets.

على سبيل المثال، ListView

وكل عنصر لديه id أو name فريد.


List<String> names =
['Mahmoud', 'Ahmed', 'Usama'];

@override
Widget build(BuildContext context) {
return ListView(
children: names.map((name) {
return ListTile(
key: ValueKey(name),
title: Text(name),
);
}).toList(),
);
}




https://www.linkedin.com/posts/mazap64_flutter-dart-activity-7255194849077854208-HQ1C?utm_source=share&utm_medium=member_android

Flutter & Dart ✨️

23 Oct, 12:23


السلام عليكم ورحمة الله وبركاته
مفهوم ال
Widget Lifecycle
ومراحلها في
Stateful widget


ان شاء الله يفيدكم

https://www.linkedin.com/posts/mazap64_%D9%81%D9%87%D9%85-widget-lifecycle-%D9%81%D9%8A-flutter-activity-7254829366164000769-jUw-?utm_source=share&utm_medium=member_android

Flutter & Dart ✨️

21 Oct, 09:08


السلام عليكم ورحمة الله وبركاته

طريقه حذف كل ال
Print
اللي عندك في الكود واللي بتأثر علي آداء تطبيقك



https://www.linkedin.com/posts/mazap64_%D9%83%D9%85%D8%B7%D9%88%D8%B1%D9%8A%D9%86-%D8%A8%D9%86%D8%B3%D8%AA%D8%AE%D8%AF%D9%85-print-%D9%83%D8%AA%D9%8A%D8%B1-%D8%B9%D8%B4%D8%A7%D9%86-%D9%86%D8%B9%D8%B1%D9%81-activity-7254054778396155904-m4hx?utm_source=share&utm_medium=member_android

Flutter & Dart ✨️

18 Oct, 07:05


Github

https://github.com/mazab99

LinkedIn

https://www.linkedin.com/in/mazap64

Flutter & Dart ✨️

08 Oct, 10:34


بوست مهم ان شاء الله يفيدكم 🌹

https://www.linkedin.com/posts/mazap64_%D8%A7%D9%84%D8%B3%D9%84%D8%A7%D9%85-%D8%B9%D9%84%D9%8A%D9%83%D9%85-%D9%88%D8%B1%D8%AD%D9%85%D9%87-%D8%A7%D9%84%D9%84%D9%87-%D9%88%D8%A8%D8%B1%D9%83%D8%A7%D8%AA%D9%87-%D8%B4%D8%BA%D8%A7%D9%84-%D8%B9%D9%84%D9%8A-activity-7249366371690549248-vSwn?utm_source=share&utm_medium=member_android

Flutter & Dart ✨️

07 Oct, 16:14


https://www.figma.com/design/czkRpUoU7NxIaDNrf41nol/Telegram?node-id=0-1&t=JaAdV1QsfLaGTTbn-1

اللي عايز يتدرب علي مشروع

ده تصميم مشروع متجر
اعتبروه تحدي واعملوه كتدريب ليكم
بالتوفيق ان شاء الله ❤️

Flutter & Dart ✨️

06 Oct, 13:05


GraphQL ♦️VS REST API


https://www.linkedin.com/posts/alhassan-balousha-9b7bb8114_flutter-activity-7244955875201740800-b249?utm_source=share&utm_medium=member_ios

Flutter & Dart ✨️

06 Oct, 11:01


Adding video to screen background


https://github.com/mazab99/back_ground_video

Flutter & Dart ✨️

05 Oct, 12:24


السلام عليكم ورحمة الله وبركاته

فيديو بسيط بوضح فيه ازاي تعمل ترجمه لاسم التطبيق بتاعك علي حسب لغه الموبايل


https://youtu.be/33Mwz8HyXuQ?si=TIgFwON20RJ6691c

Flutter & Dart ✨️

04 Oct, 21:22


Preload Svg Files 👌

LinkedIn

https://www.linkedin.com/in/mazap64

Flutter & Dart ✨️

03 Oct, 08:45


بوست مهم ان شاء الله تستفيدوا منه

https://www.linkedin.com/posts/mazap64_activity-7247525190526517248-K0kZ?utm_source=share&utm_medium=member_android

Flutter & Dart ✨️

02 Oct, 19:48


The flow diagram of the switch…case statement is as follows

Flutter & Dart ✨️

01 Oct, 08:00


Range Grid View
مثالي لأي تطبيق يتطلب تحديد كميات كبيرة (مثل الصور، الملفات، إلخ)

https://github.com/mazab99/range_gird_view

قناه اليوتيوب

https://youtube.com/@mazab99

Flutter & Dart ✨️

30 Sep, 05:57


السلام عليكم ورحمة الله وبركاته
دي PlayList تم شرح فيها

✅️Upload image .
✅️Upload video .
✅️Upload file .
✅️Recored audio and Upload it .



https://youtube.com/playlist?list=PLI9ftWkl517Tt3mijtUpQsbltZYck1HMw

Flutter & Dart ✨️

24 Sep, 09:51


Ever wanted to track page views or add navigation breadcrumbs to your error logs?

This can be done by implementing a NavigatorObserver.

Here's some sample code showing how to implement this. 👇

Flutter & Dart ✨️

23 Sep, 14:11


#منقول
السلام عليكم ورحمة الله وبركاته
{وَتَعَاوَنُوا عَلَى الْبِرِّ وَالتَّقْوَى وَلا تَعَاوَنُوا عَلَى الإثْمِ وَالْعُدْوَانِ..}
قال ﷺ: الدال على الخير كفاعله
دي ريبو فيها اغلب ما تحتاجه من داتا ك ديفيلوبر علشان تعمل تطبيق او ويبست اسلاميه

[https://github.com/Epic-Apps-Hub/Islamic-and-quran-data](https://github.com/Epic-Apps-Hub/Islamic-and-quran-data)

Flutter & Dart ✨️

22 Sep, 09:31


#مهم جدا وضروري : منقول عايز ارفع التطبيق بدل ما كل شويه ادخل على Google Play console او Apple Developer اعمل اى ؟

و تعرف اى عن Fastlane وهل ليه علاقة ب CI/CD؟

أيوه Fastlane ليه علاقة قوية جدا بـ CI/CD (اللي هي Continuous Integration و Continuous Deployment).

هو أداة مفتوحة المصدر بتسهل عليك عملية تطوير التطبيقات للموبايل (زي iOS و Android). تقدر تقول إنها بتعمل Automation للمهام اللي ممكن تكون متكررة زي رفع التطبيق للـ App Store أو Google Play أو حتى generate الملفات المختلفة زي الشهادات (certificates) و الـ screenshots.

بدل ما تعمل الخطوات دي يدوي كل مرة تقدر تستخدم Fastlane وتكتب أوامر بسيطة عشان هي تعمل الشغل ده أوتوماتيك.

إيه الفايدة من Fastlane؟

توفير وقت: مش لازم تعمل الخطوات المتكررة يدوي Fastlane بتعملها أوتوماتيك.

أقل أخطاء: لما تعمل كل حاجة أوتوماتيك بتقلل احتمالية الأخطاء اللي ممكن تحصل لو عملتها يدوي.

مع Flutter: تقدر تستخدم Fastlane مع مشاريع Flutter بشكل سهل وبسيط.


أوامر بسيطة تستخدمها مع Flutter:

أول حاجة، هتحتاج تضيف Fastlane في المشروع بتاعك. الأوامر دي للـ iOS و Android:

1. Install Fastlane في مشروعك

في المشروع، افتح الترمنال واكتب:

cd android
fastlane init

وبالنسبة لـ iOS:

cd ios
fastlane init

ده هيعمل تهيئة (initialize) لـ Fastlane في المشروع.

2. أمر لرفع التطبيق على Google Play (Android)

افتح الترمنال وادخل على مجلد android، وبعدها اكتب:

fastlane supply --track beta --apk app/build/outputs/apk/release/app-release.apk

الأمر ده بيرفع التطبيق على Google Play على "Beta".

بدل beta ممكن تستخدم production لو عايز ترفع التطبيق على المتجر مباشرة.


3. أمر لرفع التطبيق على App Store (iOS)

في مجلد ios، تكتب الأمر:

fastlane deliver --ipa build/ios/iphoneos/App.ipa --skip_screenshots --skip_metadata

ده بيرفع التطبيق على App Store.

--skip_screenshots و --skip_metadata دول عشان تتخطى رفع الصور والمعلومات الوصفية لو مش محتاج.


4. أمر generate الشهادات (certificates)

لو عايز generate الشهادات الخاصة بـ iOS:

fastlane cert

وبالنسبة للـ Android:

fastlane supply init

الخلاصة:

Fastlane بتخليك توفر وقت ومجهود كبير في عملية رفع وبناء التطبيقات من خلال مجموعة أوامر بسيطة. مع Flutter، بتقدر تربط Fastlane بسهولة عشان تدير كل الخطوات دي أوتوماتيك.