أنشِئ أداة إنشاء رموز Flutter باستخدام الذكاء الاصطناعي (AI) من خلال Gemini

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

يوضح لك هذا البرنامج التعليمي كيفية توسيع وكيل Flutter Theme، هي أداة مستندة إلى الذكاء الاصطناعي (AI) للمساعدة في الترميز صمّمها فريق علاقات المطوّرين في Flutter في Google هذا المشروع مفتوح المصدر هو امتداد لتطبيق Microsoft Visual Studio الرمز (رمز VS) الذي يُنشئ رموزًا محدّدة مكوّنات مظهر Flutter أو كائن ThemeData، بما في ذلك أنظمة الألوان وأنماط النص وأنماط الأزرار. يمكنك تعديل المشروع لجعل هذه تعمل الدوال الحالية بشكل أفضل لك، أو تنشئ أوامر جديدة لدعم وسير عمل التطوير لديك.

للحصول على نظرة عامة بالفيديو على المشروع وكيفية تمديده، بما في ذلك الرؤى من الأشخاص الذين أنشأهم، تحقق من أداة إنشاء الرموز البرمجية لبرنامج AI Flutter Code Builder، وذلك باستخدام تكنولوجيات الذكاء الاصطناعي من Google ويمكنك بدلاً من ذلك البدء في تمديد المشروع من خلال اتّباع التعليمات. أدناه.

لقطة شاشة لوكيل Flutter Theme في رمز VS

الشكل 1. يعمل وكيل Flutter Theme في مضيف تطوير إضافة رمز VS نافذة.

إعداد المشروع

ترشدك هذه التعليمات خلال الحصول على مجموعة مشروع Flutter Theme Agent للتطوير والاختبار. الخطوات العامة هي تثبيت بعض برنامج متطلبات أساسية، وإعداد بعض متغيرات البيئة، ونسخ بيانات المشروع من مستودع الرموز، وتشغيل عملية تثبيت الإعدادات.

تثبيت المتطلّبات الأساسية

يتم تشغيل مشروع Flutter Theme Agent كامتداد لـ Microsoft Visual Studio Code (رمز VS) واستخداماتها Node.js وnpm لإدارة الحزم وتشغيل التطبيق. إرشادات التثبيت التالية مخصصة لمضيف Linux الجهاز.

لتثبيت البرنامج المطلوب:

  1. تثبيت Visual Studio Code لنظامك الأساسي.
  2. تثبيت node وnpm من خلال اتباع عملية التثبيت التعليمات لنظامك الأساسي.
  3. إذا لم يسبق لك تثبيت Flutter لرمز VS، اتّبِع الخطوات التالية: تعليمات التثبيت.

استنساخ المشروع وإعداده

نزِّل رمز المشروع واستخدِم أمر التثبيت npm للتنزيل التبعيات المطلوبة وتهيئة المشروع. أنت بحاجة إلى برنامج التحكم في المصدر git لاسترداد المشروع رمز المصدر.
لتنزيل رمز المشروع وإعداده:

  1. استنساخ مستودع git باستخدام الأمر التالي.

    git clone https://github.com/google/generative-ai-docs`
    
  2. يمكنك اختياريًا ضبط مستودع git المحلي للاستفادة من عمليات الدفع المتنافرة. بحيث تكون لديك ملفات مشروع وكيل المستندات فقط.

    cd generative-ai-docs/
    git sparse-checkout init --cone
    git sparse-checkout set examples/gemini/node/flutter_theme_agent
    
  3. انتقِل إلى الدليل الجذري لمشروع Flutter Theme Agent.

    cd generative-ai-docs/examples/gemini/node/flutter_theme_agent/
    
  4. شغِّل أمر التثبيت لتنزيل التبعيات وإعداد المشروع:

    npm install
    

إعداد الإضافة واختبارها

