React-native: ☂️ العجاف الأساسية

تم إنشاؤها على ٦ فبراير ٢٠١٩  ·  196تعليقات  ·  مصدر: facebook/react-native

خلال الأشهر العديدة الماضية كنا نناقش ونحرز تقدمًا في مشروع يسمى "Lean Core". يرجى قراءة دوافعنا لهذا المشروع . على مر السنين ، جمعت React Native الكثير من الأجزاء التي أصبحت الآن قديمة أو غير مستخدمة أو قديمة. حان الوقت لتنظيف كل شيء ووضع المستودع في حالة أكثر قابلية للإدارة من الآن فصاعدًا.

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

المكونات ووقت التشغيل

يأتي React Native حاليًا مع عدد كبير من المكونات ، العديد منها قديم أو قديم ولكنها لا تزال جزءًا من المستودع وتزيد من حجم التطبيقات. بالنسبة للعناصر الموجودة في هذا القسم ، فإننا إما نتطلع إلى إزالة الأشياء تمامًا إذا لم يتم استخدامها ، أو نود نقلها إما إلى مستودعات يديرها المجتمع أو إلى facebookarchive . تستند القائمة هنا جزئيًا إلى تحقيق رائع بواسطة @ ax-fb. يمكن إجراء الترحيل تقريبًا باتباع دليل @ matt-oakes أدناه: https://github.com/facebook/react-native/issues/23313#issuecomment -461462981

  • [] إزالة ImageStore (cpojer)
  • [] إزالة PushNotificationIOS (cpojer)
  • [] إزالة AsyncStorage (cpojer)
  • [] إزالة شريط التمرير (cpojer)
  • [] إزالة ProgressBarAndroid (cpojer)
  • [] إزالة ProgressViewIOS (cpojer)
  • [] إزالة MaskedViewIOS (cpojer)
  • [] إزالة ActionSheetIOS (cpojer)
  • [] إزالة ImagePickerIOS (cpojer)
  • [] إزالة Picker و PickerIOS (cpojer)
  • [] إزالة DatePickerAndroid، DatePickerIOS (cpojer)
  • [] إزالة ReactART (cpojer)

تبعيات الطرف الثالث

على مر السنين ، جمعنا قدرًا كبيرًا من التبعيات ، خاصة JavaScript. لقد نقلنا أيضًا الأشياء من React Native ، مثل Metro و React-native-cli . هذا يعني أننا تركنا قدرًا كبيرًا من تبعيات الأدوات في package.json الخاصة بنا ، والكثير منها لن تستخدمه RN نفسها ولن يتم تحديثها إلى أحدث الإصدارات ، مما يتسبب في تضخم التثبيت الكامل لـ React Native. سيكون من الرائع أيضًا إجراء تدقيق لجميع التبعيات المستخدمة وتحديد تلك التي يمكن إزالتها.

  • تبعيات جافا سكريبت

    • [] تحقق من التبعيات الكبيرة وما إذا كان يمكن تصغيرها

    • [] اكتشف التبعيات التي يمكن ترقيتها إلى أحدث إصداراتها لإصلاحات الأمان

    • [] اكتشف التبعيات التي يمكن إلغاء تكرارها (= تقليل حالات عدم تطابق الإصدار) للحصول على حجم تثبيت أصغر

  • انقل كود React الأصلي إلى التبعيات الخارجية

    • [] حدد رمز JavaScript الذي يمكن أن تقدمه حزمة جهة خارجية بشكل أفضل بدلاً من الاحتفاظ بنسخة أو تطبيقنا الخاص

هيكل المستودع

في الوقت الحالي ، يعد مستودع React Native مستودعًا كبيرًا به منظمة صغيرة تعزز فصل الاهتمامات. هدفنا كجزء من هذا الجهد هو نقل الأشياء أيضًا إلى هيكل أكثر قابلية للإدارة. كجزء من هذا ، نود اتباع نموذج monorepo يتكون من عدة حزم أصغر. سيكون هذا ترحيلًا تدريجيًا وسنقوم فقط بتتبع العمل الأولي لإنجاز هذا الأمر.

  • [] قدم إعدادًا أوليًا يعمل مع المستودع الحالي ، مع حزم متعددة ، كما أنه يلعب بشكل جيد مع إعداد Facebook الداخلي (cpojer)
  • [] TODO: تحديد المزيد من العمل الضروري في هذا المجال

العمل المنجز


انقر لمشاهدة الأعمال السابقة قبل إنشاء هذه المشكلة

Good first issue Help Wanted Ran Commands Discussion

التعليق الأكثر فائدة

أردت أن أقدم تحديثًا سريعًا للتقدم الذي أحرزه الجميع في جهود Lean Core. أريد فقط أن أقول كم أنا مندهش من كل مساهماتك في ما يزيد قليلاً عن أسبوع. شكرا جزيلا لك!

