اذهب إلى المحتوى

نذير صغير

الأعضاء
  • المساهمات

    15
  • تاريخ الانضمام

  • تاريخ آخر زيارة

  • عدد الأيام التي تصدر بها

    6

أجوبة بواسطة نذير صغير

  1. لتعريف منصة Meteor.js فهي منصة تستخدم MongoDB لقاعدة البيانات و nodeJS لبرمجة في السيرفر  و (Blaze || React || Angular) للواجهة، إضافة إلى أمور أخرى تجعل منها منصة تطويرية كاملة.

     

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

    تخيل أنك تبني موقعا مثل Google Docs بخاصية التعاون، القيام بهذا بطريقة أخرى لوحدك أمر شبه مستحيل (إن لم أقل مستحيل تماما) فأنت تحتاج إلى فريق كبير، وفريق كبير من أفضل المبرمجين لتقوم بهذا، وهذا ما سمح لغوغل ببنائه، ولكن مع Meteor تستطيع بناء تطبيق شبيه به إلى حد بسيط في أقل من يوم.

     

    التطبيقات Real-time صعبة جدا، صعبة لدرجة أن الناس تتجاهلها تماما في أغلب الوقت، ولكن Meteor قامت بجلب أفضل الأمور حول هذا الأمر وجمعها في مكان واحد، هذا يعني أمور مثل socket.io, node.js, LunaScript وما شابه من أمور في هذا المجال.

     

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

     

    مشاركة الكود مع المتصفح تجعل من البرمجة باستخدام Meteor أمر سهلا جدا، برمج وكأنك تبرمج بلغة في السيرفر ولكن باستخدام جافاسكربت، لا يوجد داعي لجلب البيانات عبر REST API و AJAX كل ما تقوم به هوو حقن المعلومات مباشرة.

     

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

  2. سيكون عليك تعلم جافاسكربت في البداية، ففهم المبادئ فيها أمر أساسي جدا.

    المرحلة الثانية هي تقدير كم من الوقت تملك وماهي قدرتك على التعلم. حاليا يوجد العديد من المصادر لـ AngularJS وهي أكثر بكثير من مصادر ReactJS هذا لأنه قبل سنة لم يكترث الكثير من الناس إلى ReactJS أما الآن فمطوروا ReactJS المحترفيين هم عملة نادرة.

    إن لم تكن تملك مشكلة في مصادر التعلم، بمعنى طالما لا تمانع قراءة الكتب وتوثيق اللغات لتعلم لغة ما فأنت للآن في مكان جيد لاختيار ReactJS لكن سيكون عليك لاحقا التضحية بالشعبية الحالية لـ angularJS مقابل الشعبية المتزاية لإطار ReactJS

    في وقت كتابة هذا الجواب، Angular تملك 42 ألف نجمة في github أما بالنسبة لReact فهي 28 ألف لكن شعبية React في تزايد مع الوقت، ومع وقت انتهائك من التعلم سيكونان في نفس المرتبة، لذا لا مشكلة هنا، الفرق سيكون كما قلنا من مصادر التعلم والإضافات.

    نقطة أخرى وهي، إن كانت لك خبرة في أيّ مكتبات أخرى مثل backbone أو ember أو knockout فتعلم React سيكون سهلا، والعكس صحيح، فهي شبيهة لهذه المكتبات، على عكس Angular التي تختلف عنهم في الكثير من الأمور، لذا الانتقال صعب في تلك الحالة.

    نقطة أخيرة أحب التنويه لها هي أنّ react تشكل جزء view فحسب من mvc بمعنى أنه إذا أردت التعامل مع بيانات خارجية فيجب عليك الاستعانة بمكتبات خارجية، مثل Flux.

    لكن React في حالة تقدم ممتاز مؤخرا، فـ facebook قدمت مؤخرا React Developer Tools وهي أداة رائعة لمساعدة التطوير ب React عبر المتصفح.

    ملاحظة أخيرة وهي أن react تكتب بواسطة JSX وهي نسخة مطورة قليلا من JS وسيكون عليك الاستعانة بمترجم لاستخدامها من المتصفح مباشرة.

    لا أحب أن يكون ردي حياديا، فالحيادية ليست مفيدة دوما، أنا أقترح عليك تعلم React ولكن أنصحك بقوة بإلقاء نظرة على كل من الإطارين وتجربة بناء شيء بسيط بهما (todo list) حتى تعرف أي واحد منهم سيساعدك أكثر

    • أعجبني 1
×
×
  • أضف...