ch
Feedback
Flutter dev مطورين فلاتر

Flutter dev مطورين فلاتر

前往频道在 Telegram

كل ما تحتاجة للتطويرك بمجال تطوير تطبيقات الاندرويد و iOS بأستخدام لغة Dart واداة Flutter رابط القناة الرسمي https://t.me/joinchat /AAAAAEwOEsRGudZ0A2HPyw لتواصل والاستفسار @Omar_Root لدعم القناة https://www.paypal.me/womnacss

显示更多
伊拉克109 784未指定类别
1 361
订阅者
无数据24 小时
无数据7
无数据30
帖子存档
اختيار اللغة البرمجية التي سوف تبدأ بتعلمها كمبتديء يجب ان يكون اختيارا غير مرتبط فقط بالتخصص الذي تريد ان تصله مثل الويب او تطبيقات الهواتف، ولكن ايضا بالمصادر المتوفرة والمجتمع الذي يدعم هذه اللغة، وبتطبيقات الخوارزميات وهياكل البيانات وحل المشاكل، وايضا بشمولية اللغة مثلا تدعم ال OOP... الخ... باختصار لغة اذا تعلمتها تستطيع بعد ذلك تعلم اي لغة بسهولة لانها تشمل كل او اغلب المفاهيم في لغات البرمجة..... لهذا افظل لغات للتعلم كبداية هي واحدة من هذه اللغات : 1- جافا \ Java. 2 - سي ++ \ C++. ======== ولغة جافاسكربت ايضا من اللغات المهمة جدا لتعلم مفاهيم البرمجة الحديثة وبسهولة مثل ال Asynchronous programming و functional Programming ... الخ.

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

شنو محتاجينا ب فلاتر تحسونا ناقص موضوع معين

السلام عليكم ورحمة الله ، كان فيه مشكلة قابلتني في مكتبة image picker وحليتها وحبيت اشارك الحل معاكم المشكلة بتحصل لما تعوز تعمل release apk وانت بتستخدم الإصدار الأحدث من المكتبة حاليا وهو image_picker: ^0.6.7+12 فبيروح قايلك build failed مع رسالة الخطأ دي: C:\flutter.pub-cache\hosted\pub.dartlang.org\flutter_plugin_android_lifecycle-1.0.7\android\src\main\java\io\flutter\embedding\engine\plugins\lifecycle\FlutterLifecycleAdapter.java:8: error: package androidx.lifecycle does not exist import androidx.lifecycle.Lifecycle; والحل بيكون انك تروح لفولدر فلاتر عندك وتروح للمسار الأتي flutter\.pub-cache\hosted\pub.dartlang.org\image_picker-0.6.7+12 وتدخل على ملف ال pubspec.yaml وتغير الإصدار بتاع flutter_plugin_android_lifecycle للإصدار الأتي: flutter_plugin_android_lifecycle: ^1.0.11

