أدوات مساحة العمل

Flutter DevTools

يمتلك DevTools أصلًا عرض الشبكة والخط الزمني ومفتّش الودجات ومحلّل الذاكرة، وهو فوق ذلك تطبيق Flutter ويب يُقدَّم من جهازك نفسه. لذا لا يعيد Gitcito بناء أي من ذلك، ولا يخاطب Dart VM Service بنفسه: يلاحظ العنوان ويُضمّنه.

DevTools مفتوحًا في تبويب داخل Gitcito

يطبع flutter run هذا السطر ما إن تعمل خدمة الـ VM:

The Flutter DevTools debugger and profiler on iPhone 16 Pro is available at:
http://127.0.0.1:9100?uri=http://127.0.0.1:53412/uJ8k=/

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

إعادة التشغيل الساخنة تنشر عنوانًا جديدًا، وتتبعه اللوحة ما دامت جلستها حيّة. وحين تنتهي الجلسة تحتفظ اللوحة بآخر عنوان، وهو ميت غالبًا: أغلق الرمز وافتح DevTools من التشغيل الجديد.

أي الأدوات

تدخل الأداة هنا إذا فعلت أمرين: أن تقدّم واجهة ويب على هذا الجهاز، وأن تطبع عنوانها.

الأداة السطر الذي تطبعه
Flutter DevTools The Flutter DevTools … is available at: <url>
Dart DevTools (dart devtools) Serving DevTools at <url>
Vue DevTools (@vue/devtools) Vue Devtools … listening on <url>
Prisma Studio Prisma Studio is up on <url>
Drizzle Studio Drizzle Studio is up and running on <url>
webpack-bundle-analyzer Webpack Bundle Analyzer is started at <url>
أي شيء آخر يذكر DevTools وعنوانًا يقع في مطابقة عامة

ما لا يمكن تضمينه ولماذا. يطبع مفتّش Node نقطة ws:// ليتصل بها مصحّح، لا صفحة — أما واجهة Chrome DevTools المرافقة فتقيم خلف عنوان devtools:// لا يُسمح لأي عرض مضمَّن بتحميله. أما بناء React DevTools المستقل فهو نافذة سطح مكتب خاصة به لا صفحة مقدَّمة. لا يصلح أيٌّ منهما ليكون تبويبًا هنا؛ كلاهما يحتاج عميل بروتوكول تنقيح لا عنوانًا.

خادم التطوير ليس أداة تطوير. فايت على :5173 هو تطبيقك، وتضمينه يكون لوحة معاينة — ميزة أخرى، وليست هذه عمدًا.

ما المسموح له

العرض المضمَّن مربوط بحبل قصير، لأن هذا التطبيق يحتفظ ببيانات اعتماد:

  • حلقة محلية فقط. 127.0.0.1 وlocalhost و::1. يُرفض الإرفاق بأي عنوان آخر، وتُرفض إعادة التوجيه إليه كذلك.
  • بلا preload، وبلا node integration، ومع عزل السياق. لا جسر من الصفحة إلى Gitcito.
  • تُفتح الروابط في متصفحك الحقيقي، في نافذة عادية لا داخل اللوحة.

الحدود

  • هذا DevTools، وليس صنعنا. ما تقدر عليه تلك النسخة تقدر عليه اللوحة، وما تعجز عنه نعجز عنه. لا وجود لعرض شبكة بنكهة Gitcito.
  • Flutter وحده يعلن عن نفسه هكذا. برنامج Dart عادي يطبع عنوان خدمة الـ VM لكن لا يطبع عنوان DevTools، فلا يظهر زر.
  • اللوحة الفارغة تعني أن التطبيق توقّف. يقدّم DevTools التطبيقُ العامل؛ فإذا انتهى، توقّف عنوانه عن الاستجابة.

انظر أيضًا: التشغيل والتنقيح

حسّن هذه الترجمة على GitHub