خطوات تقنية | Meddean.com 📲
38K subscribers
1.32K photos
67 videos
633 files
1.97K links
*مـرحبا ➥
قنـــــــــاة "خــــطـــــــوات تــقــنــيـــة"

هذه القناة تهتم بمواضيع تختص بعالم الحاسوب وانظمة المعلومات وايضا دروس وشروحات متعلقه بالبرمجة
زورونا على موقعنا
خطوات تقنية(برمجية) | AzooTECH.com 📲
ايضاَ
ميدان التقنية | Meddean.com 📲
Download Telegram
This media is not supported in your browser
VIEW IN TELEGRAM
#الذكاء_الاصطناعي
- التعامل مع الأجهزة الذكية مثل الدرونز بلغة الإشارة 🤩

#أبتكار_خرافي
خطوات تقنية | Meddean.com 📲
#طور_نفسك
لماذا يجب عليك تعلم لغة برمجة Dart ؟

ليس سراً أنه عندما يتعلق الأمر بتطوير التطبيق من جانب العميل ، فإن Javascript هو الملك. ولكن مثل جميع لغات البرمجة ، فإن لديها أيضًا الكثير من المشاكل. إذا كنت أحد المطورين الذين لا يحبون جافا سكريبت ويبحثون عن بديل ، فيجب أن تكون لغة برمجة Dart هي خيارك الأول. إنها لغة برمجة جديدة تم تطويرها بواسطة Google في عام 2007 ، ولكن إطلاقها المستقر جاء إلى الوجود في عام 2017.


تعتبر Dart لغة برمجة جديدة تمامًا وأصبحت ذات شعبية كبيرة يومًا بعد يوم. إنها لغة قابلة للتطوير يمكن استخدامها لكتابة برامج نصية بسيطة أو تطبيقات كاملة الميزات. سواء كنت تنشئ تطبيقًا للجوّال ، أو تطبيق ويب ، أو سطر أوامر نصي ، يمكنك تنفيذ ذلك باستخدام Dart. إنها لغة سهلة ومنتجة وسريعة وقابلة للحمل تستخدم نهجًا موجهًا كليًا وجيمًا على النمط C لجعله بسيطًا وقابلًا للفهم.


1. سهلة التعلم

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


بناء الجملة في Dart بسيط ويمكن فهمه بسهولة. في حين أن اللغة جيدة التنظيم تمامًا مثل C ، فإنها تمكنت من التغلب على هذه الأخيرة من حيث البساطة.


2. Dart  تشجع على الإنتاجية

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


أحد الأشياء التي تجعل Dart لغة إنتاجية هي تركيبها. لديها بناء جملة بسيطة وموجزة. ليس بناء الجملة بسيطًا فحسب ، بل إنه أيضًا قوي بما يكفي لأداء المهام المعقدة.


العامل الرئيسي الآخر الذي يجعل Dart لغة إنتاجية هو المجموعة الكبيرة من المكتبات التي تم نشرها لها. ستوفر لك من ترميز كل وظيفة من الصفر. بدلاً من ذلك ، تحتاج ببساطة إلى استدعاء الوظائف الموجودة في المكتبة للقيام بمهام معقدة.


3. يستخدم Dart AOT و JIT Compilation

لغة برمجة Dart قادرة على تجميع كل من   (AOT) و  (JIT). على الرغم من عدم وجود هذه الميزة في جميع إطارات Dart ، إلا أنك ستجدها على Flutter (Dart framework لتطوير تطبيقات الهاتف المحمول).


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


لا تتوفر ميزة JIT في معظم لغات برمجة تطبيقات الجوّال مثل Java و C #. مع هاتين اللغتين ، يجب عليك حفظ ثم إعادة ترجمة التطبيق في كل مرة تريد أن ترى التغييرات التي أجريتها.  


4. دارت  مرنة ومحمولة

هذا هو سبب آخر لماذا يجب عليك تعلم لغة البرمجة دارت. إنها لغة مرنة للغاية. هذا يعني ببساطة أنه يمكنك تشغيله في أي مكان دون أي قيود.