هذا هو كل العمل الذي اكتمل بالفعل:

  • تم تقسيم NetInfo (https://github.com/react-native-community/react-native-netinfo) بنجاح وإصداره على npm عبر @ reaction-native-community / netinfo بواسطة @ matt-oakes ، الذي أضاف اختبارات جديدة وميزات جديدة للوحدة!
  • تم تقسيم ViewPagerIOS (https://github.com/react-native-community/react-native-viewpager/pull/1) بنجاح بواسطةferrannp.
  • تم سحب AsyncStorage (https://github.com/react-native-community/react-native-async-storage) بواسطةKrizzu.
  • تم نقل StatusBar (https://github.com/react-native-community/react-native-statusbar/pull/1) إلى مستودع منفصل بواسطة dmtrKovalenko.
  • تم تقسيم شريط التمرير (https://github.com/react-native-community/react-native-slider/pull/1) بواسطةmichalchudziak.
  • تم تحويل MaskedViewIOS (https://github.com/react-native-community/react-native-masked-view/pull/1) إلى مستودع مجتمعي بواسطةFonDorn.
  • تم استخراج PushNotificationIOS (https://github.com/react-native-community/react-native-push-notification-ios/pull/1) بواسطةrafaellincoln.
  • تم استخراج ImageEditor (https://github.com/react-native-community/react-native-image-editor/pull/1) بواسطةTrancever.
  • أضاف EvanBacon رسالة إهمال لـ ImageStore في # 23330.
  • wellmonge اندمجت AlertIOS وتنبيه في # 23318.
  • أصدر مهندسو Callstack الإصدار الأول من React Native CLI الجديد: https://blog.callstack.io/the-react-native-cli-has-a-new-home-79b63838f0e6

أريد أيضًا أن أوضح كيف يمكن أن يؤدي استخراج هذه الوحدات إلى صيانة أفضل لتلك الوحدات ، على سبيل المثال ، أضاف @ matt-oakes اختبارات لـ NetInfo (https://github.com/react-native-community/react-native-netinfo/pull/ 4) وإضافةifsnow أنواع التدفق إلى AsyncStorage (https://github.com/react-native-community/react-native-async-storage/pull/4). من خلال فصل هذه المكونات عن React Native (و Facebook) ، يمكن أن تتحرك بشكل أسرع بشكل فردي دون أن يتم حظرها من قبل موظف Facebook. علاوة على ذلك ، نظرًا لأنه يمكننا ترحيل المشكلات الحالية وسحب الطلبات من مستودع React Native ، فسوف يسهل أيضًا الحفاظ على React Native نفسها وسنكون قادرين على الاستجابة لطلبات السحب بشكل أسرع!

هذا ما نعمل عليه أو نعمل عليه بعد ذلك:

  • إزالة الاهتزازات
  • إزالة تبعيات الطرف الثالث غير المستخدمة
  • ابدأ في ترحيل رمز Facebook الداخلي لاستخدام حزم مجتمع رد الفعل الأصلي الجديدة

مرة أخرى ، لكل من كان يساعد حتى الآن ، شكرًا لك!

ال 196 كومينتر

cpojer أود إزالة SnapshotViewIOS

مرحبًا cpojer ، شكرًا

أنا على استعداد لمعالجة بعض المشكلات ، بدءًا من نقل AsyncStorage.

سأكون سعيدًا للمساعدة في نقل NetInfo إلى الريبو المجتمعي.

هل سيكون من الأفضل إنشاء Github repo شخصيًا أولاً ثم ترحيله إلى مؤسسة مجتمع التفاعل الأصلي بمجرد أن يصبح جاهزًا ، أم يجب أن نبدأ على الفور مع الريبو في تلك المؤسسة؟

cpojer ، أود المساعدة في بعض هذه المشكلات ، هل يمكنني البدء بـ "دمج AlertIOS مع التنبيه"؟

هذا رائع! أضع الأسماء الخاصة بك بجانب العناصر أعلاه.

jdmunro هل يمكنك إرسال
Krizzu و @ matt-oakes أنشأته https://github.com/react-native-community/react-native-async-storage و https://github.com/react-native-community/react-native-netinfo بالنسبة لك لإرسال رسائل PR مع جميع الأكواد اللازمة لجعلها وحدات تابعة لجهات خارجية. من الناحية المثالية في الخطوة الأولى ، ستأخذ الكود من RN repo وتضعها في مستودعات منفصلة. من أجل التأكد من أنها تعمل ، يمكننا بعد ذلك ربطها مرة أخرى بـ RN كاعتماد وإزالة التنفيذ الأصلي. علاوة على ذلك ، يمكننا نقله بالفعل إلى حزمة اختيارية.
تضمين التغريدة لست متأكدًا تمامًا مما سيستلزمه العمل ولكن ربما يمكنك فقط التحقق من الوحدتين ومعرفة ما إذا كان بإمكانك توحيدهما؟

cpojer يمكنني المساعدة في تحريك شريط التمرير 🙂

بعد ذلك يمكنني اختيار شيء آخر إذا كنت لا تزال بحاجة إلى بعض المساعدة

تضمين التغريدة لقد أنشأت https://github.com/react-native-community/react-native-slider ، يرجى الاطلاع على تعليقي أعلاه حول ما يجب فعله بعد ذلك.

كاسم للمشروع في package.json ، يُرجى استخدام @react-native-community/<project name> ، ie. @react-native-community/slider .

cpojer يمكنني أخذ ViewPagerAndroid . أعتقد أنه من الأفضل نقله إلى الريبو المجتمعي (إذا كان بإمكانك إنشاء الريبو لي ، thx 😄) بدلاً من مجرد إزالته لأن الحزم الأخرى الموجودة حوله قد نفذت هذا السلوك على JS لنظام التشغيل iOS وهم يعتمدون على النسخة الأصلية لنظام Android.

مرحبًا cpojer ، أود المساعدة من خلال دمج وتحريك Picker و PickerIos. :)

تم إنشاء ferrannp https://github.com/react-native-community/react-native-viewpager من أجلك! انظر الرسائل أعلاه.
تضمين التغريدة لست متأكدًا تمامًا من الشكل الذي سيبدو عليه ذلك ، ولكن ربما يمكنك معرفة كيفية توحيدهم والبدء في إرسال العلاقات العامة الصغيرة للتفاعل بشكل أصلي.

هذا رائع! أضع الأسماء الخاصة بك بجانب العناصر أعلاه.

jdmunro هل يمكنك إرسال
Krizzu و @ matt-oakes أنشأته https://github.com/react-native-community/react-native-async-storage و https://github.com/react-native-community/react-native-netinfo بالنسبة لك لإرسال رسائل PR مع جميع الأكواد اللازمة لجعلها وحدات تابعة لجهات خارجية. من الناحية المثالية في الخطوة الأولى ، ستأخذ الكود من RN repo وتضعها في مستودعات منفصلة. من أجل التأكد من أنها تعمل ، يمكننا بعد ذلك ربطها مرة أخرى بـ RN كاعتماد وإزالة التنفيذ الأصلي. علاوة على ذلك ، يمكننا نقله بالفعل إلى حزمة اختيارية.
تضمين التغريدة لست متأكدًا تمامًا مما سيستلزمه العمل ولكن ربما يمكنك فقط التحقق من الوحدتين ومعرفة ما إذا كان بإمكانك توحيدهما؟

بالتأكيد! سأفعل ذلك وأبلغك بذلك.

يمكن أن تساعد في StatusBarIOS و PushNotificationIOS

cpojer هل لديك تفضيل لاسم حزمة Android؟

باستخدام NetInfo كمثال ، فهو حاليًا com.facebook.react.modules.netinfo . هل يجب أن نجعلها قياسية في جميع الوحدات المستخرجة بشيء مثل com.reactnativecommunity.modules.netinfo ؟

هل يمكنني المساعدة

  • انقل SegmentedControlIOS إلى الريبو المجتمعي
  • انقل ProgressViewIOS إلى مستودع مجتمعي

سآخذ مربع الاختيار من فضلك.


شكرا لتقديم مشكلتك. هل يمكنك إلقاء نظرة أخرى على الوصف الخاص بك والتأكد من ملء نموذج المشكلة بالكامل؟

👉 انقر هنا إذا كنت تريد إلقاء نظرة أخرى على نموذج تقرير الأخطاء.

dmtrKovalenko وضعك في وضع https://github.com/react-native-community/react-native-statusbar
يبدو مجتمع @ matt-oakes في اسم الحزمة جيدًا ولكن إذا احتفظنا بالمجموعة الحالية فأنا على ما يرام مع ذلك أيضًا.
kdenz تم إنشاؤه https://github.com/react-native-community/react-native-segmented-control لـ SegmentedControlIOS
vonovsk تم إنشاؤه https://github.com/react-native-community/react-native-checkbox لمربع الاختيار ريبو

فقط لتلخيص الخطوات التقريبية التي يجب أن نتخذها لعمليات الاستخراج:

  1. قم باستخراج الإصدار الحالي من الوحدة النمطية التي تعمل عليها وكل تبعياتها في مستودع git منفصل ، وأرسل PR إلى الذي تم إنشاؤه لمجتمع RN الخاص بك. راجع عرض الويب التفاعلي الأصلي للحصول على مثال عن كيفية عمله إذا كان يحتوي على كود أصلي.
  2. أضف تحذيرًا بالإيقاف إلى React Native باستخدام الوحدة النمطية warnOnce الموجودة بالفعل ، راجع رد فعل-native-application.js للحصول على مثال.
  3. سنقوم بعد ذلك بإغلاق جميع المشكلات / العلاقات العامة وتوجيه الأشخاص لاستخدام المشاريع والمستودعات التي تم إنشاؤها حديثًا بدلاً من ذلك.
  4. بعد إصدار أو إصدارين ، سنزيل الكود بالكامل من React Native ، وعند هذه النقطة ستعمل الوحدة الخارجية فقط.
  5. بدلاً من ذلك ، يمكننا تجربة طريقة حيث سنزيل الرمز من مستودع RN على الفور ، ولكن نضيف مستودع المجتمع الجديد كاعتماد على React Native ونبقي واجهات برمجة التطبيقات الحالية تعمل بالطريقة التي هي عليها. لست متأكدًا مما إذا كان ذلك سيعمل مع الوحدات ذات التبعيات الأصلية.

واسمحوا لي أن أعرف إذا كان لديك أي أسئلة :)

  • انقل ImageStore إلى مستودع مجتمع

أعتقد أنه يجب علينا إهمال هذا لصالح أي حل FileSystem موجود. حالة الاستخدام الأساسية هي الحصول على Base64 من صورة. كما أنه لا يحتوي على دعم android.

يا @ cpojer! أود المساعدة

  • قم بإزالة MaskedViewIOS وربما الانتقال إلى الريبو المجتمعي

أود المساعدة!
هل يمكنني العمل على

  • قم بإزالة ProgressBarAndroid من المستودع ، وربما الانتقال إلى مستودع المجتمع
    ؟

يا @ cpojer! هل يمكنني المساعدة

  • نقل التعليمات البرمجية الأصلية ActionSheetIOS إلى المعرض.

cpojer أود المساعدة ، قم بالتسجيل في Libraries / CameraRoll (مكونات ImagePickerIOS و CameraRoll)

لا يحتوي تطبيق RNTester على package.json الخاص به ، لذا فإن أي مكونات نزيلها يجب إما إزالتها من تطبيق RNTester أو يجب أن تظل في جوهرها كاعتماد. ما هو نهج RNTester فيما يتعلق بهذا التنحيف؟

cpojer يمكنني المساعدة في نقل الحافظة إلى الريبو المجتمعي :)

هل يمكنني المساعدة في هذه المهمة؟ تضمين التغريدة

  • انقل المنتقى إلى الريبو المجتمعي.

@ jainkuniya ربما يمكننا العمل معًا؟

zhaozhiming ya متأكد ، ما كنت أخطط له هو دمجها أولاً في RN repo نفسها ثم الانتقال إلى الريبو المجتمعي.

مثير للإعجاب. ماذا سيحدث لـ RNTester؟ آمل أن نتمكن من الاحتفاظ بها مع جميع المكونات.

يمكنني المساعدة في cpojer

  • انقل "مشاركة" إلى الريبو المجتمعي

أيضًا ، سيكون من المفيد جدًا أن يكون لديك نوع من القوالب المنسقة ، لذلك هناك كود أصلي مثل lib ، وهي طريقة سهلة لتطويره والمساهمة فيه.

pvinis ربما ألق نظرة على هذا الالتزام من NetInfo repo الذي أعمل عليه:

https://github.com/matt-oakes/react-native-netinfo/tree/83e96b30fda1c18f62d27ec0db61db7f56eddc1f

لا يوجد رمز NetInfo هناك حتى الآن ، ولكنه يحتوي على أجزاء Android و iOS من المكتبة ومثال على المشروع الذي يرتبط من خلاله دون الحاجة إلى package.json متداخل.

أنا الآن أخطط لنقل كود NetInfo ثم نقل أمثلة RNTester إلى مشروع example .

EvanBacon تبدو جيدة. هل تريد التسجيل لإضافة تحذير إلى RN لإيقاف ImageStore والتوصية بحل تابع لجهة خارجية؟

لقد تم إنجاز @ matt-oakes بعمل رائع مع NetInfo بالفعل ، وهذا نموذج يعكس جميع عمليات الاستخراج: https://github.com/react-native-community/react-native-netinfo/pull/1

pvinis as @ matt-oakes تقول إن كل مشروع يجب أن يكون له أمثلة خاصة به ورمز اختبار. أعتقد أنه بمجرد أن ننتهي جميعًا ، يمكننا التفكير في إنشاء مثال RNTester واحد يسحب جميع الوحدات المستخرجة الأكثر استخدامًا ويجمعها معًا في تطبيق واحد.

VirtualizedList باقٍ ، أليس كذلك؟ لقد رأيته من قبل في القائمة ولكني أرى أنه لم يعد كذلك.

مرحبًا cpojer يمكنني الاهتمام بنقل

مرحبًا cpojer ، أود العمل على هذا

  • حدد جميع التبعيات في package.json التي لا تُستخدم مباشرةً في React Native

@ matt-oakes كيف تخطط لاختبار أو المساعدة في تطوير هذا الليب؟ نحتاج إلى مشروع يتضمن lib ، يمكن تحديثه بسهولة / التخلص منه وإعادة إنشائه أو شيء من هذا القبيل.

سيكون من السهل على الآخرين بهذه الطريقة أن يساهموا. يمكن أن يكون تطبيقًا "مثالًا" ، ولكن في رأيي ، فإن التطبيق "مثال" هو لإظهار كيفية استخدام lib ، حيث يكون تطبيق "dev" حيث يمكن تطوير lib واختباره وما إلى ذلك.

أي أفكار لذلك؟

brunolemos نعم إنه كذلك ، آسف

Trancever لقد أنشأت https://github.com/react-native-community/react-native-image-editor لتتمكن من إرسال علاقات عامة ضدك!
@ nimish-gupta هذا رائع! هل يمكنك إجراء التحليل وإنشاء قضية منفصلة تناقش التبعيات غير المستخدمة ؛ أو إرسال طلب سحب مع تفسيرات واضحة حول سبب إمكانية إزالتها (على سبيل المثال ، لا يمكن العثور عليها وما إلى ذلك)
pvinis نحن نناقش حاليًا ما إذا كان من المنطقي إنشاء سقالة. حتى نحصل على ذلك ، استند عملك إلى الهيكل في https://github.com/react-native-community/react-native-webview أو https://github.com/react-native-community/react-native -Netinfo هو الأكثر منطقية بالنسبة لي.

مرحبًا cpojer لمشروع PickerIOS و Picker ، أخطط للذهاب مع الخطوات التالية:

  • أضف warning في PickerIOS ، حيث تم إهماله وستتم إزالته في إصدار لاحق.
  • بعد الإصدار ، قم بإزالة PickerIOS من RN .

في غضون ذلك ، يمكننا نقل Picker إلى الريبو المجتمعي.

اقتراحات؟

@ jainkuniya أعتقد أن الفكرة جيدة ولكن ضع في اعتبارك أن Picker يستخدم PickerIOS تحت الغطاء. أعتقد أنه سيكون من الأفضل لو تمكنا من التخلص من PickerAndroid و PickerIOS وبدلاً من ذلك نكشف فقط Picker ، ما رأيك؟ تعمل الكثير من المكونات الأخرى بهذه الطريقة بالفعل.

لإعطاء الناس فكرة عن العملية التي مررت بها لنقل كود NetInfo:

1) استخدمت مكتبة create-reaction-native لإنشاء السقالات: npx react-native-create-library --platforms ios,android --package-identifier com.reactnativecommunity.netinfo --prefix RNC --license MIT netinfo
2) إنشاء مثال لمشروع عن طريق تشغيل react-native init NetInfoExample في جذر مشروع المكتبة الجديد. ثم أعدت تسمية المجلد الذي تم إنشاؤه إلى example .
3) إزالة example/package.json ونقل التبعيات والنصوص إلى الجذر package.json . لقد قمت أيضًا بنقل بعض الملفات الأخرى التي تم إنشاؤها مثل babel.config.js إلى جذر المشروع.
4) تم تحديث المراجع إلى مكتبات React Native في أمثلة ملفات Android gradle ومشروع Xcode. كان إجراء بحث واستبدال لـ ../node_modules/react-native واستبداله بـ ../../node_modules/react-native كافياً.
5) تم تحديث المسار إلى اسم الوحدة الرئيسية في MainApplication.java و AppDelegate.m من index إلى example/index .
6) تمت إضافة الوحدات النمطية babel-plugin-module-resolver وتهيئتها على هذا النحو
7) ربط مشروع المكتبة يدويًا بالمثال الأول. هذا مشابه جدًا لكيفية القيام بذلك عادةً ، ولكن المسار على Android في settings.gradle سيكون فقط ../../android ( مثل هذا ).
8) قمت بعد ذلك بنقل ملفات الشفرة الأصلية ، وأعدت تسميتها ببادئة RNC (React Native Community) بدلاً من RCT القديمة. لقد وضعت كود Javascript في js وغيرت مسار الفهرس في package.json .
9) قمت بعد ذلك بنقل الأمثلة من RNTester إلى مشروع example وقمت بترتيب الكود قليلاً. لا تتردد في الحصول على ملف example/index.js كطريقة لاحتواء الأمثلة التي تنسخها من RNTester. إنه مجرد غلاف خفيف الوزن كما كان في RNTester في الأصل.
10) لقد قمت بترتيب المشروع قليلاً لجعله يطابق كيفية إعداد عرض الويب التفاعلي الأصلي . كانت التغييرات الرئيسية حول ملفات Android gradle.

