الفرق بين المراجعتين ل"React/create a new react app"

من موسوعة حسوب
اذهب إلى التنقل اذهب إلى البحث
(تحديث محتوى الصفحة.)
سطر 2: سطر 2:
 
''استعمل سلسلة الأدوات المدمجة (integrated toolchain) من أجل الحصول على أفضل تجربة استخدام وتطوير.''
 
''استعمل سلسلة الأدوات المدمجة (integrated toolchain) من أجل الحصول على أفضل تجربة استخدام وتطوير.''
  
تشرح هذه الصفحة بعض سلاسل الأدوات المشهورة في React التي تساعد في مهام مثل:
+
تشرح هذه الصفحة بعض سلاسل الأدوات المشهورة في [[React]] التي تساعد في مهام مثل:
 
* تغيير حجم العديد من الملفات والمكونات.
 
* تغيير حجم العديد من الملفات والمكونات.
 
* استعمال مكتبات من طرف ثالث من npm.
 
* استعمال مكتبات من طرف ثالث من npm.
سطر 8: سطر 8:
 
* التعديل المباشر (Live-editing) على شيفرة [[CSS]] و [[JavaScript]] في البيئة التطويرية.
 
* التعديل المباشر (Live-editing) على شيفرة [[CSS]] و [[JavaScript]] في البيئة التطويرية.
 
* تحسين المخرجات للبيئة الإنتاجية.
 
* تحسين المخرجات للبيئة الإنتاجية.
لا تتطلب سلسلة الأدوات التي سيوصى باستعمالها في هذه الصفحة أي ضبط لبدء استعمالها.
+
لا تتطلب سلسلة الأدوات التي سيوصى باستعمالها في هذه الصفحة أي ضبط مسبق لبدء استعمالها.
  