يمكن تشغيل تطبيقات Dart للجوّال على أنظمة Android و iOS و Windows و MacOs وأي نظام تشغيل آخر. يمكن تشغيل تطبيقات الويب التي تم إنشاؤها بواسطة Dart على أي متصفح. كمطور ، فإن المرونة وسهولة نقل لغة البرمجة أمران مهمان. من الواضح أنك ترغب في إنشاء تطبيق يعمل على أي نظام أساسي دون أي قيود.


5. Dart مثالية للبرمجة التفاعلية

تعتبر Dart لغة مثالية للبرمجة التفاعلية. هذا هو نوع من البرمجة التي تتعامل مع تدفقات البيانات المسؤولة عن كل تغيير في البرنامج.

يمكن أن يدعم هذا النوع من البرامج المكونات التفاعلية للتطبيق مثل أدوات واجهة المستخدم. إذا كنت تنوي إنشاء تطبيق تفاعلي مكثف أو تطبيق تفاعلي ، فقد تكون Dart لغة مثالية بالنسبة لك.


6. متعددة المنصات

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


#طور_نفسك
• في عالم البرمجة دائما ما يكون هناك جديد من التقنيات و الأدوات التي تساعد المطورين لكن قليلا منها ما يبقى و يترك تاثيرا . لكن هناك تقنيات من الوهلة الأولى واضح انها وجدت لتبقى و فلاتر بلا شك ينتمي لهذه القائمة .

- ماهو فلاتر Flutter# ؟

فلاتر هو SDK من شركة جوجل مخصص لبرمجة تطبيقات الهواتف الذكية العاملة بنظام الاندرويد وال IOS و فوشيا (نظام تشغيل جديد من جوجل) حيث يركز على تجربة المستخدم و المطور في نفس الوقت و هذا لأنه يوفر إطار عمل شامل بلغة دارت مخصص لرسم الوجهات بجودة عالية و تطبيقات أصلية بأداء ممتاز و في نفس الوقت يعطي للمطور الأدوات التي تجعله يبني تطبيقات كاملة في أقل وقت .
#طور_نفسك
- فلاتر ضد بقية المنافسين في السوق ؟

طبعا سوق برمجة تطبيقات الهواتف الذكية حجمه كبير جدا و في الفترة الاخيرة ظهرت حلول تمكننا من عمل تطبيقات لكلا النظامين المشهورين الأندرويد وال IOS  بالاضافة الى الويب و سطح المكتبة و الاجهزة المدمجة في نفس الوقت و تلك الحلول تختلف تقنيا و في هذه المقارنة ساوضح لكم الاختلافات المهمة بين أكبر أربع منافسين الآن في سوق تطوير تطبيقات الهواتف الذكية و بلغة واحدة (لن تشمل المقارنة الأدوات الاصلية أي الجافا و الكوتلين للاندرويد و السويفت و السي الكائنية للـ IOS).


• المنافسة ستكون بين ريكات ناتيف و زامرن و ايونيك و فلاتر لكن يجب التنبيه إلى :

- ريكات ناتيف : يمثل أيضا الحلول الاخرى مثل ناتيف سكربت.

- زامرن : نتحدث عن زامرن فورمز لأنه الطريقة الصحيحة لكتابة مرة واحدة و نشر في كل مكان وهذا من أهم عوامل المقارنة.

- ايونيك : ممثلا لكل الحلول الهجينة المعروفة مثل كوردوفا و فون غاب.
#طور_نفسك
خطوات تقنية | Meddean.com 📲
#طور_نفسك
🔹 المقارنة حسب لغة البرمجة/التصميم : ماهي اللغة التي تستخدم لكتابة أوامر التطبيق و كيف يمكن تصميم واجهات المستخدم ؟

- ريكات ناتيف :
يتم كتابة منطق البرنامج باستخدام لغة جافا سكربت و التصميم يكون مخلوط مع HTML و CSS.

- زامرن فورمز:
يتم كتابة منطق البرنامج بلغة سي شارب و التصميم يكون ب XAML.

- ايونيك:
تجربة مشابهة تمام لبرمجة و تصميم تطبيقات الويب.

