˚✧Mais.✧༚ 💙
˚✧Mais.✧༚ 💙

@pr_Mais

14 تغريدة 8 قراءة Feb 02, 2023
بتجيني رسائل كتير عن "كيف ببدأ أو بطور نفسي بـ Flutter". بإذن الله رح أحاول أكتب الموضوع بمدونة، بس رح حط شوية أفكار هون من تجربتي لعلها تفيد.
أول وأهم نقطة لازم نستوعبها إن الموضوع مش Flutter وحسب، هي أداة فقط، الأهم منها هو تعلم أساسيات تطوير التطبيقات وهندسة البرمجيات.
1/n
طيب كيف ما فهمت؟
الموضوع مش سهل، وتخصص هندسة البرمجيات ليس كأي هندسة أخرى بقواعد ثابتة، بل متغير ومتجدد والحلول يلي كانت عاملة ثورة قبل 20 سنة الآن رح يضحكوا عليك لو استعملتها.
مثال: Functional programming
بوقت من الأوقات كانت هي السائدة، بس هلأ كلشي معتمد على OOP.
2/n
هون بنجي لأول موضوع مهم لازم نفهمه قبل ما نتعلم أدوات التطوير "Flutter وغيرها": Object Oriented Programming
كل أطر العمل الحديثة في تطبيقات الموبايل خاصة مبنية على لغات كائنية (ومن ضمنها Dart)، فبالتالي فهم أساس هي اللغات مهم، جداً، جداً، وعشرين خط تحت جداً.
3/n
الخطوة التالية تكون من خلال فهم بناء البرمجيات والتفكير البرمجي (بغض النظر عن اللغة)
هي طويلة وما ومافيه كورس واحد ممكن يعلمك كلشي. ما ببالغ لو قلت إنها "فن" وإله مدارس
حتى نكتسب مهارات التفكير في هيكلة وبناء البرمجيات، نحتاج ممارسة وثبات، رح اقترح بعض الكتب عن الموضوع.
3/n
من فترة قرأت بكتاب:
The Fundamentals of Software Architecture
فيه معلومات غنية، لكن لو ماعندك خلفية علوم حاسب وأساسياته رح يكون فيه أشياء كثير جديدة، شخصياً استفدت منه جداً بالتعرف على طرق مختلفة لهيكلة البرمجيات والفرق بينها وبين تطوير وتصميم البرمجيات (فعلاً فيه فرق).
4/n
طريقة أخرى تعلمت فيها أفكار مختلفة عن تصميم التطبيقات (بقصد التصميم البرمجي وليس الواجهات) هي عن طريق قراءة الأكواد والمساهمة بالمشاريع المفتوحة المصدر. كل شخص إله أسلوب وأفكاره، ومافيه قاعدة أو تصميم موحد بيمشي مع كل التطبيقات إطلاقاً! هاد فن وبيجي مع الممارسة والتدريب.
5/n
هندسة البرمجيات بتحتاج "ممارسة" مستمرة. ولهالسبب خريجي الجامعات من تخصصات الحاسب صعب يجدوا عمل مباشرة، لأنك لو اكتفيت بمنهج الجامعة بتتخرج بملف خالي من أي مشاريع.
فأفضل طريقة إني أتعلم Flutter أو غيرها (إلى جانب القراءة المستمرة) هو البحث عن فرص تدريبية ولو كانت بدون مقابل.
6/n
التدريب بيعطيك نظرة عن العالم الحقيقي ومشاكل البرمجيات. بتكتسب خبرة من أشخاص سبقوك، وأهم عنصر هو الانخراط بمشروع حقيقي.
إلى جانب التدريب، فيه طرق أخرى فعالة جداً. المساهمة بالمشاريع المفتوحة، هي ما بتحتاج إنك تبحث عن شركات، إنما فقط حساب GitHub!
7/n
قراءة الـ documentation بأهمية كل ما سبق.
الأشخاص يلي صمموا هي الأداة (ولنقل Flutter) كتبوا مستندات كاملة فيها تفاصيل دقيقة عن كيفية استعمالها! إذاً هل يوجد مكان أفضل؟
لا أذكر فعلياً آخر مرة شفت فيها كورس أو ڤيديو يوتيوب، من سنة وأكثر اعتمادي الكلي على موقع Flutter الرسمي.
8/n
أخيراً، هي بعض الكتب والمصادر يلي قرأتها وبتصفحها دورياً:
مدونة The Pragmatic Engineer فيها مقالات ومصادر ممتازة.
9/n
blog.pragmaticengineer.com
أندريا عنده كورسات، مقالات وقناة يوتيوب ومن أكثر الأشخاص يلي استفدت منهم في بداية مساري.
10/n
codewithandrea.com
مسارات التعلّم والمحتويات المطروحة في موقع Google للمطورين جداً مفيدة!
فيه مواضيع أخرى غير Flutter، مثل أندرويد، كلاود وفايربيس.
11/n
developers.google.com
قناة Flutter الرسميّة مليئة بالمحتوى التعليمي أيضاً.
12/n
youtube.com
أخيراً، تعلم أي تقنية وأداة غير مقتصر على الأداة فقط. وسع آفاقك بتعلم لغات جديدة، بالإطلاع على تقنيات أخرى، خذ من كل بحرٍ قطرة ثم اغطس في أعماق بحرٍ واحد! 🌊

جاري تحميل الاقتراحات...