نأمل أن يساعد ذلك الناس :)

pvinis أعتقد أن هناك الكثير من التقاطع بين توضيح كيفية استخدام المكتبة للأشخاص والمساعدة في التطوير ، خاصةً عندما تكون مساحة السطح صغيرة مثل NetInfo. يحقق example في المشروع إلى حد كبير كلا الغرضين في نفس الوقت.

بالنسبة للاختبار الآلي ، لم أقم بدراسة الأمر بشكل كامل حتى الآن ، ومع ذلك ، فقد استخدمت سابقًا Jet (استنادًا إلى أعلى برنامج التخلص من السموم واستخدمه react-native-firebase ) لإجراء اختبار شامل باستخدام

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

شكرا على التفاصيل. :)

يبدو أيضًا أن cpojer SnapshotViewIOS يُستخدم داخليًا في بعض اختبارات تكامل iOS. يتوفر فقط إذا قمت بالارتباط بالوحدة الأصلية RCTTest . الاستخدام هنا: https://github.com/facebook/react-native/blob/master/RNTester/js/RNTesterApp.ios.js#L180

هل نقوم فقط بإزالة SnapshotViewIOS من تصدير RN العام ، أي يجب أن يظل متاحًا بشكل خاص للاستخدام التجريبي؟

كان هناك بعض النقاش حول كيفية الاحتفاظ بمحفوظات الملفات التي يتم استيرادها. لقد وجدت هذا الدليل مفيدًا حقًا وسمح لي بالقيام بذلك لوحدة NetInfo:

https://stosb.com/blog/retaining-history-when-moving-files-across-repositories-in-git/

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

#!/bin/bash

mkdir -p combined/

# Pipe output to silence "file not found" warnings.
mv ReactAndroid/src/main/java/com/facebook/react/modules/netinfo/NetInfoModule.java combined/ 2>/dev/null
mv Libraries/Network/RCTNetInfo.h combined/ 2>/dev/null
mv Libraries/Network/RCTNetInfo.m combined/ 2>/dev/null
mv Libraries/Network/NetInfo.js combined/ 2>/dev/null

true

يجب أن تضع هذا الملف في مكان ما خارج المستودع.

ستحتاج بعد ذلك إلى تشغيل هذه الأوامر:

git fetch origin --unshallow
git checkout -b history
git filter-branch -f --prune-empty --tree-filter ~/treefilter.sh @
git filter-branch --prune-empty -f --subdirectory-filter combined

سيستغرق الأمر filter-branch بعض الوقت وسيستخدم البرنامج النصي لنقل جميع الملفات التي تهتم بها إلى مجلد واحد. يجب أن يكون الأمر الثاني سريعًا إلى حد ما وسينقل الملفات من المجلد الجديد إلى الجذر ثم يحتفظ فقط بالالتزامات التي تغير أيًا من الملفات التي تريد الاحتفاظ بها.

يمكنك بعد ذلك الحصول على سجل مثل هذا: https://github.com/react-native-community/react-native-netinfo/commits/master