من المفترض أن تتمكّن الآن من اختبار عملية التثبيت من خلال تشغيل وكيل Flutter Theme كإضافة تطوير في رمز VS على جهازك. يفتح الاختبار صفحة نافذة مضيف تطوير الإضافة في رمز VS Code حيث يتم عرض الإضافة الجديدة المتوفرة. في هذه النافذة الجديدة، يمكنك ضبط مفتاح واجهة برمجة التطبيقات الذي تستخدمه الإضافة للوصول إلى Google Gemini API

لضبط الإعداد واختباره:

  1. ابدأ تشغيل تطبيق VS Code.
  2. في رمز VS، أنشِئ نافذة جديدة عن طريق اختيار File (ملف) >" نافذة جديدة:
  3. افتح مشروع وكيل مظهر Flutter من خلال اختيار ملف > افتح المجلد، واختَر المجلد flutter_theme_agent/.
  4. في رمز VS، افتح ملف flutter_theme_agent/package.json.
  5. شغِّل الإضافة في وضع تصحيح الأخطاء من خلال اختيار تشغيل >. ابدأ تصحيح الأخطاء. تفتح هذه الخطوة نافذة منفصلة لمضيف تطوير إضافة رمز VS.
  6. افتح إعدادات رمز VS عن طريق اختيار الرمز > الإعدادات > الإعدادات
  7. احصل على مفتاح Google Gemini API من الموقع الإلكتروني لمطوّري الذكاء الاصطناعي التوليدي، ثم انسخ سلسلة المفاتيح.
  8. اضبط مفتاح واجهة برمجة التطبيقات كإعداد ضبط. في إعدادات البحث والنوع flutter theme، ثم اختَر علامة التبويب مستخدم، وفي Google > Gemini: مفتاح واجهة برمجة التطبيقات، والنقر على رابط التعديل في ملف الإعدادات.json لإضافة مفتاح واجهة برمجة التطبيقات Gemini الخاص بك:

    "google.ai.apiKey": "your-api-key-here"
    
  9. احفظ التغييرات التي تم إجراؤها على ملف settings.json وأغلق علامات تبويب الإعدادات.

لاختبار أوامر الإضافات:

  1. في نافذة مضيف تطوير الإضافة في رمز VS، اكتب رمزًا تعليق يصف مكون واجهة المستخدم الذي تريد إنشاءه.
  2. حدد نص التعليق الذي يحتوي على خصائص المكوِّن.
  3. افتح لوحة الأوامر عن طريق تحديد عرض > لوحة الأوامر:
  4. في "لوحة الأوامر"، اكتب Flutter Theme واختَر أحد الأوامر بتلك البادئة.

تعديل الأمر الحالي

يُعدّ تعديل الأوامر المتوفّرة في Flutter Theme Agent أبسط طريقة تغيير سلوك الإضافة وإمكانياتها

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

توضّح هذه المجموعة من التعليمات كيفية تعديل الأمر buttonstyle.ts من خلال تغيير نص موجه الأمر.

للاستعداد لتعديل الأمر buttonstyle.ts:\

  1. ابدأ تشغيل تطبيق VS Code.
  2. في رمز VS، أنشِئ نافذة جديدة عن طريق اختيار File (ملف) >" نافذة جديدة:
  3. افتح مشروع وكيل مظهر Flutter من خلال اختيار ملف > افتح المجلد، واختَر المجلد flutter_theme_agent/.
  4. افتح ملف flutter_theme_agent/src/buttonstyle.ts.

    لتعديل سلوك الأمر buttonstyle.ts:\

  5. في ملف buttonstyle.ts، عدِّل الثابت BUTTONSTYLE_CONTEXT. لتضمين تعليمات مختلفة.

    const BUTTONSTYLE_CONTEXT=`
    ButtonStyle should only define properties that exist for a ButtonStyle
    object. ButtonStyle objects have the following properties. The buttons
    can ONLY be styled by setting these properties. No other properties:
    alignment → AlignmentGeometry? // The alignment of the button's child.
    ...
    
  6. بشكل اختياري، في ملف buttonstyle.ts، BUTTONSTYLE_CONTEXT ثابت، أو إضافة مثال آخر لتعليمات وإخراج نمط الزر، أو استبدال أحد الأمثلة الحالية.

    ...
    Here's an example prompt:
    Create a ButtonStyle where the button is green by default and blue on hover state. And elevation is 14, no surface tint color, and the splash effect is turned off.
    Here's an example of good Dart code:
    ButtonStyle(
      backgroundColor: MaterialStateProperty.resolveWith<Color?>(
    ...
    
  7. احفظ التغييرات في ملف buttonstyle.ts.

لاختبار الأمر المعدَّل:

  1. في نافذة مشروع إضافة VS Code، أعِد تشغيل برنامج تصحيح الأخطاء عن طريق تحديد تشغيل > أعِد تشغيل تصحيح الأخطاء.
  2. في نافذة مضيف تطوير الإضافة في رمز VS، اختَر رمزًا في نافذة المحرر تصف نمط الزر الذي تريده، مثال:

    // blue, lickable buttons that light up when you hover over them`
    
  3. افتح لوحة الأوامر عن طريق تحديد عرض > لوحة الأوامر:

  4. في "لوحة الأوامر"، اكتب Flutter واختَر مظهر Flutter موظّف الدعم: إنشاء أمر Flutter ButtonStyle

إنشاء أمر جديد

يمكنك توسيع نطاق استخدام Flutter Theme Agent من خلال إنشاء أوامر جديدة تؤدي لمهام جديدة تمامًا باستخدام Gemini API كل ملف أوامر، مثل إنّ buttonstyle.ts وcolorscheme.ts هما نظامان مستقلان في الغالب ويتضمّنان رمز جمع النصوص من المحرّر النشط وإنشاء طلب وتوصيل إلى Gemini API وإرسال طلب وتسليم الردّ

لقطة شاشة لوكيل Flutter Theme Agent يظهر فيها الطلب الجديد

الشكل 2. الأمر الجديد لوكيل مظهر Flutter في إضافة رمز VS نافذة مضيف التطوير.

تشرح هذه المجموعة من التعليمات كيفية إنشاء أمر جديد باستخدام التعليمات البرمجية أحد الأوامر الحالية، وهو colorscheme.ts، كنموذج. سيؤدي هذا التحديث إلى تغيير بحيث لا يتم تضمين البنية التي يتضمنها الكائن ColorScheme، لكي لن تضطر إلى إزالة هذه البنية بعد إنشائها، وتمثيل النتائج مرئيًا بسرعة أكبر.

لإنشاء أمر يُنشئ قائمة ألوان فقط لـ ColorScheme الكائن:

  1. إنشاء نسخة من ملف flutter_theme_agent/src/colorscheme.ts باسم colorscheme2.ts في الدليل src/.
  2. في رمز VS، افتح ملف src/colorscheme2.ts.
  3. في ملف colorscheme2.ts، أعِد تسمية الدالة generateColorScheme لتصبح generateColorScheme2:

    export async function generateColorScheme2(){
      vscode.window.showInformationMessage('Generating Color Scheme...');
    
  4. يمكنك تغيير تعليمات الطلب في ملف colorscheme2.ts. تعديل COLORSCHEME_CONTEXT تعليمات إنشاء الرموز عن طريق إزالة ColorScheme( من مثال الرمز في السطر 51، واجعله سطرًا فارغًا.

    ...
    Here's the example of good Dart code:
    
      brightness: Brightness.light,
      primary: Color(0xffFF80AB),
    ...
    
  5. إزالة حرف الإغلاق ")" من نهاية قائمة الألوان وجعله سطرًا فارغًا.

    ...
      inversePrimary: Color(0xffD15B9D),
      surfaceTint: Color(0xffFF80AB),
    
    This example code is a good ...
    
  6. كرر هذه التغييرات للمثال الثاني. في جلسة المعمل، COLORSCHEME_CONTEXT في السطر 87، أزِل النص ColorScheme( اجعله سطرًا فارغًا.

  7. في السطر 115، أزِل رمز أقواس الإغلاق ")" من صفحة نهاية قائمة الألوان وجعله سطرًا فارغًا.

  8. في سلسلة COLORSCHEME_CONTEXT، أضِف تعليمات لعدم تضمينها. بناء جملة التضمين:

    ...
    - The color scheme must be accessible and high-contrast.
    
    In the response, only include the list of colors and nothing else. Do
    not include a starting "ColorScheme(" prefix or an ending ")" suffix.
    
    Here's an example user prompt:
    ...
    
  9. احفظ التغييرات في ملف colorscheme2.ts.

دمج الأمر الجديد

بعد إكمال التعليمات البرمجية للأمر الجديد، تحتاج إلى دمجه مع بقية الإضافة. تعديل extension.ts وpackage.json ملف إلى جعل الأمر الجديد جزءًا من الإضافة، وتمكين رمز VS Code من استدعاء الأمر الجديد.

لدمج الأمر الجديد مع رمز الإضافة:

  1. في رمز VS، افتح ملف flutter_theme_agent/src/extension.ts.
  2. استورِد رمز الأمر الجديد إلى الإضافة من خلال إضافة عملية استيراد جديدة. الشخصي.

    import { generateColorScheme2 } from './components/colorscheme2';
    
  3. سجل الأمر الجديد بإضافة الرمز التالي إلى activate().

    export function activate(context: vscode.ExtensionContext) {
        ...
        vscode.commands.registerCommand('flutter-theme-agent.generateColorScheme2',
            generateColorScheme2);
        ...
    }
    
  4. احفظ التغييرات في ملف extension.ts.

لدمج الأمر name مع حزمة الإضافة:

  1. في رمز VS، افتح ملف flutter_theme_agent/package.json.
  2. أضِف الأمر الجديد إلى القسم commands في ملف الحزمة.

    "contributes": {
      "commands": [
        ...
        {
          "command": "flutter-theme-agent.generateColorScheme2",
          "title": "Flutter Theme Agent: My New Code Generator."
        }
      ],
    
  3. احفظ التغييرات في ملف package.json.

اختبار الأمر الجديد

بعد الانتهاء من ترميز الأمر ودمجه مع يمكنك اختبارها. لا يتوفّر الأمر الجديد إلا في رمز VS. نافذة مضيف تطوير الإضافة، وليس في نافذة رمز VS حيث عدّلت رمز الإضافة.

لاختبار الأمر المعدَّل:

  1. في نافذة مشروع إضافة VS Code، أعِد تشغيل برنامج تصحيح الأخطاء عن طريق تحديد تشغيل > إعادة تشغيل عملية تصحيح الأخطاء، التي تُعيد تشغيل برنامج منفصل مضيف تطوير الإضافات.
  2. في نافذة مضيف تطوير الإضافة في رمز VS Code، افتح Flutter. تطوير البرامج.
  3. في النافذة نفسها، افتح نافذة أداة تعديل الرموز واكتب تعليقًا يصف مكون واجهة المستخدم الذي تريده، وتحديد نص التعليق هذا.
  4. افتح لوحة الأوامر عن طريق تحديد عرض > لوحة الأوامر:
  5. في "لوحة الأوامر"، اكتب Flutter Theme واختَر Flutter Theme Agent: My New Code Builder.

مراجع إضافية

لمزيد من المعلومات حول مشروع Flutter Theme Agent، يُرجى الاطّلاع على مستودع الرموز البرمجية. إذا كنت بحاجة إلى مساعدة في إنشاء التطبيق أو كنت تبحث عن مطوّر المتعاونين، يمكنك الاطلاع على خادم Discord في منتدى Google Developers

تطبيقات الإنتاج

إذا كنت تخطط لنشر Flutter Theme Agent لعدد كبير من المستخدمين، يُرجى ملاحظة أنّ من استخدام Google Gemini API لقيود على معدّل الزحف قيود الاستخدام: إذا كنت تنوي إنشاء تطبيق إنتاج باستخدام نموذج Gemini إتمام الدفع Google Cloud Vertex AI الخدمات لزيادة قابلية التوسع وموثوقية تطبيقك.