== لما قد ترغب باستعمال سلسلة من الأدوات؟ ==
+
== قد لا ترغب باستعمال سلسلة من الأدوات ==
إن لم تكن لك سابق خبرة بالمشكلات التي ذُكرت آنفًا، أو لم تشعر بالراحة عند استعمال أدوات JavaScript بعد، [[React/add react to a website|أضف React كوسوم <code><script></code> مجرَّدة في صفحة HTML]] وافترض أنَّ [[React/add react to a website#.D8.A7.D8.AE.D8.AA.D9.8A.D8.A7.D8.B1.D9.8A: .D8.AC.D8.B1.D8.A8 React .D9.85.D8.B9 JSX|استعمال JSX]] أمر اختياري.
+
إن لم تكن لك سابق خبرة بالمشكلات التي ذُكرت آنفًا، أو لم تشعر بالراحة عند استعمال أدوات [[JavaScript]] بعد، [[React/add react to a website|أضف React كوسوم <code><script></code> مجرَّدة في صفحة HTML]] وافترض أنَّ [[React/add react to a website#.D8.A7.D8.AE.D8.AA.D9.8A.D8.A7.D8.B1.D9.8A: .D8.AC.D8.B1.D8.A8 React .D9.85.D8.B9 JSX|استعمال JSX]] أمر اختياري.
  
هذه الطريقة أيضًا هي أبسطة طريقة لدمج React مع صفحة ويب. يمكن في أي وقت استعمال أي سلسلة من الأدوات مهما كانت ضخمة إن وجدت أنها مفيدة.
+
هذه الطريقة أيضًا هي أبسطة طريقة لدمج [[React]] مع صفحة ويب. يمكن في أي وقت استعمال أي سلسلة من الأدوات مهما كانت ضخمة إن وجدت أنها مفيدة.
  
 
== سلسلة الأدوات المقترحة ==
 
== سلسلة الأدوات المقترحة ==
يوصي فريق React بشكل أساسي الحلول التالية:
+
يوصي فريق [[React]] بشكل أساسي الحلول التالية:
* إن كنت تتعلم React أو تريد إنشاء تطبيق بصفحة واحدة، استعمل البيئة Create React App.
+
* إن كنت تتعلم [[React]] أو تريد إنشاء [[React/glossary#.D8.A7.D9.84.D8.AA.D8.B7.D8.A8.D9.8A.D9.82 .D9.88.D8.AD.D9.8A.D8.AF .D8.A7.D9.84.D8.B5.D9.81.D8.AD.D8.A9|تطبيق ذي صفحة واحدة]]، استعمل البيئة Create React App.
 
* إن كنت تبني موقعًا يصيَّر من طرف الخادم (server-rendered website) مع Node.js، جرب استعمال Next.js.
 
* إن كنت تبني موقعًا يصيَّر من طرف الخادم (server-rendered website) مع Node.js، جرب استعمال Next.js.
 
* إن كنت تبني موقعًا ثابتًا يركز على المحتوى (static content-oriented website)، جرب استعمال Gatsby.
 
* إن كنت تبني موقعًا ثابتًا يركز على المحتوى (static content-oriented website)، جرب استعمال Gatsby.
سطر 41: سطر 41:
  
 
تعلم المزيد حول Next.js من [https://nextjs.org/learn/ الدليل الرسمي] الموجود على [https://nextjs.org موقعه].
 
تعلم المزيد حول Next.js من [https://nextjs.org/learn/ الدليل الرسمي] الموجود على [https://nextjs.org موقعه].
 +
 +
=== Gatsby ===
 +
الأداة Gatsby هي أفضل وسيلة لإشناء مواقع ويب ساكنةمع React، إذ تمكننا من استعمال مكونات React ولكن مع تصيير مخرجات HTML و CSS مسبقًا لضمان الحصول على أسرع زمن تحميل.
 +
 +
يمكنك تعلم الأداة Gatsby من [https://www.gatsbyjs.org/docs/ الدليل الرسمي] لها و[https://www.gatsbyjs.org/docs/gatsby-starters/ معرض عدة البدء].
 +
 +
=== سلاسلة أدوات ذات مرونة أكبر ===
 +
سلاسل الأدوات التالية توفر مرونةً أكبر وخيارات أكثر. ننصح المستخدمين ذوي الخبرة باستعمالها:
 +
* [https://neutrinojs.org/ Neutrino]: تدمج قوة [https://webpack.js.org/ webpack] مع بساطة الضبط المسبق الافتراضي (presets)، وتُضمِّن ضبطًا مسبقًا [https://neutrinojs.org/packages/react/ لتطبيقات React] و[https://neutrinojs.org/packages/react-components/ مكونات React].
 +
* [https://github.com/insin/nwb nwb]: أداة رائعة [https://github.com/insin/nwb/blob/master/docs/guides/ReactComponents.md#developing-react-components-and-libraries-with-nwb لنشر مكونات React من أجل npm]. [https://github.com/insin/nwb/blob/master/docs/guides/ReactApps.md#developing-react-apps-with-nwb يمكن استعمالها] لإنشاء تطبيقات React أيضًا.
 +
* [https://parceljs.org/ Paracel]: أداة سريعة لتحزيم تطبيقات الويب التي [https://parceljs.org/recipes.html#react تعمل مع React] دون أي ضبط.
 +
* [https://github.com/jaredpalmer/razzle Razzle]: هو إطار عمل تصيير من طرف الخادم ولا يتطلب أي ضبط ولكن يتسم بالمرونة أكثر من إطار العمل [[Next.js]].
 +
 +
== إنشاء سلسلة أدوات (toolchain) من الصفر ==
 +
سلسلة أدوات بناء شيفرة JavaSctip تتكون عادةً من:
 +
* '''مدير حزم''' مثل [https://yarnpkg.com/ Yarn] أو [https://www.npmjs.com/ npm]. يمكِّنك هذا المدير من الاستفادة قابلية اتساع بيئة العمل عبر تثبيت الحزم المتنوعة الموفرة من طرف ثالث وتحديثها بسهولة.
 +
* '''محزِّم''' مثل [https://webpack.js.org/ webpack] أو [https://parceljs.org/ Paracel]. يمكنك المحزم من كتابة شيفرة لوحدة وتحزيمها سويةً في حُزَمٍ صغيرة لتحسين زمن التحميل.
 +
* '''مفسر''' مثل [http://babeljs.io/ بابل] (Babel). يمكنك المفسر من كتابة شيفرة [[JavaScript]] بأحدث إصدار وتعمل في الإصدارات القديمة من المتصفحات.
 +
إن كنت تفضل إعداد سلسلة أدوات [[JavaScript]] الخاصة بك من الصفر، اطلع على [https://blog.usejournal.com/creating-a-react-app-from-scratch-f3c693b84658 هذا الدليل] الذي يعيد إنشاء بعض وظائف البيئة Create React App.
 +
 +
لا تنسَ التأكد من [[React/optimizing performance#.D8.A7.D8.B3.D8.AA.D8.AE.D8.AF.D8.A7.D9.85 .D9.86.D8.B3.D8.AE.D8.A9 .D8.A7.D9.84.D8.A5.D9.86.D8.AA.D8.A7.D8.AC|إعداد سلسلة أدواتك المخصصة من أجل الإنتاج بشكل جيد ومناسب]].
  
 
==انظر أيضًا==
 
==انظر أيضًا==
سطر 48: سطر 69:
  
 
== مصادر ==
 
== مصادر ==
* [https://reactjs.org/docs/add-react-to-a-new-app.html صفحة إضافة React إلى تطبيق جديد في توثيق React الرسمي].
+
* [https://reactjs.org/docs/create-a-new-react-app.html صفحة إنشاء تطبيق React جديد في توثيق React الرسمي].
 
[[تصنيف:React]]
 
[[تصنيف:React]]

مراجعة 17:32، 20 فبراير 2019

استعمل سلسلة الأدوات المدمجة (integrated toolchain) من أجل الحصول على أفضل تجربة استخدام وتطوير.

تشرح هذه الصفحة بعض سلاسل الأدوات المشهورة في React التي تساعد في مهام مثل:

  • تغيير حجم العديد من الملفات والمكونات.
  • استعمال مكتبات من طرف ثالث من npm.
  • الاكتشاف المبكر للأخطاء الشائعة.
  • التعديل المباشر (Live-editing) على شيفرة CSS و JavaScript في البيئة التطويرية.
  • تحسين المخرجات للبيئة الإنتاجية.

لا تتطلب سلسلة الأدوات التي سيوصى باستعمالها في هذه الصفحة أي ضبط مسبق لبدء استعمالها.

قد لا ترغب باستعمال سلسلة من الأدوات

إن لم تكن لك سابق خبرة بالمشكلات التي ذُكرت آنفًا، أو لم تشعر بالراحة عند استعمال أدوات JavaScript بعد، أضف React كوسوم <script> مجرَّدة في صفحة HTML وافترض أنَّ استعمال JSX أمر اختياري.

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

سلسلة الأدوات المقترحة

يوصي فريق React بشكل أساسي الحلول التالية:

  • إن كنت تتعلم React أو تريد إنشاء تطبيق ذي صفحة واحدة، استعمل البيئة Create React App.
  • إن كنت تبني موقعًا يصيَّر من طرف الخادم (server-rendered website) مع Node.js، جرب استعمال Next.js.
  • إن كنت تبني موقعًا ثابتًا يركز على المحتوى (static content-oriented website)، جرب استعمال Gatsby.
  • إن كنت تبني مكتبة لمكون ما أو تدمج مع شيفرة أساسية (codebase)، جرب سلاسل من الأدوات الأكثر.

البيئة Create React App

إنَّ Create React App هي بيئة مناسبة ومريحة لتعلم React، وهي أفضل طريقة لبدء بناء تطبيق جديدة ذي صفحة واحدة في React.

يضبط الأمر create-react-app البيئة التطويرية الخاصة بك، وبذلك تستطيع استعمال أحدث ميزات JavaScript، والحصول على أفضل تجربة تطوير، بالإضافة إلى تحسين تطبيقك وتهيئته للإنتاج. ستحتاج إلى الإصدار 6 من Node.js أو ما بعده والإصدار 5.2 من npm أو ما بعده على جهازك. لإنشاء مشروع جديد، نفذ ما يلي:

s

npx create-react-app my-app
cd my-app
npm start

ملاحظة: الأمر npx ليس فيه أي خطأ كتابي، إذ هو أداة تشغيل للحزم تأتي مع الإصدار 5.2 وما بعده من npm.

إنشاء تطبيق React لا يملئ فراغ الواجهة الخلفية أو قواعد البيانات. جلَّ ما يحدث هو إنشاء أنبوب بناء واجهة أمامية (frontend build pipeline)، لذا تستطيع استعماله مع أية واجهة خلفية تريد؛ على أي حال، لا تحتاج الآن إلى معرفة أي شي عن الواجهات الخلفية.

عندما تصبح جاهزًا للنشر على البيئة الإناجية، سينئ تنفيذ الأمر npm run build نسخة مبنية محسَّنة من تطبيقك في المجلد build. تستطيع تعلم المزيد حول البيئة Create React App من ملف اقرأني (README) الخاص بها ودليل المستخدم.

Next.js

يعد Next.js إطار عمل مشهور وخفيف لبناء التطبيقات الثابتة والمصيرة من طرف الخادم مع React. إنه يتضمن حلولًا غير تقليدية للتنسيق والتوجيه، ويفترض أنك تستعمل Node.js بيئةً للخادك.

تعلم المزيد حول Next.js من الدليل الرسمي الموجود على موقعه.

Gatsby

الأداة Gatsby هي أفضل وسيلة لإشناء مواقع ويب ساكنةمع React، إذ تمكننا من استعمال مكونات React ولكن مع تصيير مخرجات HTML و CSS مسبقًا لضمان الحصول على أسرع زمن تحميل.

يمكنك تعلم الأداة Gatsby من الدليل الرسمي لها ومعرض عدة البدء.

سلاسلة أدوات ذات مرونة أكبر

سلاسل الأدوات التالية توفر مرونةً أكبر وخيارات أكثر. ننصح المستخدمين ذوي الخبرة باستعمالها:

إنشاء سلسلة أدوات (toolchain) من الصفر

سلسلة أدوات بناء شيفرة JavaSctip تتكون عادةً من:

  • مدير حزم مثل Yarn أو npm. يمكِّنك هذا المدير من الاستفادة قابلية اتساع بيئة العمل عبر تثبيت الحزم المتنوعة الموفرة من طرف ثالث وتحديثها بسهولة.
  • محزِّم مثل webpack أو Paracel. يمكنك المحزم من كتابة شيفرة لوحدة وتحزيمها سويةً في حُزَمٍ صغيرة لتحسين زمن التحميل.
  • مفسر مثل بابل (Babel). يمكنك المفسر من كتابة شيفرة JavaScript بأحدث إصدار وتعمل في الإصدارات القديمة من المتصفحات.

إن كنت تفضل إعداد سلسلة أدوات JavaScript الخاصة بك من الصفر، اطلع على هذا الدليل الذي يعيد إنشاء بعض وظائف البيئة Create React App.

لا تنسَ التأكد من إعداد سلسلة أدواتك المخصصة من أجل الإنتاج بشكل جيد ومناسب.

انظر أيضًا

مصادر