مرحبًا ، cpojer أحب العمل عليه

  • انقل ProgressViewIOS إلى مستودع مجتمعي

شكرا لك

ملاحظة حول إحضار polyfill:

أزل إحضار polyfill من الريبو وأعد استخدام whatwg-fetch مباشرة إن أمكن

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

cpojer ، نقل "Share" إلى مستودع

يرجى إلقاء نظرة على هذا الفرع (سأحذف هذا الريبو بمجرد أن نحصل على ريبو مجتمع جديد)

ملاحظة حول إحضار polyfill:

أزل إحضار polyfill من الريبو وأعد استخدام whatwg-fetch مباشرة إن أمكن

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

نظرًا لأنني بحاجة إلى دعم AbortController.Signal ، كنت أبحث في إجراء تحديث على polyfill المتشعب. هل هذا يتناسب مع مستقبل جلب polyfill داخل اللب؟

cpojer أود العمل على PushNotificationIOS.

cpojer يمكنني المساعدة

  • انقل ImageEditor إلى مستودع مجتمع

شكرا!

تم إنشاء @ nicholaslee119 https://github.com/react-native-community/react-native-progress-view من أجلك. تحقق من التعليقات أعلاه حول كيفية إحراز تقدم.
Ansalibrahim نقطة جيدة. تم إنشاؤه https://github.com/react-native-community/react-native-simple-share من أجلك. الرجاء ارسال العلاقات العامة هناك!
rafaellincoln تم إنشاؤه https://github.com/react-native-community/react-native-push-notification-ios لكي تعمل عليها.
dratwasTrancever بالفعل، لذلك يرجى العمل معه على إعادة الشراء التي تم إنشاؤها لذلك.
@ Jyrno42 هل يمكننا الترقية إلى

cpojer آسف لم أر أن Trancever موجود عليه.
يمكنني الحصول على Move ImageStore to a community repo إذا لم يتم أخذها بالفعل أو Move ImagePickerIOS to a community repo

هل يمكن لأي شخص أن يخبرني لماذا ستتم إزالة AsycnStorage و PushNotificationIOS؟ أعتقد أن هذين الأمرين يستخدمهما الكثير من التطبيقات ، لذا ربما يمكننا نقلهما إلى المجتمع بدلاً من الإزالة فقط؟

يستخدم PushNoticationIos بشكل خاص من قبل الكثير من الناس. أنا أستخدم https://github.com/zo0r/react-native-push-notification الذي يستخدم PushNotificationIos. هل يوجد بديل أفضل لا أعرفه؟

لم تتم إزالة vdlindenmark AsyncStorage ، ولكن تم نقله إلى المجتمع

أود أن أغتنم Picker !!!

إذا لم يتم أخذ Move ImagePickerIOS to a community repo بالفعل ، فسأساعد بكل سرور 😄

مرحبًا cpojer لقد قدمت # 23359 لدمج PickerIOS و Picker . من فضلك اعد النظر :).

يجب تثبيت هذه المشكلة 📌

العلاقات العامة لشريط الحالة https://github.com/react-native-community/react-native-statusbar/pull/1

dratwas أنا آسف ، لقد ImageStore بالكامل نظرًا لوجود خيارات خارجية متاحة بالفعل كما هو موضح بواسطةEvanBacon. هل تريد التطوع لوحدة أخرى؟
vdlindenmark كما يشير ستظل كلتا الوحدتين في وحدات المجتمع.
Keraito لقد أنشأت https://github.com/react-native-community/react-native-image-picker-ios لتتمكن من إرسال العلاقات العامة إليه.
تضمين التغريدة شكرا على اقتراحك.

cpojer أتساءل عما إذا كنتم قد AccessibilityInfo إلى الريبو المجتمعي.

لا أعرف ما إذا كان يمكن أن يعيش بعيدًا عن الجوهر ، لكني أرى فائدة زيادة دعم إمكانية الوصول على React-Native.