البوست ده هحاول اجمع فيه اكتر الحاجات اللي ممكن تستعملها او تكون مفيده ليك في ابلكيشن او انا عن نفسي تقريبا مفيش ابلكيشن ببتديه من غير ما استعمل الحاجات اللي هتكون في البوست ده 1- Shared Preferences https://pub.dev/packages/shared_preferences ايه الباكيدج دي ؟ الباكيدج دي وظيفتها انها تحفظ ليك بيانات في الجهاز الخاص باليوزر بحيث تقدر ترجع ليها في اي وقت زي local database بس خفيفه لحاجات خفيفه بمعنى انت حاليا عايز تسيڤ اسم اليوزر عندك في الابلكيشن عشان هو يكتبه مره واحده وتقدر تعرضه بعد كده من غير ما يكتبه تاني 2- Firebase Dynamic Links https://pub.dev/packages/firebase_dynamic_links مهمه جدا ومش كتير يعرفها فكرتها ببساطة بتعمل deep linking بمعنى انك عايز تفتح الابلكيشن عن طريق لينك وليكن مثلا في فيسبوك حد بعتلك لينك لبوست بتيجي تفتحه بتلاحظ انه فتحلك البوست داخل الابلكيشن نفسه مش في الويب الحركه دي اسمها deep linking مجربتش جميع الطرق اللي تقدر تعملها بيها لكن بالنسبالي Firebase Dynamic Links ممتاز 3- Get https://pub.dev/packages/get انا شايفها الحقيقه من احسن الاضافات لفلاتر بس ايه هي ؟ Get في الاول ابتدت عشان كانت شايفه ان الـnavigation في flutter محتاج يتعدل ف عملت طريقة عشان تعمل navigation من غير ما تستعمل context وعملت pull request لفلاتر لكنه اترفض ف قرروا انهم يعملوا الكلام ده في باكيدج وابتدت تنتشر وعملوا حاجات تانيه كتير مميزه بعد كده ف Get حاليا تقدر تستعمله في State Management Localization Dependency Management Navigation وكل حاجه منهم فعلا مهمه وهما عاملينها ب اسلوب عظيم واي حد تقريبا يقدر يفهمها 4- Notifications https://pub.dev/packages/onesignal_flutter https://pub.dev/packages/firebase_messaging لو حد ملاحظ هنا انا ضايف 2 packages للنوتيفكشنز وهشرح هنا ليه ضايف الاتنين دول مضيفتش واحده طبعا اغلب الناس تعرف النوتيفكشنز بتاعت firebase هي بكل بساطة باكيدج بتتيحلك تستقبل نوتيفكشنز عن طريق integration بسيط لكن فيه شوية حاجات لو هتعملها بنفسك في flutter قد تاخد وقت زي الـsound مثلا بتاع النوتيفكشن لو عايز تفتح النوتيفكشن وتوديك على لينك معين الحاجات دي صعبه حبه ف جيه منقذي الحقيقه هو One Signal شايفه عظيم وبيسهل عليك امور كتير وسواء firebase او one signal ف الاتنين free

https://www.youtube.com/playlist?list=PL93xoMrxRJIsoHL8gG1UBfVoXKi7OxbLU قناة تحتوي دورة متكامله لعمل مشروع كامل @Omar_Root

واحد من اكتر الاوامرالمهمة واللي محدش يعرف عنده كتير flutter pub deps الأمر ده مفيد جداً ،، لما تضيف dependency جديدة للمشروع
واحد من اكتر الاوامرالمهمة واللي محدش يعرف عنده كتير flutter pub deps الأمر ده مفيد جداً ،، لما تضيف dependency جديدة للمشروع ويطلع resolve conflict المشكلة بتكون انك انتا بتعمد علي نسخة معينة وال library الجديدة بتعتمد علي نسخة تانية وبالنسبة ل flutter المفروض يستخدم نسخة واحدة بس في المشروع المشكلة بتبقى اكبر لو كنت مش انتا اللي بتعتمد علي ال library اصلا ،، بمعني ان library زي url_launcher ممكن تكود انتا مش مستخدمها بنفسك خالص لكنك بتستخدم حاجات تاينة بستخدمها داخلياً فهتلاقيه مطلعك خطأ انتا مش عارف تبدأ منين لأنك اصلا مش مستخدمurl_launcher ومش عارف مين اللي مستخدمها وفيين وهنا يجي الاختراع بقى بتاع النهردة ،، الفكرة انك لازم ترجع المشروع لمرحلة ما قبل ال conflict وبعدين تكتب الامر flutter pub deps بعدها هيظهرلك كل الشجرة دي الي فيها بوضوح كل library بتعتمد علي ايه تاني وبعدها تقدر تاخدها كوبي ونحطها في ملف text وتعمل بحث فيها وتشوف مين الي library عامله قافله مع الجديدة اللي انتا عاوز تحطها بعد كده لازم تحدد المشكلة ،، هل هي مشكلة تحديث ولا مشكلة انك محتاج ترجع لنسخة قديمة 1- لو كانت الجديدة اللي ان

ة مختصرة تشرح ببساطة المشكلة والحل اللى بنقدمهولكو نخش عالمصادر اللى تخليكو تتعمقو أكتر وتشوفو أمثلة وتطبيقات على GetX مقالة بتشرح بتطبيق عملى عبارة عن صفحة تسجيل دخول بإستخدام GetX and free API https://www.appwithflutter.com/flutter-state-management-with-getx/ ودة شرح لل animation routes with GetX https://www.appwithflutter.com/flutter-routing-using-get-package/ ودة مثال تانى بيشرح تطبيق بإستخدام firebase Auth على موقع ميديام واللى الموقع مبيفتحش عنده يقدر يستخدم متصفح opera ويفعل الvpn المدمج معاه أو تشغلو مباشرة على متصفح tor https://medium.com/@jeffmcmorris/getx-flutter-firebase-auth-example-b383c1dd1de2 تطبيق notepad بإستخدام GetX and sqlflite https://www.appwithflutter.com/flutter-database-note-app-sqflite/ ودة source code جميل جدا جدا بيشرح كل مفاهيم GetX من خلال تطبيق متجر لبيع الخضروات والفاكهة https://github.com/andreciornavei/flutter-getx-concept ولهواة الفيديوهات منقدرش ننساهم بسلسلة فيها شرح GetX https://www.youtube.com/playlist?list=PLJftqVZ-OFLhCf6wM_fjAnqzu4ewwbK9J وأخيرا وليس آخرا بإذن الله واحد من أفضل من شرحو GetX وللعلم هو recommended من تيم GetX قناة Amateur Coder دى سلسلة بيشرح فيها المفاهيم على تطبيقات بسيطة ولكن شرح ممتاز بصراحة وغطى جوانب كتيرة https://www.youtube.com/watch?v=XDWT1RXwQQQ&list=PL26uY6-lIzqkmvpNr9gMCrIvl8k5Mqrhs ودة رابط ال source code الخاص بالسلسلة دى https://github.com/tadaspetra/getx_examples ------------- ودى سلسلة بيشرح فيها تطبيق todo app https://www.youtube.com/playlist?list=PL26uY6-lIzqm0CUxPt6Pj1iEQtONT-Lxv https://www.youtube.com/watch?v=-H-T_BSgfOE&list=PL26uY6-lIzqm-P1_Hi072D9FzwltjhAGG ودة ال source Code https://github.com/tadaspetra/getx_examples/tree/master/todo_app --------------- أنا عارف المنشور كبير بس الموضوع يستحق المجهود والإهتمام ونتمنى بإذن الله الفايدة تعم على الجميع وأى مصادر جديدة هيتم التأكد من جودتها هيتم إضافتها فى المنشور وتقدرو ترجعو للمنشور فى المجموعة من خلال الإعلامات أو الهاشتاج بالتوفيق للجميع #flutterCamp_flutter_getx

ال state-management مشكلة بتقلق كتير من اللى بدئو فى فلاتر ومش بس الناس اللى بتبدأ كمان الناس اللى إشتغلت ب solution معين ومقتنع أن دة الأفضل طب أيه هو الأفضل؟ الأفضل مسألة نسبية ودايما المعيار ان إختيار الأفضل على حسب كل مهمة وكل مشكلة معينه أنت عايز تحلها فى التطبيق اللى بتبنيه واللى تعمق أو اللى تعامل مع أكتر من state-management solution عارفين أن تصنيف الأفضل فى كل شىء غير موجود لكن فى حاجة بتتميز فى جزئية معينه عن غيرها والعكس وهكذا تسير الأمور لكن لقب الأفضل على الإطلاق لا يمكن إطلاقه على أى شىء حتى لغات البرمجة وإطارات العمل ودائما سنرى التنافسية والتطوير لا يقفان عند حد معين بدون إطالة فى المقدمة لازم كنا نقول كل دة عشان محدش يقول إن الكاتب منحاز لحاجة على حساب غيرها النهاردة هنتكلم عن package مهمة جدا ومينفعش أطلق عليها مصطلح state-management solution فقط لأن أدوارها متعددة الإستخدام وميزاتها كتير GetX package انا بقول علي ال pack دى انها مميزة فعلا وتستحق الإهتمام لأسباب كتير منها على سبيل المثال وليس الحصر أنك مش محتاج تستخدم context methods ليها صيغة مختصرة خاصة بيها للتعامل مع routes غير الإفتراضية الموجودة فى إطار العمل تقدر من خلالها تعمل dynamic theme management تقدر تتعامل مع ال localization بتسهل عليك كتير فى التعامل مع dialog, bottom sheet, snack-bar وبسهولة تقدر تعمل Data sharing between screens ودايما وانت بتقرأ عنها فى المقالات الأجنبية هتشوف وصف واحد أجمع عليه الجميع GetX packages is extra-light, stable, fast, and powerful وطبعا لازم نحيي jonataslaw هو وكل من ساهم فى تطوير هذه الحزمة ونشكرهم على ال documentation الرائعة اللى لو قريتها هتتعلم كل ما يلزمك للتعامل مع ال pack pub link https://pub.dev/packages/get Github link https://github.com/jonataslaw/getx ودى بعض ال methods بإستخدام getX مقارنه بال vanilla flutter MediaQuery MediaQuery.of(context).width (vanilla) Get.width (getX) routes Navigator.push(context,NextScreen()) (vanilla) Get.to(NextScreen()) (getX) dialog showDialog(context: context, child: AlertDialog( title: Text("title"), content: Text("Hello World"), ) ); (vanilla) Get.dialog(DialogWidget()); (getX) كل ما عليك هتستبدل ال MaterialApp class ب GetMaterialApp وكدة بيتوفر ليك كتير من الميزات المختصرة فى الroutes وغيرها والنقطة دى لو أنت هتستخدم getx لحل مشكلة الstate بس فالموضوع دة إختيارى بالنسبة للجزء الخاص بالstate بيتم التعامل معاه بنفس السهولة وال pack بتوفر أكتر من أسلوب ودة عشان تضمن أن كل واحد يتعامل بالطريقة اللى تريحه مع الحفاظ برده على أنك تكتب clean code وتفصل ال ui عن business logic بمجرد إنشائك لل class ويكون extended من GetxController class كدة كل المتغيرات وال methods تقدر تأكسس عليها بسهولة من الui ومن ضمن الميزات فى getX ودة اللى بيعبر عنه الصورة اللى تحت أنها محبوبة جدا من ال devices resources لأن GetxController class بيكون extended من DisposableInterface ودة معناه أن عملية ال garbage collection من ضمن أولويات getX للحفاظ على الأداء وعدم إستهلاك موارد الجهاز بدون داعى غير طبعا أنها بتحتوى على ال methods onInit() , onClose واللى بيحلو محل initState() , dispose() in StatefulWidget يعنى بكل سهولة تقدر تستغنى عن StatefulWidget طب إدارة الحالة بتتم ازاى فى ال ui لو انت اشتغلت مع بروفايدر يبقى هتفهم GetBuilder بكل سهولة وتقدر تعمل wrapped على أى widget وساعتها هتقدر توصل بسهولة لأى متغير أو method من ال controller كل اللى عليك هتحط update() method فى أى method فى ال controller وال widget هتقدر ت listen لأى تغييرات تحصل فى method نفس إستخدام () notifyListeners وفى ال ui هتعمل wrap للويدجيت ب GetBuilder طب ولنفرض يا سيدي أنا مش عايز أشتغل بنمط ال inherited وبميل أكتر لل reactive وجاي من حاجة زى بلوك وبحب أشتغل بال streams يبقى انت كدة محتاج تشتغل بأسلوبين GetX Class أو Obx simplest syntax وللعلم دة مش تشتيت كل ما فى الموضوع أنه تعدد في الإختيارات وأنت بتشوف اللي تحب تشتغل بيه GetX الفرق بينها وبين GetBuilder أنك معاها بتتعامل مع ال streams approach وعشان كدة لازم أى متغير في controller هنتعامل معاه بالنهج دة يكون بعده .obs ودى إختصار لأنه المتغير يكون observable وبيكون شكلها كدة فى ال ui GetX<Controller>(builder:) ولو انت من هواة ال simplest syntax يبقى هتحب تستخدم Obx وموجود تحت فى صورة الأمثلة شكلها فى الإستخدام ولأن الموضوع يطول الكلام فيه وكل اللى شوفتوه دة نبذ

https://www.youtube.com/watch?v=HFGsc2GY1hc اتفضلو اخوان اتمنى تستفادون شباب انضموا الشخص مضمون

الفيديو المسجل لمحاضرة "Build responsive applications with Google Flutter" والي غطينا فيها آخر أخبار جوجل فلاتر الفترة الماضية وكذلك كيفية دعم اكثر من واجهة وحجم في نفس الوقت رابط الشرائح الي تم عرضها http://bit.ly/flutter-web-part3 رابط الكود https://github.com/dahabit/flutter-web-session3 لاتنسوا الإشتراك في القناة :)

تحب تستخدم flutter اون لاين بدون اي شي خلاص استخدم هذا الموقع https://flutlab.io/

https://www.youtube.com/watch?v=3lTLrkNBGU8 Flutter packages and widgets for creating beautiful Floating Action Button Animations ( FAB ) and Hero Animations. You can use these packages in your App to up your UI game.