- فلاتر:
كتابة و تصميم الواجهات تكون كلها بلغة دارت.


🔹 المقارنة حسب استخدام مكونات النظام : عندما تقوم باضافة الزر كيف سيظهر على الاندرويد و كيف سيظهر على IOS ؟

 - ريكات ناتيف:
متعلق بشكل كامل بمكونات النظام و إصداره.

- زامرن فورمز:
توفر تجريد لمكونات النظام و يمكن الإجابة بنعم لأن المكونات تظهر حسب النظام.

- ايونيك:
غير متعلق بالنظام.

- فلاتر:
غير متعلق بالنظام لكن تم محاكاته.

 
🔹 سهولة التعلم : ما الذي تحتاج تعلمه لكي تبني تطبيقات كاملة باستخدام إحدى هذه التقنيات ؟

 - ريكات ناتيف:
تحتاج ان تكون لديك معرفة بتقنيات الويب الاساسية HTML+CSS+JS و من المفضل أن تكون لديك خلفية عن ريكات لكي تجد الامور اسهل في الفهم.

-زامرن فورمز:
تحتاج تعلم لغة سي شارب  و لغة التصميم XAML.

-ايونيك:
نفس الشيء تحتاج تعلم تقنيات الويب الأساسية.

-فلاتر:
تعلم لغة دارت فقط.


🔹 الترجمة : إلى ماذا يتم ترجمة تطبيقك ؟

- ريكات ناتيف:
لا يتم الترجمة يتم تشغيل الكود على جافا سكربت VM.

- زامرن فورمز:
تختلف حسب النظام فمثلا يتم ترجمتها إلى تطبيق أصلي على IOS و جافا بايت كود على الأندرويد.

- ايونيك:
يشتغل التطبيق على حاوية اي تطبيق اصلي يحتوي على متصفح مخفي.

- فلاتر:
يتم الترجمة عن طريق مترجم AOT إلى تطبيق أصلي.


🔹 الشعبية : ماهو حجم المجتمع ؟ و ماهي الشركات التي تستخدم هذه التقنيات ؟

- ريكات ناتيف:
مجتمع جافا سكربت اشهر لغة و مرتبط مع إطار العمل الغني عن التعريف رياكت و يتم استخدامه في تطبيقات كبيرة مثل فيسبوك بالاضافة لكون شركة فيسبوك خلف تطويره.

- زامرن فورمز:
يتم دعمه بواسطة مجتمع سي شارب الكبير جدا بالاضافة لانه اصبح مجاني و مفتوح المصدر بعد استيلاء مايكروسوفت عليه مما زاد شعبيته اكثر.

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

- فلاتر:
مع انه جديد في الساحة إلى أن المصدر اصبحت كثيرة ودخل في قائمة أشهر مئة مشروع على جيت هاب بالإضافة إلى تزايد شعبيته على ستاك اوفر فلو و الاهم من ذالك ان شركة جوجل خلفه و التي تتحكم بجزء كبير من سوق الأندرويد
#طور_نفسك
👍1
- ماهو الجديد في فلاتر ؟

من المقارنة السابقة نستخلص عدة افكار جديدة جاء بها فلاتر . حيث أن فلسفة فريق فلاتر هي امكانية رسم كل بكسل على الشاشة بحرية وعدم الارتباط بالنظام أي مثل الألعاب تماما و لكن العامل الذي جعل فلاتر يصل إلى ما وصل إليه الآن هو دعم مباشر من فريق آخر في جوجل و هو فريق الماتريال ديزاين لان فلاتر يوفر كل مكونات الماتريال ديزاين باصدارتها الاخيرة حتى قبل ان يحصل عليها الاندرويد بنفسه و هذا ما تم التصريح به في موؤتمر جوجل IO هذه السنة . و من الاشياء التي يوجد فيها اختلاف كبير هو طريقة فلاتر في رسم الواجهات لان فلاتر يستخدم لغة البرمجة دارت في كل شيء من أجل الكتابة و التصميم ايضا و هذا ما نناقشه في النقطة التالي ...

- لغة دارت ؟ لماذا ؟

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

- لغة دارت هي لغة برمجة كائنية التوجه و تنذ كل مفاهيم البرمجة الكائنية منها تعدد الوراثة تحت اسم mixins

- يتحكم فريق فلاتر بشكل كامل في لغة دارت لكي تناسب فلاتر في الاونة الاخيرة حصل تغير كبير على اللغة لكي تناسب فلاتر فمثلا تم جعل كلمة new "التي سيتعرف عليها مبرمج الجافا و السي شارب " كلمة اختيارية فقط لكي يتم تحسين طريقة كتابة الواجهات

ا- ثناء البرمجة تستخدم لغة دارت مترجم JIT : Just in time و التي بفضلها ظهرت خاصية الهوت ريلود و هي انه عند تغير الكود يتم ارسال فقط البايتات التي تم تغييرها بالتالي حصل التغير في برنامجك في اقل من ثانية و يبقى محافظا على حالته

- أثناء نشر التطبيق تستخدم دارت مترجم AOT : Ahead of time و الذي ينتج لنا تطبيق اصلي و بالتالي اداء رائع

- يمكن ترجمة لغة دارت الى جافا سكربت محسنة الاداء و هذا ما يجعل عمل تطبيقات ويب بفلاتر امرا ممكنا

- لغة دارت تم عملها لكي تكون سهلة لمبرمج الجافا سكربت و مبرمجي الجافا و السي شارب ايضا مثال :

بطريقة جافا سكربت
var user=['raouf','ahmed'];
List<String> user=List<String>();

- هل توجد شركات كبيرة تستخدم فلاتر الان ؟
 
نعم و من بينها جوجل طبعا و لقد نشرت جوجل صفحة فيها كل التطبيقات المشهورة التي تم عملها باستخدام فلاتر و هذا رابط الصفحة و هذه ايضا مقالة تم نشرها هذا الأسبوع حول أكبر شركات التطوير التي بدأت باستخدام فلاتر

الجمع بين تجربة المستخدم و تجربة المطور ؟
 
- لقد اشرت لهذا سابق لكن سنتحدث الان بالتفصيل :
• تجربة المطور :

تطبيقات الهواتف الذكية هي واجهة تعبر عن الفكر أو الشركة لذلك التصميم يجب ان يكون عصري و جميل و لهذا لا يجب أن تقول لا ابدا مصممك و تحصل على هذه الحرية مع فلاتر لأن لديك حرية رسم  بكسل على الشاشة

فلاتر هو عبارة عن اضافات و لست ملزما بأداة معينة مثلا فيجوال ستوديو الآن فلاتر حاليا بشكل رسمي متوفر لكل من أندرويد ستوديو + intellij idea + VS code

الهوت ريلود و الذي يجعل من دورة حياة تطوير التطبيق سريعة جدا لانك اذا قمت بتغيير ما على الكود لن تظهر لانتظاره وقتا طويلا لكي ترى النتيجة و هذا مناسب جدا للأشخاص الذين لديهم خلفية في الويب

التثبيت سهل جدا لان فلاتر عبارة عن مستودع مستضاف على القيت هاب  بالتالي التحميل و التحديث و الانتقال بين الفروع يكون عبر اوامر ال git فقط

- تجربة المستخدم:

يحصل المستخدم على تطبيق بواجهة جميلة جدا لها نفس الشكل و التجربة على كلا النظامين هذا بسبب حجم مكتبة المكونات القياسية التي يوفرها فلاتر

التطبيق الناتج يكون اصلي لذلك سيحصل المستخدم على اداء عالي اثناء الاستخدام

- هل فلاتر مناسب لك ؟

مثل كل سؤال هندس الاجابة تكون : الامر يعتمد على حالتك لكن يمكنني تسهيل الامر عليك . اذا اردت تطبيق يشتغل على عدة منصات في نفس الوقت يكون شكله جميل و ادائه ممتاز و لا يهمك ان يكون التطبيق يشبه التطبيقات الاخرى الموجودة على النضام المستهدف فلاتر مناسب لك. 

#طور_نفسك
👍1