هناك بالفعل بعض المقترحات لزيادة دعم إمكانية الوصول في طبقة العرض وجعلها أكثر عبر الأنظمة الأساسية (https://github.com/react-native-community/discussions-and-proposals/pull/56 ، https: // github.com/react-native-community/discussions-and-proposals/pull/55 ، https://github.com/react-native-community/discussions-and-proposals/pull/54) ، لكن شيئًا لا تفعله RN لا يتوفر حاليًا ، وليس هناك مشكلة أو اقتراح بخصوص ذلك ، هو الوصول إلى تفضيلات a11y لبعض المستخدمين على مستوى نظام التشغيل. على سبيل المثال: لا توجد طريقة للحصول على خيار "تقليل الحركة" ، وهو أمر ضروري لتكييف التطبيق عن طريق تقليل / إيقاف تشغيل الرسوم المتحركة .

أعتقد أن هذه الخيارات التي يوفرها UIAccessibility على iOS (لا أعرف ما يعادله على Android) يمكن أن تكون متاحة من AccessibilityInfo .

ويمكن أن يؤدي وجود ريبو مجتمعي إلى جذب المزيد من المساهمات لهذه المشكلة بالذات.

شكرا لك.

cpojer لا يمكنني رؤية أي وحدة نمطية غير مخصصة ، لذا سأتحدث مع

  • انقل ImageEditor إلى مستودع مجتمع

elucaswork تعد إمكانية الوصول مهمة للغاية وأعتقد أنها يجب أن تكون جزءًا من React Native نفسها. يجب أن نفعل كل ما في وسعنا لتحسين دعم إمكانية الوصول في React Native خارج الصندوق.
dratwas يبدو جيدا!

  • انقل المنتقى إلى الريبو المجتمعي.

cpojer هل يمكنني بدء هذه المشكلة؟

شيء لا توفره شركة RN في الوقت الحالي ، وليس هناك مشكلة أو اقتراح بخصوصه ، هو الوصول إلى تفضيلات a11y لبعض المستخدمين على مستوى نظام التشغيل. على سبيل المثال: لا توجد طريقة للحصول على خيار "تقليل الحركة" ، وهو أمر ضروري لتكييف التطبيق عن طريق تقليل / إيقاف تشغيل الرسوم المتحركة .

أعتقد أن هذه الخيارات التي يوفرها UIAccessibility على iOS (لا أعرف ما يعادله على Android) يمكن أن تكون متاحة من AccessibilityInfo .

كنت أتساءل اليوم فقط عن كيفية قراءة خيار "تقليل الحركة" في React Native ، ولكن يبدو أنه لم يتم تنفيذه.

ما هي أفضل طريقة لتقديم طلب ميزة والحصول على بعض الوضوح له؟ هل لا يزال https://react-native.canny.io/feature-requests المنتدى المفضل لطلبات الميزات؟

ماذا يجب أن نفعل بـ VibrationIOS ؟ تم وضع علامة على أنه مهمل لصالح Vibration منذ آذار (مارس) 2016 . يبدو أنه مرشح سهل للإزالة.

hramos اقتراح عظيم! سأعتني بإزالة ذلك.

cpojer لقد لاحظت أنه لم يتم تعيين Picker / PickerIOS لأي شخص. أود العمل عليها أيضًا ، إذا كان ذلك ممكنًا.

مرحبًا rafaellincoln ، بالنسبة إلى لدمجها أولاً في RN repo نفسها ثم نقلها إلى الريبو المجتمعي. للدمج ، قدمت PR # 23359

أردت أن أقدم تحديثًا سريعًا للتقدم الذي أحرزه الجميع في جهود Lean Core. أريد فقط أن أقول كم أنا مندهش من كل مساهماتك في ما يزيد قليلاً عن أسبوع. شكرا جزيلا لك!

هذا هو كل العمل الذي اكتمل بالفعل:

  • تم تقسيم NetInfo (https://github.com/react-native-community/react-native-netinfo) بنجاح وإصداره على npm عبر @ reaction-native-community / netinfo بواسطة @ matt-oakes ، الذي أضاف اختبارات جديدة وميزات جديدة للوحدة!
  • تم تقسيم ViewPagerIOS (https://github.com/react-native-community/react-native-viewpager/pull/1) بنجاح بواسطةferrannp.
  • تم سحب AsyncStorage (https://github.com/react-native-community/react-native-async-storage) بواسطةKrizzu.
  • تم نقل StatusBar (https://github.com/react-native-community/react-native-statusbar/pull/1) إلى مستودع منفصل بواسطة dmtrKovalenko.
  • تم تقسيم شريط التمرير (https://github.com/react-native-community/react-native-slider/pull/1) بواسطةmichalchudziak.
  • تم تحويل MaskedViewIOS (https://github.com/react-native-community/react-native-masked-view/pull/1) إلى مستودع مجتمعي بواسطةFonDorn.
  • تم استخراج PushNotificationIOS (https://github.com/react-native-community/react-native-push-notification-ios/pull/1) بواسطةrafaellincoln.
  • تم استخراج ImageEditor (https://github.com/react-native-community/react-native-image-editor/pull/1) بواسطةTrancever.
  • أضاف EvanBacon رسالة إهمال لـ ImageStore في # 23330.
  • wellmonge اندمجت AlertIOS وتنبيه في # 23318.
  • أصدر مهندسو Callstack الإصدار الأول من React Native CLI الجديد: https://blog.callstack.io/the-react-native-cli-has-a-new-home-79b63838f0e6

أريد أيضًا أن أوضح كيف يمكن أن يؤدي استخراج هذه الوحدات إلى صيانة أفضل لتلك الوحدات ، على سبيل المثال ، أضاف @ matt-oakes اختبارات لـ NetInfo (https://github.com/react-native-community/react-native-netinfo/pull/ 4) وإضافةifsnow أنواع التدفق إلى AsyncStorage (https://github.com/react-native-community/react-native-async-storage/pull/4). من خلال فصل هذه المكونات عن React Native (و Facebook) ، يمكن أن تتحرك بشكل أسرع بشكل فردي دون أن يتم حظرها من قبل موظف Facebook. علاوة على ذلك ، نظرًا لأنه يمكننا ترحيل المشكلات الحالية وسحب الطلبات من مستودع React Native ، فسوف يسهل أيضًا الحفاظ على React Native نفسها وسنكون قادرين على الاستجابة لطلبات السحب بشكل أسرع!

هذا ما نعمل عليه أو نعمل عليه بعد ذلك:

  • إزالة الاهتزازات
  • إزالة تبعيات الطرف الثالث غير المستخدمة
  • ابدأ في ترحيل رمز Facebook الداخلي لاستخدام حزم مجتمع رد الفعل الأصلي الجديدة

مرة أخرى ، لكل من كان يساعد حتى الآن ، شكرًا لك!

تضمين التغريدة

  • إزالة التبعيات غير المستخدمة
  • حدد جميع التبعيات في package.json التي لا تُستخدم مباشرةً في React Native

يتم إكمال المهام أعلاه باستخدام PRs # 23428 و # 23467

تضمين التغريدة

  • إزالة SwipeableList

العنوان في # 23484 ، يمكنه إزالة ListView أيضًا إذا أردت.

FWIW ، تعتمد CameraRoll على ListView. ربما يكون نقله أولاً مفيدًا في إزالة ListView.

FWIW ، تعتمد CameraRoll على ListView. ربما يكون نقله أولاً مفيدًا في إزالة ListView.

يبدو أن ملف CameraRollView في RNTester هو الشيء الوحيد الذي يستخدم ListView في ReactNative. ربما يكون من الجيد القيام بعلاقات عامة لمبادلة ذلك بـ FlatList لكسر تلك التبعية. يسعدني قبول ذلك إذا حدث ذلك قبل سحب CameraRoll تمامًا

عند مقارنتها بالإصدارات الأخرى ، يتم زيادة الحجم وهي نقطة أساسية ، لذا هل هناك أي طريقة لتقليل الحجم في التفاعل الأصلي 0.58.4 ، فقط لصفحة واحدة استغرق الأمر 18 ميجابايت
فيما يلي تبعياتي
"react": "16.6.3", "react-native": "0.58.4", "react-native-elements": "^1.0.0", "react-native-gesture-handler": "^1.0.15", "react-native-vector-icons": "^6.3.0", "react-navigation": "^3.2.3"

رأيت أنه تمت إزالة navigatorIos من 0.59 rn. تساءلت عما إذا كان هناك بالفعل حزمة مجتمعية لها؟ تضمين التغريدة

cpojer يمكنني العمل على هذا ، إذا لم يبدأ أي شخص العمل على هذا

  • أزل إحضار polyfill من الريبو وأعد استخدام whatwg-fetch مباشرة إن أمكن

@ nimish-gupta جربها! قد يكون هناك بعض المشاكل ، لكن يمكننا مناقشة ذلك في العلاقات العامة ونرى كيف ستسير الأمور. قد لا يكون من الممكن القيام بذلك ، ولكن دعنا نحاول ونرى إلى أي مدى يمكننا الوصول.

cpojer أتساءل عما إذا كان KeyboardAvoidingView مفيدًا بدرجة كافية لإبقائه في الصميم.
هل فكرت يا رفاق في إزالته أيضًا لإعطاء مساحة لحلول أكثر قوة مثل https://github.com/APSL/react-native-keyboard-aware-scroll-view ، أم أنه من المفيد جدًا الاحتفاظ بها في جوهر ؟

elucaswork نحن في الواقع نستخدم ذلك كثيرًا بشكل مفاجئ في FB ، لذلك أتوقع أننا سنواصل الحفاظ عليه لفترة من الوقت. ربما يمكننا مناقشة نقله إلى ريبو منفصل بعد أن ننتهي من العمل المحدد حاليًا في إطار هذا المشروع.

عمل رائع هنا. ومع ذلك ، كنت أحاول استخدام NetInfo و AsyncStorage ويبدو أنهما ينقصان ملفات podspec . cpojer ، أعتقد أن الكثير منا يستخدم Pods ، ألا يجب أن نجعله نوعًا من المعايير مع الحزم الأصلية التي تحتوي على أكواد iOS الأصلية؟

عمل رائع هنا. ومع ذلك ، كنت أحاول استخدام NetInfo و AsyncStorage ويبدو أنهما ينقصان ملفات podspec . cpojer ، أعتقد أن الكثير منا يستخدم Pods ، ألا يجب أن نجعله نوعًا من المعايير مع الحزم الأصلية التي تحتوي على أكواد iOS الأصلية؟

يبدو أن هذه الأنواع لها أنواع فرعية في ملف React Native podfile والتي ربما تحتاج إلى إضافتها إلى المستودعات الجديدة: https://github.com/facebook/react-native/blob/master/React.podspec#L301 -L304

تضمين التغريدة لقد فتحت PR لإضافة Podspec إلى NetInfo repo الجديد:

https://github.com/react-native-community/react-native-netinfo/pull/17

cpojer في تجربتي KeyboardAvoidingView غير مستقر حقًا ، ربما هذه فرصة جيدة لتحسينها إذا كانت ستبقى في الصميم ؟؟

أود أن أقترح إيقاف العمل بـ ART لصالح react-native-svg .

justDanielMata نعم ، أعتقد بالتأكيد أنه يجب تحسينها إذا بقيت في جوهرها ، ولكن يجب التعامل مع ذلك في مناقشة مختلفة.
EvanBacon سأناقش هذا مع الفريق وأعود إليك.

إزالة WebView من RN repo

أنا سعيد لأخذ هذا

ericlewis للأسف أنه لا يمكن القيام بذلك إلا من جانب FB لأننا ما زلنا نعتمد عليه داخليًا.

تمت إزالة NavigatorIos من react-native ، cpojer ، react-native-community ؟ أريد إعادته مرة أخرى ، إذا كان هذا جيدًا

لدي نسخة العمل هنا
https://github.com/michaelknoch/react-native-navigator-ios

sijad (لمعلوماتك: لم أصلح أي استيراد لنوع التدفق المعطل)

sijad نود فقط وضع المكونات في react-native-community التي ما زلنا نوصي باستخدامها. المكونات التي نخرجها من React Native كجزء من Lean Core أعلاه كلها مكونات جيدة لاستخدامها في تطبيقاتك. NavigatorIOS ليس شيئًا نريد أن يستمر الناس في استخدامه حيث نوصي بحلول التنقل الأخرى. ومع ذلك ، يبدو أن michaelknoch أخذ على عاتقه الحفاظ عليه ، لذلك أوصي باستخدام هذا الإصدار حتى يمكنك الانتقال إلى شيء آخر.

ولكن لماذا تنصح بعدم استخدام الملاح؟ هل تعتقد أن أداء التنقل المستند إلى JS (التنقل في رد الفعل) سريع بما يكفي بحيث لم يعد التنقل الأصلي إلزاميًا بعد الآن؟
تضمين التغريدة

michaelknoch على العكس من ذلك ، نوصيك بالتأكيد باستخدام حل تنقل محلي. يحدث فقط أن NavigatorIOS كان نظام تنقل قديمًا لم نعد نستخدمه في Facebook. في الوقت الحالي ، نستخدم نظام التنقل الأصلي المخصص الخاص بنا على Facebook والذي للأسف ليس مفتوح المصدر. نوصي الأشخاص باستخدام https://github.com/wix/react-native-navigation.
kdenz رائع ، سوف أتحقق من ذلك!

cpojer أكملت للتو ترحيل SegmentedControlIos وإضافة تطبيق مثال.

  • تم اختبار المكون وكل شيء يعمل بشكل جيد في مشروع RN جديد.
  • تم إصداره إلى npm .

أكمل cpojer نقل Clipboard-Api من إصدار RN الأساسي إلى إصدار المجتمع وإضافة تطبيق مثال لاختبار كل شيء.

  • تم اختبار المكون وكل شيء يعمل بشكل جيد في مشروع RN جديد.
  • تم إصداره إلى npm .

cpojer لقد بدأت مؤخرًا في رد فعل أصلي ، لكن يمكنني المحاولة

  • نقل "TestModule" الأصلي إلى RNTester

إذا لم يتم حلها بالفعل!

cpojer ماذا عن مكون نخب؟ أعتقد أنه يجب إهماله الآن وإزالته لاحقًا.
الأسباب:

  1. Toast هو مجرد نوع / نمط آخر من الإشعارات ، وهناك العديد من أنواع مكونات الإشعارات
  2. لا يوجد سوى تطبيق Android
  3. هناك الكثير من مكونات "الخبز المحمص" التي يحتفظ بها المجتمع https://github.com/search؟q=react+native+toast وهي متعددة الأنظمة الأساسية

ما رأيك في ذلك؟

أنا مهتم بالحفاظ على TabBarIOS وإثباته / مستقبليًا. أشعر أنها قيمة للغاية ، جنبًا إلى جنب مع NavigatorIOS ، كحل خفيف الوزن مع إمكانية وصول من الدرجة الأولى.

إذا كان الرأي العام هو أنه لا ينبغي أن يكون ضمن مجتمع التفاعل الأصلي ، نظرًا لأنه مثل NavigatorIOS تم إيقافه بالفعل ، فسأفعل ذلك من خلال حسابي الخاص ولكنني أفضل ذلك تحت مظلة المجتمع.

هل كان هناك سبب للإهمال بخلاف عدم استخدامه داخل Facebook وهو iOS فقط (وهذا سبب وجيه)؟

لدي نسخة عمل هنا: https://github.com/michaelknoch/react-native-tabbar-ios

تضمين التغريدة

مرحبًا ، أنقل الرمز الأصلي ActionSheetIOS إلى المعرض. يرجى التحقق من 🙇
https://github.com/expo/react-native-action-sheet/pull/105

كنت أحاول العثور على مكان استخدام react-clone-referenced-element ، لكن بدون حظ. هل فاتني شيء؟ أنا جديد في المشاركة والتفاعل مع قاعدة التعليمات البرمجية الأصلية ، لذا آسف إذا كان سؤالًا غبيًا.

Rendfold أنت لا تفتقد شيئًا ، كنت أتساءل عن نفس الشيء بالضبط.

إليك الالتزام ذي الصلة الذي تمت إضافته فيه: https://github.com/facebook/react-native/commit/665954efcc4460839d00a572be84cf204a42c0d5

يبدو أنه لإرضاء التبعية الآن بعد إزالة ListView. أعتقد أن هذا يستخدم فقط داخل Facebook أيضًا.

ericlewis تم تحديثه هناك ، ولكن لم تتم إضافته لذلك ذهبت إلى أبعد من ذلك. اضطررت للذهاب إلى 2016 تلتزم للعثور على المكان الذي كانت فيه eaba2abc0b76f9a26703c87eecf4a8bb52f9ed3e
لكن نعم ، لقد كنت على حق ، إنه من أجل ListView.

cpojer كنت DrawerLayout / DrawerLayoutAndroid مقابل # 23730 ويبدو الأمر منعزلاً للغاية.

هل سيكون مرشحًا جيدًا للاستخراج أيضًا؟ أنا سعيد لأخذ ذلك على عاتقي.

لقد لاحظت أنه من بين الوحدات المذكورة هنا ، فقط تخزين التفاعل الأصلي غير المتزامن والتفاعل الأصلي-netinfo لديهم اختبارات e2e لكلا النظامين الأساسيين ، كما أن

لقد بحثت مؤخرًا في اختبار e2e لـ رد فعل أصلي-svg باستخدام التخلص من السموم ، وقمت بإعداده على travis و bitrise:
https://travis-ci.org/msand/react-native-svg-e2e/builds
https://app.bitrise.io/app/1a150b039e9b8fbd#/builds

لقد قمت بأخذ لقطات شاشة على كل من iOS و android ، واختبار إعداد مشروع جديد في تفاعل عادي أصلي لكليهما ، بالإضافة إلى cocoapods لنظام iOS.

ليس لدي وصول إلى إعداد bitrise لـ رد فعل- أصلية- svg repo ، @ cpojer ؟ أم يجب علي ترحيل اختبارات e2e إلى circleci بدلاً من ذلك؟ يبدو أن محاكي android لديه حق الوصول إلى kvm / التسريع هناك على أي حال.

يتطلب جعله يعمل بدون kvm على travis و bitrise أحدث محاكي canary والعديد من المحاولات للعثور على تكوين يعمل ، لأنهم لا يدعمون التسارع. على أي حال ، في حالة اهتمام بعض الوحدات الأخرى بإعداد e2e في مكان آخر غير Circleci ، فقد يكون هذا الريبو مفيدًا: https://github.com/msand/react-native-svg-e2e

خارج الموضوع: إذا كان شخص ما مهتمًا بالمساعدة في اختبار response-native-svg ، فسيكون من الرائع الحصول على نص / تطبيق لتشغيل الاختبارات من هنا: https://github.com/web-platform-tests/ wpt / شجرة / رئيسي / svg
ربما يمكنك استخدام https://github.com/kristerkari/react-native-svg-transformer لتحميل ملفات svg كما هي ، ومن ثم ستكون خطوة المقارنة مع لقطات الشاشة مفيدة حقًا.

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

إذا قمت بالعرض على قماش الرسم باستخدام ART في الويب ، فقد يكون أسرع من svg أيضًا ، اعتمادًا على حالة الاستخدام ؛ الملف الشخصي للعثور على النقاط الفعالة / الاختناقات الفعلية الخاصة بك قبل بذل الجهد في هذا النوع من التحسين ، وإجراء قياسات A / B مناسبة مع إحصائيات حول البيانات الكافية إذا قمت بذلك. وإذا كان لديك رمز موجود باستخدام ART ، فمن المحتمل أن تبقى كما هي. ولكن ، بالنسبة إلى الكود الجديد ، من المحتمل أن أوصي باستخدام معيار التوافق svg وكتابته بطريقة متوافقة مع الويب (تفاعل - أصلي -) (ما لم يكن بحاجة إلى مستوى أداء canvas / webgl) سيتم تضمين تطبيق index.web.js للتوافق في الإصدار التالي التالي الخاص ببرنامج response-native-svg لهذا الغرض أيضًا.

كنت أتساءل اليوم فقط عن كيفية قراءة خيار "تقليل الحركة" في React Native ، ولكن يبدو أنه لم يتم تنفيذه.
ما هي أفضل طريقة لتقديم طلب ميزة والحصول على بعض الوضوح له؟ هل لا يزال https://react-native.canny.io/feature-requests المنتدى المفضل لطلبات الميزات؟

kristerkari لقد قدمت AccessibilityInfo
https://github.com/facebook/react-native/pull/23839

cpojer مرحبًا ، أنا آسف لأنني كنت بالخارج لفترة من الوقت. لقد نجحت في نقل شريط حالة رد الفعل الأصلي. لكنها لم تستنكر في جوهرها. هل يجب أن أفعل ذلك الآن؟
وأنا أيضًا أخطط لإنشاء إصدار إضافي لحزمة شريط الحالة التفاعلية الأصلية.

dmtrKovalenko نعم ، من فضلك افعل!

تم إنشاء علاقات عامة لشريط حالة الإيقاف -> # 23898

ليس لدي وصول إلى إعداد bitrise لـ رد فعل- أصلية- svg repo ، @ cpojer ؟ أم يجب علي ترحيل اختبارات e2e إلى circleci بدلاً من ذلك؟ يبدو أن محاكي android لديه حق الوصول إلى kvm / التسريع هناك على أي حال.

msand أعتقد أن الجميع قد استقروا على CircleCI ، لأنه يعمل بشكل أسرع وفقًا لمعيار gengjiawen ، لكنني لست متأكدًا مما إذا كان هذا "رسميًا".

رد فعل - أصلي - cameraroll بهما أيضًا ولكن الاختبارات فشلت على android.

أواجه بعض المشاكل في اجتياز اختبار Android ، فالاختبار بسيط حقًا (هل يبدأ التطبيق) ، لذا فهو شيء في التكوين. لقد قمت بنسخ التكوين من netinfo ، لكنه لا يعمل خارج الصندوق. @ matt-oakes هل ترى في لمحة إذا كان هناك أي شيء على وجه الخصوص فاتني؟

bartolkaruza هذا شيء أصلحته في مستودع NetInfo هنا: https://github.com/react-native-community/react-native-netinfo/pull/25

سأرسل PR لإصلاح Camera Roll الآن.

cpojer أي خطط لاستخراج tvOS من القلب؟

أعتقد أنه يجب علينا أيضًا إزالة Button .

إزالة أو استخراج؟ أنا أفضل استخراج من الإزالة.

سؤال للمكتبات التفاعلية الأصلية التي تستخدم حاليًا وظائف مستخرجة في وحدات المجتمع:

ما هو النهج الموصى به للاعتماد على الوحدات المستخرجة؟ التبعيات المباشرة أم التبعيات على الأقران؟

على سبيل المثال ، تستخدم Reactotron-reaction-native حاليًا AsyncStorage مباشرة. عند استخدام رد فعل - أصلي - غير متزامن باعتباره تبعية مباشرة ، فقد يؤدي ذلك إلى استخدام إصدارات متعددة في التطبيق المستهلك. هل يتم التخطيط لهذا أم يجب أن يكون تبعية الأقران؟

أعتقد أنه يجب أن يكون تبعية ، و AsyncStorage يعرّف ReactNative على أنه تبعية نظير ، وبهذه الطريقة يمكن أن يستخدم إصدارات متعددة من AsyncStorage في نفس التطبيق (باستثناء أنك تريد التأكد من استخدام نفس التطبيق ، وتوضح ذلك في المكتبة readme) ، لكن عملية التثبيت ستظهر تحذيرًا إذا لم تتمكن التبعية ReactNative من تلبية.

هل هذا بسيط؟ ألن تكون هناك إصدارات متعددة من الوحدة النمطية الأصلية المسماة "AsyncStorage"؟ أعتقد أن هذا قد يؤدي إلى مشاكل أم لا؟

نعم ، سيكون هناك العديد من الإصدارات ، ولكن إذا كانت كل واحدة مستقلة ولا تشارك البيانات فيما بينها ، فلن تكون هناك مشاكل.

مرحبًا cpojer ، أود المساعدة في بعض هذه المشكلات ، هل يمكنني البدء بـ "نقل مكون PickerIOS / Picker المدمج إلى الريبو المجتمعي"؟

مرحبًا wagnermaciel ، أنا و @ bartolkaruza نعمل على ذلك. وشارف على الانتهاء. cpojer ، هل يمكنك إنشاء ريبو مجتمعي. في الواقع أعتقد أن الخطة هي نقلها إلى المجتمع ودمج كلا المكونين.

https://github.com/jainkuniya/react-native-picker

تضمين التغريدة cpojer هل هناك أية مشكلات هنا يمكنك تعيينها لي؟ أنا أعمل مع مجموعة من الأصدقاء وكلنا مهتمون بالمشاركة بأي طريقة ممكنة 👍

wagnermaciel شكرا للانضمام إلى جهودنا! لقد قمت للتو بتحديث المنشور الأصلي وإزالة الأشخاص الذين لم يستجيبوا للمهام التي قاموا بالتسجيل فيها. يمكن أن تلتقط أيًا من العناصر المذكورة أعلاه بدون اسم بجوارها إذا أردت. على أي واحدة تريد العمل؟

مرحبًا cpojer ، هل يمكن تكليفي بنقل "ImagePickerIOS إلى الريبو المجتمعي" - سأكون سعيدًا بصيانته. شكرا كثيرا مسبقا!

@ aerlinn13 أضعك على ذلك. فقط أرسل PR إلى الريبو وقم باختبار اتصالي وسنتعامل معه من هناك :) شكرًا لك!

cpojer شكرا على الاستجابة السريعة! هل يمكنك تعيين "إزالة ProgressBarAndroid من المستودع ، وربما الانتقال إلى مستودع المجتمع" لي؟ أنا أحب العمل على ذلك. شكرا!!!

تضمين التغريدة نتطلع إلى مساهمتك :)

مرحبًا cpojer ، أريد أن أذكر مكون ToastAndroid. هل لديك فكرة ماذا تفعل بهذا؟
يبدو أن ToastAndroid يُستخدم في HMRLoadingView و LinkingExample. لذلك من المشكوك فيه كيفية استبدال نوع الإشعار لهذين المكونين.
على أي حال إذا تم استخدامه داخليًا بواسطة FB ، فهذه ليست مشكلة في الوقت الحالي وتجاهل تعليقي :)

منشوري الأصلي:

cpojer ماذا عن مكون نخب؟ أعتقد أنه يجب إهماله الآن وإزالته لاحقًا.
الأسباب:

  1. Toast هو مجرد نوع / نمط آخر من الإشعارات ، وهناك العديد من أنواع مكونات الإشعارات
  2. لا يوجد سوى تطبيق Android
  3. هناك الكثير من مكونات "الخبز المحمص" التي يحتفظ بها المجتمع https://github.com/search؟q=react+native+toast وهي متعددة الأنظمة الأساسية

ما رأيك في ذلك؟

radeno لا أعتقد أننا سنقوم بإزالته الآن ، ولكن قد نختار القيام بذلك لاحقًا.

آسف cpojer كان مشغولاً بالفعل الشهر الماضي ولكني

cpojer لقد لاحظت للتو أن "Deprecate StatusBarIOS" محددًا ، لكن StatusBarIOS.ios و StatusBarIOS.android لم يتغيروا منذ 2018. هل أغفلت شيئًا؟

إذا لم يكن هناك شيء مفقود ، آسف. خلاف ذلك ، أعلمني ، لأنه يمكنني المساعدة في ذلك.

cpojer هل يمكنك تقديم بعض التوضيحات حول مكان البحث أو كيفية إنشاء الملفات لمجلد ios؟ شكرا مقدما!

wagnermaciel راجع https://github.com/facebook/react-native/issues/23313#issuecomment -461462981 لمعرفة العملية. هناك كود iOS أصلي لأنه لم يتم تنفيذه هناك: https://github.com/facebook/react-native/blob/master/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.ios.js#L12

cpojer جاهز لنقل أي مكون لم يتم تعيينه بعد ، أو معالجة تدقيق تبعيات JS.

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

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

تتمثل أهم أولويات حل المشكلات وتحديد

هل لدينا التعليمات الخاصة بعمل RNC lib جديد في مكان ما في ويكي أو شيء من هذا القبيل؟ سيكون من المفيد الاحتفاظ بها ويجب على الآخرين العثور عليها ، ليس فقط لـ RNC ولكن كنوع من النموذج / الإرشادات لجميع libs.

لقد وجدت هذا في الواقع ، لكنه لم ينته بعد. :)

أعتقد أن المرشحين التاليين هم:

  • KeyboardAvoidingView ، SafeAreaView
  • مشروط (؟).

سيكون سعيدا لأخذ SafeAreaView !

هل تلك الهجرات من القلب ما زالت جاهزة للاستيلاء عليها؟ إذا كان الأمر كذلك ، فما هي أحدث المرشحين التاليين؟ أود أن أحاول مساعدتي أيضًا :)

أعتقدbrentvatneideericvicentikmagiera أبلغت آراء حول ما يمكن أن تنقل من ولا تؤثر على تجربة المطور عند استخدام المكتبات طرف ثالث مثل الرد الملاحة ومجدد.

من الأشياء التي يمكننا استخدام المساعدة بها التخلص من استخدام ToolbarAndroid في RNTester على Android. هل يمكن لشخص ما العمل على استبدال استخدامها بشيء آخر؟

انتهيت للتو من تحديث منشور المستوى الأعلى. ImagePickerIOS هو أحد المكونات غير المطالب بها حيث لم يتم استخراج المكون بعد. هل هناك أي شخص يرغب في بذل الجهد وإرسال العلاقات العامة إلى المستودع الذي تم إنشاؤه على https://github.com/react-native-community/react-native-image-picker-ios ؟

أخيرًا ، يبدو أن العمل على جلب DatePickerIOS و DatePickerAndroid لم يتحقق أبدًا ، راجع https://github.com/react-native-community/discussions-and-proposals/pull/85 - هذه فرصة جيدة! من الناحية المثالية ، يتحمل شخص ما المسؤولية لاستخراج مكونات منتقي التاريخ في هذا الريبو: https://github.com/react-native-community/react-native-datepicker

مع اثنين من عمليات التصدير عالية المستوى ، DatePickerIOS و DatePickerAndroid.

بعد الإصدار الأولي إذا تم شحنه وتم إهمال المكونات من RN ، سيتمكن المجتمع بعد ذلك من دمج الاثنين في مكون واحد.

ccmmcknett وSwaagie

تمت إضافة ReactART كجزء آخر من RN الذي نرغب في استخراجه في مستودع منفصل: https://github.com/react-native-community/react-native-art

مطلوب مساعدة!

هل يمكنني أخذ DatePickerIOS و DatePickerAndroid ؟

sijad هل عملت مع

cpojer هل يمكنني أخذ ReactART بدءًا من يوم الاثنين القادم؟ أنا حاليًا أبشر وأقود تبني RN في العمل ، ولذا كان علي التعامل مع كل من ReactART وتغليف الكود الأصلي كحزم RN قابلة لإعادة الاستخدام.

ivanmoskalev تبدو رائعة! اسمحوا لي أن أعرف عندما تبدأ وقم بعمل علاقات عامة لـ repo الجديد الذي أنشأته :)

cpojer هل أغفلت تمامًا عن طريق الصدفة الفرع review ؟ كان كل شيء مطروحًا منه المستندات وبعض اختبارات التخلص من السموم.

تحرير: ccsijad للتوعية

تحرير 2: https://github.com/Swaagie/react-native-datetimepicker تعمل جميعها كما كانت موجودة في فرع review . ليس لدي أي حقوق لإعادة إنشاء جهاز الريبو الآلي هذا ، لكني أرغب في إنهائه.

أيضًا sijad ، إذا كنت ترغب في المساهمة في شكل مراجعة شاملة وإصلاحات التعليمات البرمجية (إذا لزم الأمر) فسيكون ذلك موضع ترحيب كبير!

cpojersijad لقد تحقق العمل بالتأكيد كما ذكر Swaagie . لقد تواصلت في Discord أيضًا.

لا داعي للقلق بشأن تفويت الفرع - فقد يكون من السهل التغاضي عنه. في وقت لاحق كان ينبغي أن أنصح Martijn بفتح العلاقات العامة في Draft -state بينما استمر في صنع العلاقات العامة الأصغر للعمل الذي انطلقنا ووضعناه في سباقات السرعة لدينا.

هل هناك مكان يمكنني فيه المساعدة في اقتراح وثائق لإجراءات التشغيل القياسية لهذه الوحدات الصغيرة في Lean Core على react-native-community ؟ لقد تعلمنا الكثير من التكرار على react-native-datetimepicker - نود مشاركتها مع المجتمع الأوسع لجعل الوحدات النمطية الأخرى أسهل / أسرع.

يا رجل ، يجب أن يكون لديّ ثم أعدت إنشاء الريبو باسم مختلف -. -

هل يمكنك إرسال العلاقات العامة إلى منتقي البيانات الجديد؟

سوف تفعل! شكرا على التحول السريع! أيضًا لا توجد مشاعر قاسية ، فنحن جميعًا بشر ومثل crobbins قال إنه كان يجب علينا جعل العمل أكثر وضوحًا.

cpojer ، هل يمكنك تحديث
Merge DatePickerIOS and DatePickerAndroid, move to community repo
شكرا!

تضمين التغريدة

سيكون رائعًا إذا اعتمدت https://github.com/yfuks/react-native-action-sheet ودمجه مع ActionSheetIOS

إذا كنت ستحتفظ بـ repo تم إنشاؤه لنقل واجهات برمجة التطبيقات خارج React Native core ، فيرجى التأكد من قدرتك على دعم عمليات التنفيذ للأنظمة الأساسية الأخرى ، وتأكد من إلقاء نظرة على عمليات التنفيذ المكافئة في تفاعل الويب الأصلي والتفاعل -النوافذ الأصلية.

cpojer هل تقوم بكل هذه
FWIW لقد أحرزت تقدمًا مع RCTImagePickerIOS وسأرسل PR في غضون الأيام القليلة القادمة.

@ Johan-dutoit نعم ، للأسف ، لا يمكن إزالة الوحدات إلا بواسطة موظف Facebook. نتطلع إلى استخراج ImagePickerIOS الخاص بك!

cpojer 🎉PR تم إرسالها واختبارها 🎉

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

على سبيل المثال

image

  • React.js
    الغرض الأساسي من هذا الملف هو ...
  • react-native-implementation.js
    الغرض الأساسي من هذا الملف هو ...
  • react-native-interface.js
    الغرض الأساسي من هذا الملف هو ...

يمكن أن يكون من السهل فهم هذه الملفات الثلاثة ، ولكن عندما يكون لدينا ملفات مثل هذه يمكن أن يكون الأمر معقدًا بعض الشيء.
image

من الواضح أنهم لا يجب أن يكونوا وصفيون للغاية ، ناهيك عن وصف ما يفعله كل ملف. فقط التعريف الأكثر صلة أو التعريف الأساسي لما يُقصد القيام به في مجلد معين.

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

cpojer هل بقي أي شيء يمكنني استلامه؟ أحب المشاركة.

كما هو مذكور في FLGMwt في https://github.com/facebook/react-native/issues/23313#issuecomment -469288200 ، سيكون من الرائع نقل DrawerLayoutAndroid للخارج أيضًا

سيكون من الرائع نقل ToastAndroid و Animated أيضًا

ecreeth ، هذه الملفات تستخدم createReactClass لأنها تعتمد على مزيج لم تتم إزالته بعد. لا تزال الملفات التي تستخدم createReactClass تستخدم propTypes ولكن سيتم إسقاطها في Flow بمجرد تحديثها.

@ TheSavior شكرا جزيلا لك على المعلومات!

أرغب في المساهمة ، أرى أنه لم يتم أخذ "زر الانتقال إلى الريبو الجماعي". ما يجب القيام به؟ احب المساعدة!

بالتأكيد. ما عليك سوى التحقق من العناصر الأخرى مثل https://github.com/react-native-community/react-native-netinfo. يجب أن يكون لديك الكود الأصلي لنظامي iOS و android ، بالإضافة إلى أي js. للأسف ، ليس لدينا طريقة محددة لإنشاء مكتبة جديدة.

مرحبًا كيفية استخدام webview بعد إزالة webview في RN

مرحبا ، أحب المساعدة! أرى أنه تم تعيين جميع مهام "الإزالة" إلى cpojer ،

مرحبًا ، يمكنني المساعدة في نقل مكونات DatePickerComponents ، يرجى إعلامي كيف يمكنني تقديم أي مساعدة cpojer ، شكرًا!

مرحبًا cpojer ، يمكنني المساعدة في نقل مكون CheckBox ، وسأكون ممتنًا إذا تمكنت من

يسعدني أن أتحكم في نقل Button إلى مستودع مجتمع جديد. سأقدر بعض الإرشادات حول كيفية المتابعة ، لكنني سأبدأ بإلقاء نظرة على المصدر والبدء في الحصول على اتجاهاتي. cpojer الرجاء النصيحة.

تم فتح العلاقات العامة لإزالة Remove DatePickerAndroid و DatePickerIOS و TimePickerAndroid

https://github.com/facebook/react-native/pull/26729

كيف نقرر متى نضيف صادرات جديدة إلى القلب؟ على سبيل المثال ، يمكن إنشاء الخطاف useWindowDimensions في مساحة المستخدم ولكن تمت إضافته إلى النواة - https://github.com/facebook/react-native/blob/3b3c95b0170e60983eb6e89b910d100d08eee141/Libraries/Utilities/useWindowDimensions .js

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

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

مرحبا جميعا! لا يوجد حاليًا أي إجراء يمكن أن يقوم به أعضاء من المجتمع. عمليات الإزالة المجدولة حاليًا معلقة لسببين:

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

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

مرحبًا بالجميع ، أنا جديد في المساهمة في مشاريع مفتوحة المصدر وأود أن أعرف ما إذا كان لا يزال بإمكاني المساعدة في هذه المشكلة.

عمليات الإزالة المجدولة حاليًا معلقة لسببين ...

هل كان من الخطأ إزالة ToolbarAndroid (بصمت) على أي حال؟

cpojer هل يمكنني عمل "زر التحريك إلى الريبو المجتمعي"؟

Archulan يمكنك إرسال العلاقات العامة الخاصة بك إلى زر رد الفعل الأصلي

Archulan انظر هذا التعليق # 23313 (تعليق)

Archulan يمكنك إرسال العلاقات العامة الخاصة بك إلى زر رد الفعل الأصلي

تمام. هل يمكنك أن ترشدني للقيام بذلك؟

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

تضمين التغريدة

أعتقد أنه ليس من المنطقي نقل Button للخارج.

غريب جدًا مثل react يحتوي على <Button/>

بعد الثورة يجب أن يكون هناك

react-native = jsi(fabric & turbomodule) + codegen

يمكن أن يقودها المجتمع الآخر.

للحصول على بعض الوظائف الأساسية في مكانها الصحيح.

ربما يجب استخدام monorepo في react-native مع react-native-element مثل react مع react-dom

cpojer هل يتم نقل الاهتزاز (https://reactnative.dev/docs/vibration) أيضًا إلى مشروع مجتمعي؟ إذا كان الأمر كذلك ، وبما أنه يبدو صغيرًا بما يكفي للبدء ، يمكنني المساعدة في ذلك.

cpojer هل يمكنني إزالة ImageStore ؟

هل من الممكن المساعدة في هذا؟ أنا مبتدئ وأعتقد أنه يمكنني تعلم الكثير من خلال هذا.
يعتبر.
مانويل بورتيرو.

إذا كانت هناك حاجة إلى أي مساعدة في هذا ، يسعدني تقديم المساعدة 😃

و أنا أيضا

أود المساهمة. هل هناك أي شيء أستطيع القيام به؟

هل هناك أي شيء أستطيع القيام به؟

أرغب في المساهمة ، هل هناك أي شيء يمكنني القيام به؟

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات