تخطَّ إلى المحتوى
الجمعة, أكتوبر 30, 2026أخبار تقنية مستقلة ومراجعات وأدلة عملية
نبذة
الأحدث /

MacBook Pro OLED وصل: احتراق الشاشة واللمس وغياب Apple Pencil وهل يستحق PROLED XDR الشراء؟ (2026)

اقرأ الدليل
البرمجيات & تطوير التطبيقاتGM / 803

كيف تبني تطبيقًا من الصفر بالذكاء الاصطناعي في 2026: Figma وOpenCode v2 وMiniMax M3.1 وقصة Stash

How to build an app from scratch with AI: Figma, OpenCode v2, MiniMax M3.1 and the App Store, with two Stash iPhone screens
How to build an app from scratch with AI: a workflow from brief to Figma, Figma's MCP server, OpenCode v2 with MiniMax M3.1, then Git, build, TestFlight and the App Store
كل ما في هذا المقال حدث في أربعة أشهر ونصف، وسبعة من هذه التواريخ التسعة تقع في الأسابيع الخمسة الأخيرة

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

Stash هو جوابي على ذلك الدرج. إنه تطبيق صغير هادئ لـ iPhone وiPad: تصوّر المكان الذي وضعت فيه شيئًا، وتعطيه اسمًا وغرفة، وحين تحتاجه مرة أخرى تبحث. هذه هي الفكرة كلها. صدر على App Store في 23 سبتمبر 2026. وهو مجاني، ولا يحتوي على إعلانات.

لا آتي من خلفية برمجية. كل ما أبنيه، أبنيه مع وكلاء ذكاء اصطناعي، وعلى مدى العام الماضي انتقلت أدوات ذلك من “عرض تجريبي لطيف” إلى “يمكنك فعلًا شحن هذا”. لذا هذا الدليل عملي أولًا: كل خطوة من مجلد فارغ إلى صفحة حيّة على App Store، مع Stash كمثال مطبَّق في كل مكان.

مجموعة الأدوات هي التي كنت سأعطيها لأي شخص يبدأ اليوم. Figma للتصميم. OpenCode v2 كوكيل البرمجة. MiniMax M3.1 كالطراز الذي يقوم بالتفكير (بدقة M3.1-Flash-Preview، الذي أُطلق في 27 سبتمبر، وسأشرح لماذا يهم هذا التمييز). ثم كل “الأشياء” التي لا تصل أبدًا إلى دروس YouTube: الواجهة الخلفية، وسياسة الخصوصية، وApp Store Connect، ولقطات الشاشة، والمراجعة، وصفحة الهبوط، والصفحات القانونية، وكم يكلّف كل ذلك.

اختُبر كل ما هنا مقابل الوثائق الرسمية وملاحظات الإصدار وApp Store نفسه في 5 أكتوبر 2026. بعضه سيصبح قديمًا في غضون أسابيع. طراز MiniMax الجديد معاينة، وOpenCode تصدر تقريبًا كل يوم، وFigma ما زالت تقرر أي وكلاء برمجة يمكنهم الاتصال بخادم MCP لديها. وقد أشرت إلى الأجزاء المتغيرة أثناء الشرح.

الإفصاح: Stash هو تطبيقي، تنشره شركتي Graham Miranda UG. إنه مجاني، بلا إعلانات وبلا مشتريات داخل التطبيق. لا يحتوي هذا المقال على روابط تابعة. لم ترع أو تراجع أو توافق عليه MiniMax، ولا فريق OpenCode في Anomaly، ولا Figma، ولا Apple، ولا Google، ولا Expo.


باختصار — النسخة في 60 ثانية

  • يمكنك بناء تطبيق حقيقي من الصفر بالذكاء الاصطناعي في 2026، لكن “من الصفر” الآن يعني قرارات، لا كتابة. الوكيل يكتب الشيفرة. وأنت تملك الموجز، والتصميم، ونموذج البيانات، وقصة الخصوصية، والاختبار، وأوراق App Store.
  • مجموعة الأدوات: Figma (الشاشات ومتغيرات التصميم) → OpenCode v2 (وكيل مفتوح المصدر، رخصة MIT) → MiniMax M3.1-Flash-Preview (نافذة سياق مليون رمز، يقرأ النص والصور والفيديو، وخمسة مستويات جهد) → بناء بـ Expo أو Xcode → TestFlight → App Store. وFirebase إن كنت بحاجة إلى حسابات ومزامنة.
  • “MiniMax M3.1” اليوم تعني M3.1-Flash-Preview. أُطلق في 27 سبتمبر 2026 وهو متاح فقط عبر اشتراك M Plan من MiniMax ($22 أو $55 أو $132 شهريًا، مع خصم 50% على الشهر الأول عند الفوترة الشهرية حتى 14 أكتوبر) وتطبيق MiniMax Code. لا يوجد سعر لكل رمز، ولا أوزان مفتوحة، ولا معيار قياس منشور بعد. لا يمكن إيقاف التفكير، والجهد الافتراضي هو الأقصى.
  • يعمل في OpenCode v2 دون ملف إعدادات: /connect → “MiniMax Token Plan (minimax.io)” → الصق مفتاح اشتراكك → /models → MiniMax-M3.1-Flash-Preview.
  • مصيدة Figma التي لا يذكرها أحد: خادم MCP البعيد في Figma لا يقبل OpenCode بعد. فهو مقصور على قائمة مسموح بها خلال النسخة التجريبية. استخدم سطح المكتب خادم MCP على 127.0.0.1:3845 بدلًا من ذلك (يحتاج تطبيق Figma لسطح المكتب ومقعد Dev أو Full مدفوعًا، من $12 شهريًا)، أو سلّم الوكيل إطارات مُصدّرة، وهو ما يستطيع M3.1 قراءته.
  • الإطلاق مشروع قائم بذاته: $99 سنويًا لبرنامج Apple Developer Program (‏€99 في ألمانيا)، وبناءات تُصنع بـ Xcode 26 أو أحدث، وسياسة خصوصية، وتسميات خصوصية تطابق الواقع، وحذف الحساب داخل التطبيق إن كنت تقدّم حسابات، وبيانات التاجر في الاتحاد الأوروبي. وتقول Apple إن 90% من الطلبات تُراجع خلال 24 ساعة.
  • Stash بالأرقام: متاح منذ 23 سبتمبر 2026، الإصدار 1.0.1 بتصميم جديد في 2 أكتوبر، مجاني، iOS وiPadOS 16.4 أو أحدث، نحو 64 ميجابايت، بلا تتبّع، ووضع ضيف يُبقي كل شيء على الجهاز.
  • كم يكلّف: نحو $363 للسنة الأولى في الإعداد المقتصد (عضوية Apple مع M Plan Go)، ونحو $500 مع مقعد Figma Dev. وتبدأ تكاليف الواجهة الخلفية من صفر ضمن حصص Firebase المجانية.
  • القاعدة الأهم: “تم” ادعاء، وليست حقيقة. شغّل التطبيق على هاتف حقيقي، في وضع الطيران، في الوضع الداكن، مع تشغيل VoiceOver. حينها صدّقه.

مجموعة الأدوات في لمحة

الطبقةالأداةدورها في سير العمل هذاالتكلفة (أكتوبر 2026)
التصميمFigmaالشاشات والمكوّنات ومتغيرات الألوان والخطوط ونموذج أولي قابل للنقرخطة Starter مجانية؛ ومقعد Dev من $12 شهريًا يفتح خادم MCP لسطح المكتب
جسر من التصميم إلى الشيفرةخادم MCP من Figma (سطح المكتب)يسلّم الإطارات والمتغيرات ولقطات الشاشة إلى الوكيلمشمول مع المقعد
وكيل البرمجةOpenCode v2يخطط ويحرر الملفات ويشغّل الأوامر والاختبارات؛ الطرفية، أو تطبيق سطح المكتب، أو داخل Xcode 27مجاني، رخصة MIT
الطرازMiniMax M3.1-Flash-Previewعقل التخطيط والبرمجة؛ يقرأ لقطات الشاشة وتسجيلات الشاشةM Plan من $22 شهريًا
إطار التطبيقExpo SDK 56 (iPhone + Android) أو SwiftUI مع Xcode 27 (Apple فقط)التطبيق نفسهمجاني؛ وتشمل خطة Expo المجانية 15 بناءً سحابيًا لـ iOS و15 لـ Android شهريًا
الواجهة الخلفيةFirebase (Auth, Firestore, Storage, Functions, Messaging)الحسابات والمزامنة وتخزين الصور والإشعاراتحصص مجانية؛ ويحتاج Storage وFunctions إلى خطة Blaze بالدفع حسب الاستخدام
التوزيعApp Store Connect + TestFlightاختبار تجريبي، ومراجعة، وإصدار$99/سنة لبرنامج Apple Developer Program
الإطلاقصفحة هبوط ثابتة وصفحات قانونيةاشرح، واعرض، وامتثلما تكلّفه استضافتك

الأسعار هي أسعار القائمة في 5 أكتوبر 2026، دون ضريبة القيمة المضافة. وشروط الاشتراكات تتغير كثيرًا، فتحقق قبل الشراء.


جدول المحتويات


الجزء 1 — تعرّف على Stash: التطبيق الذي بُني حوله هذا الدليل

قبل الأدوات، المثال. فدليل بناء التطبيقات لا يكون أفضل من التطبيق الذي يبنيه، لذا إليك ما هو Stash بالضبط، استنادًا إلى صفحته على App Store وسياسة الخصوصية الخاصة به لا إلى حماسي.

تفتتح الصفحة بسطر يلخّص المهمة: “لا تمزّق البيت بحثًا عن شيء مرة أخرى.” ثم تشرح المنتج كله في ثلاث جمل: “Stash هو أسرع طريقة لتتذكر أين وضعت أشياءك. التقط صورة، واختر الغرفة، واحفظ. هذا هو التطبيق كله.”

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

ما يفعله Stash

الميزةما يفعلهلماذا يهم
صورة للمكانتصوّر الدرج أو الرف أو الصندوق، لا الشيء نفسهأنت تتذكر الأماكن بصريًا؛ وصورة المكان هي الذاكرة
اسم، وغرفة، ومكان محدد، وملاحظة“مفاتيح البيت · المدخل · الدرج الأعلى · في الطبق الخزفي على اليسار”أربعة حقول قصيرة أفضل من نص حر لن تبحث فيه جيدًا
ملاحظات صوتية منسوخة نصيًاسجّل ملاحظة سريعة؛ يحوّلها Stash إلى نص قابل للبحثأسرع من الكتابة حين تكون يداك مشغولتين
بحثباسم الشيء أو الغرفة أو الملاحظة أو الكلمات التي سجلتها، مع مرشّح للأشياء التي لها صوركل هدف التطبيق هو لحظة احتياجك إلى شيء
الغرفتصفّح بيتك غرفة غرفةلحين لا تتذكر الاسم، بل المكان تقريبًا
“وجدته”نقرة واحدة عندما تستعيدهيُغلق الدائرة
التذكيراتتعود الأشياء الموسمية إلى الظهور حين تحتاجهاإطارات الشتاء، وأضواء عيد الميلاد، وعتاد التخييم
الودجاتودجات الشاشة الرئيسية وشاشة القفلنقرتان من “يجب أن أتذكر هذا” إلى الحفظ
دون اتصال، ثم مزامنةيعمل بلا إشارة؛ ويتزامن بين iPhone وiPad عندما يكون لديك حسابالأقبية والمرائب فيها استقبال سيئ جدًا
المظهرفاتح أو داكن أو اتباع النظاميبدو هادئًا في الحادية عشرة مساءً أيضًا
التصدير والحذفصدّر ما خزّنته؛ واحذف حسابك من الإعداداتتبقى بياناتك ملكك، وApple تشترط الثاني

كيف يبدو

الاتجاه البصري هادئ عن قصد: خلفية عاجية دافئة، وأخضر غابة عميق، ولمسة مرجانية واحدة، وعناوين بخط مذيّل وخط بلا حواف لكل ما عداها. ولقطات App Store تروي القصة في ستة عناوين: لكل شيء مكان. اعثر عليه. في ثوانٍ. احفظ المكان. بيتك. غرفة غرفة. تذكّر التفاصيل الصغيرة. واضح. في كل إضاءة.

عرض الصورة Stash على iPhone: احفظ المكان، واعثر عليه في ثوانٍ، وتصفّح غرفة غرفة. فاتح وداكن، نفس الهدوء.

Four Stash iPhone screenshots: Home with recently saved house keys, search results for keys, the Add screen, and the rooms grid in dark mode
Stash على iPhone: احفظ المكان، واعثر عليه في ثوانٍ، وتصفّح غرفة غرفة. فاتح وداكن، نفس الهدوء.

كيف يتعامل مع بياناتك

هذا يهم أكثر من أي ميزة، لذا سأقتبس سياسة الخصوصية بدلًا من إعادة صياغتها:

  • وضع الضيف: “إذا لم تنشئ حسابًا، تبقى غرفك وأشياؤك وصورك وملاحظاتك الصوتية على جهازك ولا تُرفع.”
  • مع حساب: تعمل المزامنة والنسخ الاحتياطي على Google Firebase (Authentication وCloud Firestore وCloud Storage وCloud Functions وCloud Messaging)، بقواعد أمان تُبقي بيانات كل مستخدم معزولة.
  • لا نموذج أعمال مبني عليك: “لا نعرض إعلانات، ولا نشغّل تتبّعًا إعلانيًا أو تحليليًا، ولا نبني ملفات تعريف للمستخدمين، ولا نبيع بياناتك.”
  • الملاحظات الصوتية: قد يستخدم تحويل التسجيل إلى نص قابل للبحث خدمة الكلام المدمجة في الهاتف (خدمة Apple، على iOS).
  • الحذف: احذف حسابك من الإعدادات، أو عبر نموذج على الويب؛ وتُزال النسخ من النسخ الاحتياطية خلال 30 يومًا.

إذا قرأت مقالي’ عن لماذا تعود البرمجيات local-first إلى الواجهة، ستتعرف’ على الفلسفة. يجب أن يعمل التطبيق تمامًا دون السحابة. السحابة رفاهية تختارها بنفسك.

صندوق الحقائق

الاسم في App StoreStash — اعثر عليه بسرعة
العنوان الفرعياعثر على كل ما’ وضعته جانبًا
أول إصدار23 سبتمبر 2026 (الإصدار 1.0)
الإصدار الحالي1.0.1، صدر في 2 أكتوبر 2026: “تصميم جديد وإصلاحات للأخطاء.”
السعرمجاني، بلا مشتريات داخل التطبيق
يتطلبiOS أو iPadOS 16.4 أو أحدث؛ يعمل أيضًا على أجهزة Mac بشريحة Apple silicon وعلى Apple Vision Pro كتطبيق iPad
الحجمنحو 64 MB
الفئةالإنتاجية (مدرج أيضًا ضمن الأدوات المساعدة)
تصنيف العمر4+
المطورGraham Miranda UG (haftungsbeschränkt)، Blankenburg (Harz)، ألمانيا
الموقع الإلكترونيstash.grahammiranda.network، بعشر لغات، مع عرض تجريبي في المتصفح
التنزيلStash على App Store

ما لا يوجد’ في التطبيق (حتى الآن)

يحتوي الموقع على قسم يُسمى استكشافات التصميم بثلاث أفكار: تثبيت الموضع الدقيق على صورة، نقل سريع لحين تغيّر مكان’ عنصر ما، و الصناديق والملصقات لتتمكن من رؤية ما’ داخل الصندوق دون فتحه. الموقع صريح في أن “هذه الأفكار موجودة في النموذج التفاعلي، وليست ميزات في إصدار App Store.”

أحب هذا الفصل، وأنصح به’ كل من يبني تطبيقه الأول. استكشف بحرية في نموذج تجريبي. واشحن فقط ما يعمل. يجب ألا تعد صفحتك على App Store بما لا يستطيع الملف التنفيذي’ فعله. مراجعو Apple يتحققون، وكذلك مراجعو نجمة واحدة.

لماذا هذا الشكل مناسب لتطبيق أول

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

  • حلقة أساسية واحدة. احفظ، ثم ابحث. كل شيء آخر يدعم هذه الحلقة.
  • بيانات تبدأ على الجهاز. لا حاجة لخادم في اليوم الأول، فتشحن’ قبل أن تبني الواجهة الخلفية.
  • حفنة من ميزات المنصة الحقيقية. الكاميرا والميكروفون والإشعارات والودجات هي القدر المناسب من “الأصالة” للتعلم دون الغرق.
  • سحابة اختيارية. يمكن أن تصل الحسابات والمزامنة في الإصدار الثاني دون إعادة كتابة الإصدار الأول.
  • لا خلاصة، ولا دردشة، ولا مدفوعات. كل واحد من تلك مشروع قائم بذاته بأوضاع فشل خاصة به.

يستطيع وكيل ذكاء اصطناعي بناء أي شيء تقريبًا يمكنك وصفه. الجزء الصعب هو وصف شيء صغير بما يكفي لإنجازه.


الجزء 2 — مجموعة أدوات 2026 لبناء تطبيق من الصفر بالذكاء الاصطناعي

ثلاث أدوات، ثلاث مهام منفصلة:

  1. Figma يقرر كيف يبدو التطبيق.
  2. OpenCode يقرر كيف يُنجز العمل: أي ملفات يقرأ، وأي أوامر ينفذ، وماذا يسألك قبل أي خطوة محفوفة بالمخاطر.
  3. MiniMax M3.1 يقوم بالتفكير داخل OpenCode: التخطيط، وكتابة الكود، وقراءة لقطات الشاشة، وإصلاح ما تعطل.

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

لماذا OpenCode v2 هو الوكيل

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

الإصدار 2.0.0، إعادة بناء من الأساس، وُسم في 11 سبتمبر 2026، وكان الفريق قد أصدر 2.0.22 بحلول 2 أكتوبر. غطيت إعادة البناء بعمق في تحليل معمق لـ OpenCode v2، لذا هنا فقط ما يهم لبناء تطبيق:

  • إنه’ محايد تجاه النماذج. أكثر من 75 مزودًا عبر Models.dev، إضافة إلى النماذج المحلية. وMiniMax مدمج.
  • خادم خلفي مشترك واحد. واجهة الطرفية، وتطبيق سطح المكتب، وواجهة المتصفح، وإضافات IDE، كلها ترى الجلسات نفسها.
  • أذونات تعمل كجدار حماية. قائمة مرتبة من قواعد السماح والسؤال والمنع حيث تفوز آخر مطابقة، لذا فإن “لا تشغّل أبدًا git push” و“لا ترسل أبدًا إلى App Store” سطر واحد لكل منهما.
  • تراجع عن كل خطوة. لقطات قبل وبعد كل خطوة للنموذج، مع /undo و /redo.
  • وكلاء فرعيون يمكنك رؤيتهم وإيقافهم، ومهارات تُحمّل من .opencode, .claude و .agents مجلدات.
  • إنه يعمل داخل Xcode 27. Xcode الجديد من Apple’ يقبل أي وكيل يتحدث Agent Client Protocol، و opencode acp يفعل ذلك بالضبط (الإعداد في الجزء 4).

تعد الصفحة الرئيسية الآن 208,000 نجمة على GitHub، و950 مساهمًا، و16 مليون مطور شهريًا. وتحذيران صادقان من وثائق v2: مشاركة الجلسات لم تعد’ في v2 بعد، وإضافات v1 لا تُحمّل’.

لماذا MiniMax M3.1 هو النموذج

يتعمق الجزء 3، لكن النسخة المختصرة هي ثلاث خصائص تناسب بناء التطبيقات على نحو غير معتاد:

  • نافذة سياق بسعة 1,000,000 رمز. تطبيق صغير، وملاحظات تصميمه، وملف AGENTS.md الخاص به، والوثائق ذات الصلة، كلها تتسع في جلسة عمل واحدة مع مساحة إضافية.
  • إنه يقرأ الصور والفيديو، لا النص فقط. يمكنك أن تعطيه إطار Figma، أو لقطة شاشة من المحاكي، أو تسجيل شاشة لخلل.
  • خمسة مستويات جهد، من منخفض إلى أقصى، فيحصل عمل التخطيط على تفكير عميق ويحصل العمل الآلي على السرعة.

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

لماذا Figma هي أداة التصميم

لا يزال Figma هو مكان تصميم التطبيقات. الخطة المجانية Starter تكفي لتصميم تطبيق أول. و المتغيرات تصبح رموز التصميم لديك، الألوان والمسافات وأحجام الخطوط التي تحفظ اتساق كل شاشة. و خادم MCP يتيح لوكيل برمجة قراءة إطار محدد مباشرة، وهو أقرب ما وصلنا إليه إلى أن يعمل فعلًا “اجعلها تبدو هكذا”.

في Config 2026 (من 23 إلى 25 يونيو في سان فرانسيسكو)، فتح Figma أيضًا وكيله Figma Agent لجميع الخطط المدفوعة كتجربة مفتوحة، وأضاف جدولًا زمنيًا للحركة، واستعرض “طبقات الكود” التي تعامل الكود ككائن أساسي على اللوحة. لا تحتاج’ إلى أي من ذلك لبناء تطبيقك الأول. إنه’ مفيد أن تعرف إلى أين تتجه الأمور.

و“الأشياء”

الأجزاء التي لا يضعها أحد في الصورة المصغرة:

ماالخياراتمغطى في
إطار التطبيقExpo (React Native) لـ iPhone وAndroid؛ SwiftUI مع Xcode 27 لـ Apple فقط؛ Flutterالجزء 7
الواجهة الخلفيةFirebase هو الافتراضي السهل للحسابات والمزامنة وتخزين الملفاتالجزء 7
التحكم في الإصداراتGit، دائمًا. GitHub أو ما شابه للنسخ الاحتياطيالجزآن 4 و7
البناء والتوقيعXcode على Mac، أو بناءات EAS السحابية من Expo’ دون جهازالجزآن 7 و8
الاختبار والإصدارTestFlight وApp Store Connectالجزء 8
الإطلاقصفحة هبوط، وعرض تجريبي، وصفحات قانونية، وتحسين الظهور في App Storeالجزء 9

عرض الصورة خط الإنتاج كله في صفحة واحدة. تقف على اليسار (الموجز)، وفي الوسط (تراجع كل فرق)، وعلى اليمين (تضغط “إرسال للمراجعة”).

ما يعنيه “من الصفر” الآن

إليك الحقيقة غير المريحة عن بناء تطبيق بالذكاء الاصطناعي في 2026: الوكيل يقوم بالجزء الذي كان صعبًا، ويترك لك الجزء الذي كان صعبًا دائمًا.

أنت تملكالوكيل يملك
الغرض من التطبيق، وما يرفض فعلهتحويل ذلك إلى ملفات ومكونات ودوال
الشاشات ونظام التصميمتنفيذها، شاشة بشاشة
نموذج البيانات: ما يُخزَّن، وأين، ولأي مدةكتابة كود التخزين والمزامنة والترحيل
قصة الخصوصية، والصفحات القانونية، وإجابات App Storeتدقيق الكود حتى تكون إجاباتك دقيقة
الاختبار على أجهزة حقيقية، مع أشخاص حقيقيينكتابة الاختبارات الآلية وتشغيلها
الضغط على “إرسال”عدم الضغط على “إرسال” أبدًا

إذا جعلك ذلك الجدول متوترًا قليلًا، فهذا جيد. ذلك التوتر هو ما يفرق بين تطبيق يُشحن ومجلد مليء بكود نصف عامل.


الجزء 3 — MiniMax M3.1، مشروحًا بصدق

إذا بحثت عن “MiniMax M3.1” الآن، ستجد مقالات واثقة عن نموذج لم يصدر’، بالمعنى الدقيق، بعد. إليك ما هو موجود’ فعلًا، وما يمكنك استخدامه اليوم، وما لا يعرفه أحد’ بعد.

ما هو موجود، بالترتيب

  • 1 يونيو 2026: MiniMax M3. نموذج بأوزان مفتوحة ومتعدد الوسائط أصالة، بنافذة سياق 1M رمز، وتصميم خليط خبراء بنحو 428 مليار معامل إجمالي مع نحو 23 مليار نشطة لكل رمز، والانتباه المتناثر الخاص بـ MiniMax’. قارنته بـ GLM-5.3-Flash في OpenCode في أغسطس، في GLM-5.3-Flash مقابل MiniMax M3.
  • يوليو: “M3.1” يصبح اسمًا. وصفت تقارير من المؤتمر العالمي للذكاء الاصطناعي في شنغهاي نموذج M3.1 بسياق مليون رمز وقدرات متعددة الوسائط أقوى. ولم يتبع ذلك أي نموذج أو معرّف نموذج أو سعر.
  • 23 سبتمبر: نموذج غامض. ظهر نموذج مجهول باسم “Space Bunny Alpha” على OpenRouter وفي OpenCode كإصدار تجريبي مجاني، بسياق 1M واستدلال قابل للضبط. وأشار البصم الإحصائي المستقل للمرمّز إلى MiniMax. لم تؤكد MiniMax’ شيئًا، وتطابق المرمّز دليل على عائلة نموذج، وليس برهانًا.
  • 27 سبتمبر: MiniMax M3.1-Flash-Preview. أول نموذج يحمل علامة M3.1 يمكن لأي شخص استخدامه، أُطلق في تطبيق البرمجة الخاص بـ MiniMax’، MiniMax Code، وعبر اشتراك البرمجة الخاص بها. تصفه MiniMax بأنه نموذج لـ “التطوير اليومي، سريع وموثوق وجاهز للعمل الحقيقي، من إصلاحات الأخطاء السريعة إلى الميزات الكاملة.”
  • 30 سبتمبر: خطة M Plan. وصل MiniMax Code 3.1.0 مع اشتراك جديد باسم M Plan، يحل محل Token Plan للعملاء الجدد بالأسعار نفسها.

لم يُشحن M3.1 الكامل من الصيف بعد’. وعندما يقول الناس “M3.1” في أكتوبر 2026، فهم يقصدون M3.1-Flash-Preview، وأنا كذلك في بقية هذا المقال.

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

MiniMax M3 مقابل M3.1-Flash-Preview

MiniMax M3MiniMax M3.1-Flash-Preview
تاريخ الإصدار1 June 202627 سبتمبر 2026
الحالةمتاح عمومًامعاينة
معرّف النموذجMiniMax-M3MiniMax-M3.1-Flash-Preview
نافذة السياق1M رمز1,000,000 رمز
المدخلنص وصورة وفيديونص وصورة وفيديو
التفكيريمكن تشغيله أو إيقافهيعمل دائمًا. خمسة مستويات جهد: منخفض, medium, مرتفع, xhigh, أقصى (افتراضي أقصى)
أوزان مفتوحةنعم، بموجب MiniMax Community Licenseلا أوزان، ولا بطاقة نموذج
سعر الدفع حسب الاستخدام$0.30 لكل مليون رمز إدخال، و$1.20 للإخراج، و$0.06 للمخزّن مؤقتًا؛ ويتضاعف فوق 512K إدخالغير منشور. عبر الاشتراك فقط
أين يمكنك استخدامهMiniMax API، وOpenRouter، وOpenCode Go، وOllama Cloud، وكثير من المضيفين الآخريناشتراك M Plan وMiniMax Code فقط
معايير القياس المنشورةنعم، من MiniMax ولوحات مستقلةلا شيء
البنية~428B إجمالي، ~23B نشطة، MoE متناثرغير معلن
في OpenCode v2مدمج، عبر عدة مزودينمدمج، عبر “MiniMax Token Plan (minimax.io)”

لقطة من وثائق MiniMax’ ومن Models.dev في 5 أكتوبر 2026. الإصدارات التجريبية تتغير دون إشعار؛ تحقق قبل الاعتماد على أي صف.

أمر يستحق التوضيح: تقول الوثائق إن التفكير لا يمكن تعطيله’. أرسل thinking.type: "disabled" أو جهدًا بقيمة none، فترجع API خطأ 400 يقول، بكلمات صريحة، إن النموذج “يتطلب تفكيرًا تكيفيًا.” ما يمكنك التحكم فيه هو مدى عمق تفكيره.

كيف تحصل عليه: خطة M Plan

وثائق MiniMax’ صريحة بشأن الوصول: “MiniMax-M3.1-Flash-Preview متاح فقط عبر M Plan وMiniMax Code في الوقت الحالي.”

فئة M Planالسعرما يشمله’
Go$22 شهريًاM3.1-Flash-Preview، إضافة إلى نماذج الصور والصوت من MiniMax’
Explore$55 شهريًاكل ما في Go، إضافة إلى نموذج الفيديو H3
Build$132 شهريًاكل ما في Explore، مع أكبر حصة استخدام

بعض التفاصيل التي تهم أكثر من الأسعار المعلنة:

  • عرض الإطلاق: خصم 50% على شهرك الأول مع الفوترة الشهرية، حتى 14 أكتوبر 2026. الفوترة السنوية مستثناة. بعد الشهر الأول يتجدد بالسعر الكامل ما لم توقف التجديد التلقائي.
  • أسبوع مجاني: حصل جميع المشتركين على استخدام غير محدود لـ M3.1-Flash-Preview من 1 إلى 7 أكتوبر (بتوقيت الصين). وإذا كنت’ تقرأ هذا بعد السابع، فقد انتهى ذلك’.
  • إنه’ مفتاح اشتراك، لا مفتاح API. توضح وثائق MiniMax’ أن مفاتيح الاشتراك ومفاتيح API للدفع حسب الاستخدام غير قابلة للتبادل. وستلصق مفتاح الاشتراك’ في OpenCode.
  • حصص، لا قياس استهلاك. الاستخدام محدود في نوافذ متجددة كل خمس ساعات وأسبوعية، والحصة غير المستخدمة لا تُرحّل’. وبالنسبة لفئات Token Plan المكافئة، كانت إرشادات MiniMax’ نفسها نحو ثلاثة إلى أربعة، وأربعة إلى خمسة، وستة إلى سبعة وكلاء يعملون معًا.
  • المشتركون الحاليون في خطة Token Plan يحتفظون بخطتهم. أما العملاء الجدد فيشترون خطة M Plan.
  • الأدوات المدعومة تشمل الأدوات المدعومة على صفحة خطة M Plan في موقع MiniMax كلاً من Claude Code وCodex وCursor وOpenCode وHermes Agent وOpenClaw.

MiniMax Code هو في حد ذاته وكيل سطح مكتب لنظامي macOS وWindows، مع وضع للبرمجة ووضع “work” للبحث والمستندات، إضافة إلى نسخة تعمل من سطر الأوامر. وهي طريقة جيدة تمامًا لتجربة النموذج. أستخدم OpenCode لأنه لا يقيّدني بمصنّع نموذج واحد، وهذا هو جوهر الجزء الثاني.

لماذا يناسب بناء التطبيقات

  • نافذة السياق تغيّر طريقة عملك. التطبيق الجوّال الصغير يبلغ بضعة آلاف من أسطر الشيفرة، وربما بضع عشرات الآلاف. ومع مليون رمز، يستطيع الوكيل أن يحتوي قاعدة الشيفرة كاملة، وملف AGENTS.md، ونموذج البيانات، وجزءًا من وثائق المنصة في وقت واحد. ولحظات “نسيت ما قررناه” تصبح أقل. (دليل MiniMax الخاص بـ OpenCode يحد النافذة عند 512K في إعداده النموذجي، وكنت سأنسخ ذلك. السياقات الأقصر تعني إجابات أسرع.)
  • أرِه، لا تصفه. ولأنه يتقبل الصور والفيديو، يمكنك إلقاء إطار Figma مُصدَّر، أو لقطة شاشة من محاكي iOS، أو تسجيل شاشة للخلل الذي تغطي فيه لوحة المفاتيح زر الحفظ. هذا الأخير وحده يوفّر قدرًا هائلًا من الكتابة.
  • الجهد مِقبض دوّار، لا مفتاح تشغيل. أقصى لتخطيط ميزة أو فك تشابك خلل في المزامنة. منخفض أو medium لإعادة تسمية الأشياء وكتابة الاختبارات وترجمة النصوص. يوضح الجزء الرابع كيفية ضبط ذلك لكل وكيل.
  • التكلفة ثابتة. لمن يبني وحده، فاتورة شهرية يمكن التنبؤ بها أفضل من مراقبة عدّاد لكل رمز خلال جلسة تصحيح طويلة.

أظهر اختبار مستقل مبكر سرعة تقارب 90 إلى 110 رموز في الثانية في اليوم الأول. هذا قياس واحد، وليس معيار قياس، لكنه يتوافق مع اسم “Flash”.

ما لا يعرفه أحد بعد

هذا هو الجزء الذي تغفله معظم التغطيات لـ M3.1:

  • لا توجد معايير قياس. لا من MiniMax، ولا من اللوحات المستقلة، لأن نموذجًا لا يمكن الوصول إليه إلا عبر اشتراك شركة واحدة يصعب اختباره بشكل مستقل. أنت هو معيار القياس. أعطه مهمة حقيقية واحدة من مشروعك، وأعطِ المهمة نفسها لنموذج تثق به بالفعل، ثم قارن الفروق.
  • لا يوجد سعر لكل رمز. هذا مقبول داخل الاشتراك. لكنه مشكلة إن أردت تشغيل النموذج في CI أو في منتج، حيث تحتاج إلى معرفة تكلفة مليون رمز.
  • إنه إصدار معاينة. قد يتغير سلوكه أو تُعاد تسميته أو يستبدله M3.1 الكامل دون إشعار. أبقِ معرّف النموذج في ملف إعدادات واحد حتى يكون تبديله تغييرًا في سطر واحد.
  • التفكير يعمل دائمًا. حتى الطلبات التافهة تحمل بعض عبء الاستدلال. خفّض الجهد للمهام الصغيرة.
  • إنه متاح من MiniMax فقط. إنه غير موجود على OpenRouter أو Ollama Cloud أو OpenCode Go وقت كتابة هذا النص. تذهب موجّهاتك وشيفرتك إلى خوادم MiniMax، لذا في أعمال العملاء الخاضعة لقواعد بيانات صارمة، اقرأ شروط MiniMax أولًا أو أبقِ ذلك المشروع على نماذج محلية.

لا تُنزّل “MiniMax M3.1”

خلال يوم من الإطلاق، ظهرت مستودعات على GitHub لا علاقة لها بـ MiniMax، تَعِد بـ “تنزيل مجاني رسمي” لـ M3.1-Flash على هيئة ملف zip لنظام Windows يمكن “فك ضغطه وتشغيله”. لا توجد أوزان M3.1 لتنزيلها، وMiniMax Code يأتي من موقع MiniMax نفسه. تعامل مع أي “تنزيل M3.1” كبرمجية خبيثة إلى أن يثبت العكس.

متى تستخدم MiniMax M3 بدلًا منه

استخدم M3 إن كنت تحتاج أيًا من الأشياء التي لا يقدمها إصدار المعاينة: الأسعار بالدفع حسب الاستخدام، أو أوزان مفتوحة يمكنك استضافتها ذاتيًا، أو الوصول عبر OpenCode Go أو Ollama Cloud أو OpenRouter. وهو أيضًا الخيار الأكثر أمانًا لأي شيء آلي، لأن سعره وسلوكه موثقان. وإن أردت نظرة أوسع على البدائل، فدليلي MiniMax M3 مقابل Kimi K2.7 Code مقابل Nemotron 3 Ultra المقارنة تغطي المجال.


الجزء 4 — إعداد OpenCode v2 مع MiniMax M3.1، خطوة بخطوة

هذا هو الإعداد الذي سأعطيه لصديق. يستغرق نحو خمس عشرة دقيقة، معظمها في انتظار التنزيلات.

الخطوة 0 — ما تحتاجه أولًا

  • جهاز Mac بمعالج Apple silicon، إن كنت تريد بناء تطبيقات iPhone وتشغيلها محليًا. لم يعد Xcode 27 (الصادر في 14 سبتمبر 2026) يدعم أجهزة Mac بمعالج Intel ويحتاج إلى macOS Tahoe 26.4 أو أحدث. وإن اخترت مسار Expo في الجزء السابع، يمكنك بناء تطبيقات iOS في السحابة من Windows أو Linux، لكنك ستظل بحاجة إلى iPhone حقيقي للاختبار.
  • Git. اللقطات والفروع وسلامتك العقلية كلها تعتمد عليه.
  • Node.js (LTS) إذا كنت ستستخدم Expo.
  • اشتراك في خطة MiniMax M Plan (الجزء 3).
  • طرفية حديثة. طرفية macOS كافية؛ لكن Ghostty وWezTerm وKitty أجمل.

الخطوة 1 — تثبيت OpenCode v2

bash

curl -fsSL https://opencode.ai/v2/install | bash

opencode --version          # should print 2.0.x
opencode service status     # the shared background server should be running

هل تريد تطبيق سطح المكتب أيضًا؟ نزّله من opencode.ai/download، أو على جهاز Mac نفّذ brew install --cask opencode-desktop. تتشارك الطرفية وتطبيق سطح المكتب خادمًا واحدًا، لذا تظهر الجلسة التي تبدأها في أحدهما في الآخر.

أمر يستحق الانتباه: دليل OpenCode الخاص بـ MiniMax لا يزال يعرض رابط مثبّت الإصدار v1 (opencode.ai/install). استخدم /v2/install الرابط أعلاه.

الخطوة 2 — احصل على مفتاح اشتراك M Plan

اشترك على منصة MiniMax وأنشئ مفتاح اشتراك في لوحة التحكم. ليس مفتاح API للدفع حسب الاستخدام: فهما منتجان مختلفان، ومفتاح الاشتراك وحده يمنحك M3.1-Flash-Preview.

تعامل مع المفتاح كما تعامل كلمة المرور. لا تلصقه أبدًا في محادثة أو لقطة شاشة أو مستودع Git.

الخطوة 3 — اربط MiniMax داخل OpenCode

bash

cd ~/code/my-app
opencode

ثم، داخل OpenCode:

  1. النوع /connect وابحث عن MiniMax Token Plan (minimax.io). احتفظ المزوّد باسمه القديم؛ وهو يقبل مفاتيح M Plan.
  2. ألصق مفتاح اشتراكك.
  3. النوع /models واختر MiniMax-M3.1-Flash-Preview.

هذا كل شيء. كتالوج النماذج في OpenCode (Models.dev) يدرج النموذج بالفعل مع نافذة سياقه البالغة 1,000,000 رمز، وإدخال الصور والفيديو، ومستويات الجهد الخمسة، لذا لا تحتاج إلى ملف إعدادات للبدء. إن لم يظهر في /models، فحدّث OpenCode أولًا؛ كما يضيفه ملف الإعدادات في الخطوة 4 يدويًا.

بديلان: opencode auth login يفعل الشيء نفسه من الطرفية، ومعالج الإعداد في MiniMax (npx -y mmx-cli@latest agent setup) يثبّت OpenCode ويهيّئه لك، مع M3 كخيار افتراضي. بدّل إلى M3.1 بعد ذلك باستخدام /models. حسابات منصة MiniMax في الصين تستخدم نسخة المزوّد “(minimax.cn)”.

الخطوة 4 — أضف إعدادات المشروع

الإعدادات الافتراضية تعمل، لكن مشروع تطبيق يستحق ملف إعدادات يفعل ثلاثة أشياء: يوجّه كل وكيل إلى مستوى الجهد المناسب، ويضبط أذونات تُبعِد الوكيل عن أي شيء لا رجعة فيه، ويوصل خوادم MCP الخاصة بك. احفظه باسم opencode.jsonc في جذر مشروعك:

jsonc

{
  "$schema": "https://opencode.ai/config.json",

  // Default model for new sessions
  "model": "minimax-coding-plan/MiniMax-M3.1-Flash-Preview",

  "providers": {
    "minimax-coding-plan": {
      "models": {
        "MiniMax-M3.1-Flash-Preview": {
          // MiniMax's own OpenCode example caps the window at 512K
          "limit": { "context": 524288 },

          // Thinking is always on and defaults to "max".
          // These variants send MiniMax's documented output_config.effort field.
          "variants": [
            { "id": "quick", "body": { "output_config": { "effort": "low" } } },
            { "id": "steady", "body": { "output_config": { "effort": "medium" } } },
            { "id": "careful", "body": { "output_config": { "effort": "high" } } }
          ]
        }
      }
    }
  },

  "agents": {
    // Planning gets the full default effort: a bad plan costs the most later
    "plan":    { "model": "minimax-coding-plan/MiniMax-M3.1-Flash-Preview" },
    // Building: thorough, but faster than max
    "build":   { "model": "minimax-coding-plan/MiniMax-M3.1-Flash-Preview#careful" },
    // Read-only searching through the codebase: speed matters more than depth
    "explore": { "model": "minimax-coding-plan/MiniMax-M3.1-Flash-Preview#quick" }
  },

  "permissions": [
    { "action": "shell", "resource": "*",                  "effect": "ask"   },
    { "action": "shell", "resource": "git status *",       "effect": "allow" },
    { "action": "shell", "resource": "git diff *",         "effect": "allow" },
    { "action": "shell", "resource": "git log *",          "effect": "allow" },
    { "action": "shell", "resource": "npm test *",         "effect": "allow" },
    { "action": "shell", "resource": "npx tsc *",          "effect": "allow" },
    { "action": "shell", "resource": "npx expo lint *",    "effect": "allow" },
    { "action": "shell", "resource": "git push *",         "effect": "deny"  },
    { "action": "shell", "resource": "eas submit *",       "effect": "deny"  },
    { "action": "shell", "resource": "firebase deploy *",  "effect": "deny"  }
  ],

  "mcp": {
    "servers": {
      // Figma's desktop MCP server (Part 6). Local, so no OAuth.
      "figma-desktop": {
        "type": "remote",
        "url": "http://127.0.0.1:3845/mcp",
        "oauth": false
      },
      // Firebase's official MCP server. It asks before changing your project.
      "firebase": {
        "type": "local",
        "command": ["npx", "-y", "firebase-tools@latest", "mcp"]
      }
    }
  }
}

بعض الملاحظات لتعرف ما تلصقه:

  • تُقرأ قواعد الأذونات من الأعلى إلى الأسفل، والأولوية للتطابق الأخير. كل أمر shell يسأل أولًا، وأوامر Git والاختبار غير الضارة تُنفَّذ بحرية، وثلاثة أشياء تُرفض رفضًا قاطعًا: دفع الكود، والتقديم إلى App Store، ونشر الواجهة الخلفية. أنت من يفعل ذلك بنفسك، عمدًا.
  • استبدل الأوامر المسموح بها بأوامر سلسلة أدواتك. إذا كنت تبني أصليًا باستخدام Xcode بدلًا من Expo، فاستبدل npx الأسطر التي تحتوي على أوامر الاختبار والفحص.
  • إذا لم يبدُ أن أحد المتغيّرات يفعل شيئًا، شغّل /models لتأكيد أسماء المتغيّرات، وتحقق من الطلب في سجلات OpenCode. يستخدم MiniMax أقصى عندما لا يُرسل أي مستوى جهد، لذا أسوأ حالة هي إجابة أبطأ، لا إجابة معطّلة.
  • أمثلة النمط v1 الأقدم ما زالت تعمل. يستخدم دليل MiniMax النمط v1 provider key؛ يقرأ OpenCode v2 إعدادات v1 المدعومة دون إعادة كتابة ملفك.

الخطوة 5 — اكتب AGENTS.md قبل أن تكتب سطرًا واحدًا من الشيفرة

يقرأ OpenCode AGENTS.md في بداية كل جلسة. إنها العادة الأكثر فاعلية في التطوير بمساعدة الذكاء الاصطناعي، و دليل Vibe coding يدخل في النظام كله. بالنسبة لتطبيق، ينبغي أن يحمل قواعد المنتج إلى جانب أوامر البناء. هذا شكل نموذج لتطبيق مثل Stash:

markdown

# ملاحظات لوكلاء البرمجة (مثال لتطبيق على نمط Stash)

## ما هذا التطبيق
يتذكر Stash أين توجد الأشياء. صورة للمكان + اسم + غرفة = العثور عليها في ثوانٍ.
إذا لم يجعل التغيير الحفظ أو العثور أسرع، فهو ليس في مكانه.

## غير قابل للتنازل
- بلا اتصال أولًا. كل ميزة تعمل دون شبكة. المزامنة ميزة إضافية.
- وضع الضيف لا يرفع أي شيء أبدًا.
- لا تحليلات ولا إعلانات ولا حزم تتبّع SDK. اسأل قبل إضافة أي تبعية.
- لا أسرار في حزمة التطبيق. العمل ذو الصلاحيات الخاصة يحدث في Cloud Functions.
- إمكانية الوصول: Dynamic Type، وتسميات VoiceOver، وأهداف لمس 44 x 44 pt.
- الوضع الفاتح والداكن لكل شاشة.

## التصميم
- توجد الرموز في src/theme/tokens.ts. لا تُضمّن لونًا أو حجم خط بشكل ثابت أبدًا.
- عند تنفيذ إطار Figma: get_design_context، ثم get_variable_defs،
  ثم get_screenshot لمقارنة نتيجتك.

## الأوامر
- التثبيت: npm install
- التشغيل: npx expo start
- الاختبار: npm test
- الأنواع: npx tsc --noEmit
- الفحص: npx expo lint

## تعريف الإنجاز
- نجاح الاختبارات والأنواع والفحص
- يعمل في وضع الطيران
- يعمل في الوضع الفاتح والداكن، بأكبر حجم نص
- لا تحذيرات جديدة في وحدة التحكم

الخطوة 6 (اختيارية) — شغّل OpenCode داخل Xcode، وامنحه أدوات Xcode

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

OpenCode كوكيل داخل Xcode (ACP). يستطيع Xcode استضافة أي وكيل يتحدث Agent Client Protocol، وOpenCode يفعل ذلك، عبر opencode acp.

  1. سجّل الدخول من الطرفية أولًا: opencode auth login.
  2. التشغيل which opencode وانسخ المسار المطلق. لا يوسّع Xcode ~ أو يقرأ PATH في الصدفة الخاصة بك.
  3. في Xcode، اختر Xcode → Settings → Intelligence، ثم ضمن Agents انقر إضافة وكيل.
  4. ألصق المسار كأمر وأضف acp كوسيطة.
  5. ابدأ محادثة جديدة في شريط Intelligence الجانبي في Xcode واختر OpenCode.

لا يمكنك تبديل النماذج من واجهة Xcode، لذا عيّن نموذجك الافتراضي في opencode.jsonc أولًا.

أدوات Xcode داخل OpenCode (MCP). الاتجاه الآخر غالبًا أكثر فائدة: يبقى OpenCode في طرفيتك، لكنه يستطيع بناء مشروعك وتشغيل الاختبارات وعرض معاينات SwiftUI عبر Xcode.

  1. في Xcode → Settings → Intelligence، ضمن Model Context Protocol، شغّل اسمح للوكلاء الخارجيين باستخدام أدوات Xcode.
  2. أضف جسر Xcode إلى OpenCode: opencode mcp add xcode -- xcrun mcpbridge
  3. افتح مشروعك في Xcode قبل إرسال الموجّه. يتحدث الجسر إلى Xcode قيد التشغيل، ويخبرك Xcode عندما يتصل وكيل خارجي.

أي مستوى جهد لأي مهمة

المهمةالوكيلالجهد
تخطيط ميزة، أو نموذج البيانات، أو منطق المزامنةplanأقصى (الافتراضي)
تنفيذ شاشة من إطار Figmabuildمرتفع
إصلاح خطأ بطريقة واضحة لإعادة إنتاجهbuildمرتفع; أقصى إذا كان خطأ مزامنة أو حالة تسابق
كتابة الاختبارات، وإعادة التسمية، وإعادة الهيكلة الصغيرةbuildmedium
البحث في قاعدة الشيفرة وقراءة الوثائقexploreمنخفض
تعديلات النصوص وترجمة السلاسلbuildمنخفض أو medium

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


الجزء 5 — تصميم تطبيقك في Figma عندما لا تكون مصممًا

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

ابدأ بالكلمات، لا بالمستطيلات

قبل أن تفتح Figma، اكتب ثلاثة أشياء في ملف نصي عادي:

  1. الوعد، في جملة واحدة. أما Stash: أسرع طريقة لتتذكر أين وضعت أشياءك.
  2. ثلاث قصص مستخدم. “وضعت جواز سفري في درج المكتب وأريد أن أجده في مارس.” “أنا في المرآب، ولا توجد إشارة، وأريد أن أسجل أين ذهب المثقاب.” “أريد أن تُذكّرني أضواء عيد الميلاد بوجودها في نوفمبر.”
  3. قائمة الشاشات. يأتي Stash بأربع تبويبات (الرئيسية، والبحث، والغرف، والإعدادات) إضافة إلى شاشة إضافة وعرض تفاصيل العنصر. ست شاشات. هذا تطبيق كامل.

ثم أعطِ ذلك الملف إلى plan الوكيل واطلب منه أن يجادلك: “اقرأ هذا الموجز. اسرد مسارات المستخدم، والحالات الحدّية التي لم أفكر فيها، والشاشات التي تنقصني. ثم أخبرني بما يجب أن أحذفه.” هذا بالضبط نوع العمل الممل والشامل الذي يُستخدم من أجله الجهد الأقصى: سؤال من نوع “ماذا يحدث عندما يرفض المستخدم الوصول إلى الكاميرا؟” عشر دقائق منه قد توفّر عليك إعادة تصميم.

اضبط المتغيرات قبل أن ترسم أي شيء

Figma المتغيرات هي قيم مسمّاة: الألوان، والتباعد، وأنصاف أقطار الزوايا، والأحجام. اضبطها أولًا، مع وضع فاتح ووضع داكن للألوان، وسيكون تطبيقك متسقًا بشكل افتراضي.

تزداد أهميتها إلى الضعف مع وكيل ذكاء اصطناعي. وعندما ينفّذ الوكيل شاشة، يستطيع خادم MCP في Figma أن يمرّر إليه المتغيرات الدقيقة المستخدمة في ذلك الإطار (أداة get_variable_defs )، فيكتب colors.green بدلًا من تخمين رمز سداسي عشري من لقطة شاشة.

هذه هي لوحة الألوان من مفهوم التصميم العام لـ Stash:

الرمزالقيمةيُستخدم فيالتباين على Paper
Paper#F6F4EEخلفية التطبيق—
Surface#FFFCF7البطاقات والحقول—
الحبر#172E2Aالنص الأساسي13.1 : 1
الأخضر#23594Cالأزرار والحالات المحددة والهوية7.3 : 1
الأخضر الفاتح#E1EBE4إبرازات هادئة—
المرجاني#D46F4Fنقطة التمييز، كلمة واحدة في العنوان3.1 : 1
المرجاني الفاتح#F8E8DEإبرازات دافئة—
الباهت#6E7D76النص الثانوي3.9 : 1
الخط#DEDFD7الفواصل والحدود—

تستخدم العناوين خطًا مذيّلًا؛ وكل ما عداها يستخدم خط النظام بلا تذييل. هذا هو نظام المحارف بالكامل.

عمود التباين هو الجزء الذي يجب نسخه. يحقق الحبر والأخضر نسبة 4.5 : 1 التي يطلبها WCAG للنص العادي بفارق كبير. أما المرجاني، بنحو 3 : 1، فلا يجتاز إلا للنص الكبير، لذا مكانه كلمات العناوين الكبيرة ونقاط التمييز الصغيرة، وهو تحديدًا ما يستخدمه Stash. ويقف الرمادي الباهت عند 3.9 : 1، لذا مكانه التعليقات الأكبر حجمًا لا النص الصغير. تحقق من هذا في Figma قبل أن ينسخ الوكيل رمزًا إلى خمسين موضعًا.

عرض الصورة تسعة ألوان، وخطان، وحفنة من المكوّنات. لا يلزم أن يكون نظام التصميم كبيرًا ليكون مفيدًا؛ يلزم فقط أن يكون مكتوبًا.

ابنِ خمسة مكوّنات، لا خمسين

لأول تطبيق تحتاج إلى نحو خمسة مكوّنات قابلة لإعادة الاستخدام: زر (أساسي وهادئ)، و حقل نص، وهو بطاقة، وهو صف قائمة أو مربّع (مربّع الغرفة في Stash) و شريط التبويبات. ابنِها كمكوّنات Figma مع متغيّرات لحالاتها: الافتراضي، المضغوط، المعطّل، الخطأ.

تنشر Apple موارد تصميم iOS الرسمية لـ Figma. استخدمها كمرجع للعناصر النظامية مثل الأوراق والتنبيهات ولوحة المفاتيح بدل إعادة رسمها. سيعتمد وكيلك على مكوّنات النظام الحقيقية على أي حال.

صمّم الشاشات التي سينساها الوكيل

الوكلاء جيدون جدًا في المسار السعيد وسيّئون بهدوء في كل ما يحيط به. صمّم هذه الأمور عمدًا:

  • الحالات الفارغة. أول تشغيل، غرفة لا شيء فيها (شبكة غرف Stash تعرض “لا توجد عناصر بعد”)، بحث بلا نتائج.
  • النص الضخم. اضبط هاتفك على أكبر حجم Dynamic Type وانظر إلى تخطيطاتك. أسماء العناصر الطويلة تلتف. الأزرار تكبر.
  • الوضع الداكن، لكل شاشة، لا للشاشات الجميلة فقط.
  • بلا صورة. كيف تبدو بطاقة العنصر بدون صورة؟
  • تم رفض الإذن. قال المستخدم لا للكاميرا. ماذا الآن؟
  • دون اتصال. كيف يبدو “محفوظ، ستتم المزامنة لاحقًا”؟

دع الذكاء الاصطناعي يساعد داخل Figma، لكن أبقِ مصدر الحقيقة بيدك

نما ذكاء Figma الاصطناعي بسرعة هذا العام. أداة Figma Agent دخلت النسخة التجريبية المفتوحة لكل الخطط المدفوعة في Config 2026، وهي مجانية أثناء التجربة لمقاعد Full. يمكنها توليد التصاميم وإعادة مزجها داخل ملفك. Figma Make تحوّل الموجّهات إلى نماذج أولية قابلة للنقر. Weave أدوات تنفّذ الآن مهام الصور مثل تبديل الخلفيات دون مغادرة ملف التصميم.

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

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

اصنع نموذجًا أوليًا، ثم راقب ثلاثة أشخاص يستخدمونه

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


الجزء 6 — ربط Figma بـ OpenCode: مصيدة MCP

هذا هو جزء سير العمل الذي يبدو كالمستقبل عندما ينجح: اختر إطارًا في Figma، اطلب من الوكيل بنائه، فيقرأ التخطيط الحقيقي والمتغيرات الحقيقية والمكوّنات الحقيقية بدل التحديق في لقطة شاشة.

وهو أيضًا الجزء الذي تتخطى فيه معظم الأدلة تفصيلة ستكلفك أمسية.

ما يمنحه خادم MCP في Figma للوكيل

MCP، بروتوكول سياق النموذج، هو الطريقة المعيارية لاستخدام وكيل ذكاء اصطناعي لأدوات خارجية. يعرض خادم MCP في Figma مجموعة أدوات؛ هذه هي المهمة لبناء تطبيق:

الأداةما يعيده
get_design_contextسياق التصميم للطبقة أو الإطار المحدد. تسميه Figma نقطة البداية الافتراضية
get_variable_defsالمتغيرات والأنماط المستخدمة في التحديد: ألوانك، والتباعد، والخط
get_screenshotصورة للتحديد، ليتمكن الوكيل من مقارنة نتيجته
get_metadataمخطط XML مختصر لبنية الطبقات
get_code_connect_mapتعيينات بين مكوّنات Figma ومكوّنات الشيفرة الحقيقية لديك
create_design_system_rulesموجّه يكتب ملف قواعد يصف نظام تصميمك للوكيل

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

الخادم البعيد مقابل خادم سطح المكتب

تشغّل Figma نسختين من الخادم:

  • الخادم البعيد على https://mcp.figma.com/mcp. توصي به Figma، ولا يحتاج تطبيق سطح المكتب، ويعمل على كل مقعد وخطة، وفيه مجموعة الأدوات الكاملة بما فيها الكتابة على اللوحة.
  • خادم سطح المكتب على http://127.0.0.1:3845/mcp، الذي يعمل داخل تطبيق Figma لسطح المكتب. يتطلب مقعد Dev أو Full على خطة مدفوعة، وهو للقراءة فقط في الغالب.

العقبة: OpenCode غير مسموح على الخادم البعيد بعد

يقبل الخادم البعيد فقط العملاء المعتمدين أثناء نسخته التجريبية. تشمل قائمة Figma كلاً من Claude Code وCodex وCursor وVS Code وGemini CLI وKiro وWarp وXcode وغيرها. OpenCode ليس على القائمة. حاول الاتصال، وستفشل خطوة التسجيل بخطأ HTTP 403.

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

ستجد منشورات تقترح استعارة معرّف عميل OAuth لتطبيق آخر للتحايل على قائمة السماح. لا تفعل. استخدم خادم سطح المكتب وانتظر الدعم الرسمي.

عرض الصورة ثلاثة مسارات من Figma إلى OpenCode. واحد فقط منها طريق مسدود، وهو الذي توصي به Figma لكل الآخرين.

إعداد خادم سطح المكتب مع OpenCode

  1. ثبّت Figma desktop app وسجّل الدخول بحساب لديه مقعد Dev أو Full على خطة مدفوعة. في خطة Professional يكلف مقعد Dev 12 دولارًا شهريًا ومقعد Full 16 دولارًا.
  2. افتح ملف تصميمك وانتقل إلى Dev Mode مع Shift + D.
  3. في لوحة الفحص، جد خادم MCP القسم وانقر على Enable desktop MCP server.
  4. أضفه إلى OpenCode. استخدم إما figma-desktop من الإعداد في الجزء 4، أو شغّل:

bash

   opencode mcp add figma-desktop --url http://127.0.0.1:3845/mcp

إذا حاول OpenCode بدء تسجيل دخول OAuth له، اضبط "oauth": false على الخادم في opencode.jsonc. خادم سطح المكتب محلي ولا يحتاج واحدًا. 5. تحقق من اتصاله بـ opencode mcp list.

أبقِ تطبيق Figma لسطح المكتب مفتوحًا أثناء عملك. إذا أُغلق Figma، تختفي أدوات Figma لدى الوكيل ببساطة.

انتبه لحدود المعدل

في خطة Professional، تحصل مقاعد Dev وFull على ما يصل إلى 200 استدعاء أداة MCP يوميًا و10 في الدقيقة. تحصل مقاعد Organization على 15 في الدقيقة؛ وتحصل Enterprise على 600 يوميًا و20 في الدقيقة. مقاعد View وCollab محدودة بعدد قليل من الاستدعاءات شهريًا. مئتا استدعاء تبدو كثيرة حتى يستدعي وكيل متحمس get_screenshot بعد كل تعديل صغير، لذا اطلب منه، في AGENTS.md، أن يقارن مع لقطة الشاشة مرة لكل شاشة بدل مرة لكل تغيير.

نمط الموجّه الذي ينجح

اختر إطارًا في Figma، ثم في OpenCode:

نفّذ إطار Figma المحدد كشاشة Add Item. أولاً استدعِ get_design_context وget_variable_defs. استخدم فقط الرموز من src/theme/tokens.ts؛ إذا كانت قيمة ناقصة، أضف رمزًا بدل كتابتها مباشرة. أعد استخدام مكوّنات Button وTextField وCard الموجودة لدينا. عندما تنتهي، استدعِ get_screenshot واسرد كل فرق مرئي بين الإطار وما بنيته. ثم أصلحها.

عاداتان تجعلان هذا أكثر موثوقية بكثير:

  • التشغيل create_design_system_rules مرة واحدة في بداية المشروع واحفظ النتيجة كقسم في AGENTS.md أو كمهارة في .opencode/skills/. من ذلك الحين، كل جلسة تعرف قواعد تصميمك دون أن تُخبَر.
  • إطار واحد لكل طلب. “ابنِ التطبيق كله من هذا الملف” ينتج تطبيقًا كاملًا خاطئًا قليلًا في كل مكان. شاشة واحدة في كل مرة تنتج شاشات صحيحة.

لا مقعد مدفوع؟ المسار المجاني

يمكنك فعل كل هذا دون MCP. يقرأ M3.1 الصور، لذا صدّر كل إطار كـ PNG بدقة 2x، أرفقه بموجّهك، وألصق قيم الألوان والتباعد في ملف رموز في المستودع. تخسر بيانات الطبقات الدقيقة وعمليات البحث عن المتغيرات، لذا توقّع المزيد من الأخذ والعطاء حول التباعد. لتطبيق أول بست شاشات، هذا قابل للعمل تمامًا، ولا يكلف شيئًا.


الجزء 7 — كيف تبني تطبيقًا من الصفر، مرحلة بمرحلة

هذا هو جزء “من الصفر”. سبع مراحل، بالترتيب الذي سأتبعها، مع الموجّهات والفخاخ.

المرحلة 0 — اختر إطار عملك

لديك ثلاثة خيارات معقولة في 2026، والخيار الصحيح يعتمد على أين يحتاج تطبيقك إلى العمل.

SwiftUI + Xcode 27Expo SDK 56 (React Native)Flutter
يعمل علىiPhone وiPad وMac وApple Watch وVision ProiPhone وiPad وAndroid والويبiPhone وiPad وAndroid والويب وسطح المكتب
اللغةSwift 6.4TypeScriptDart
هل تحتاج إلى Mac؟نعمليس للبناء أو الإرسال: خدمة EAS من Expo تبني تطبيقات iOS في السحابةنعم، لبناءات iOS، إلا إذا استخدمت CI سحابيًا
الودجاتWidgetKit الأصليمستقر لـ iOS منذ SDK 56عبر الإضافات مع شيفرة WidgetKit الأصلية
ملاءمة الوكلاءجيدة جدًا، خصوصًا مع أدوات MCP الخاصة بـ Xcode؛ مترجم Swift يلتقط الكثيرجيدة جدًا: أنواع TypeScript، وإعادة تحميل سريعة، وكم هائل من الشيفرة النموذجية العامةجيد
الأفضل لـتطبيقات Apple فقط التي تريد كل ميزة أصليةقاعدة شيفرة واحدة لـ iPhone وAndroid، يبنيها شخص واحدواجهة متطابقة المظهر على كل منصة

قاعدتي العملية:

  • Apple فقط، وتريد أحدث ألعاب المنصة (أطر الذكاء الاصطناعي على الجهاز من Apple، وLive Activities، والتكامل العميق مع النظام): SwiftUI، مع تشغيل OpenCode داخل Xcode أو استخدام أدوات Xcode (الجزء 4).
  • iPhone وAndroid من قاعدة شيفرة واحدة، وأنت شخص واحد: Expo. صدر SDK 56 في 21 مايو 2026 مع React Native 0.85، ورفع الحد الأدنى إلى iOS 16.4، وجعل طبقة واجهته SwiftUI وJetpack Compose جاهزة للإنتاج، ورفع ودجات iOS إلى الحالة المستقرة. تبني خدمة EAS وتُرسل تطبيقات iOS من Windows أو Linux، وتشمل الطبقة المجانية 15 بناء iOS و15 بناء Android شهريًا.
  • Flutter إذا كنت أنت أو فريقك تعرفونه بالفعل.

تتطلب صفحة Stash على App Store إصدار iOS 16.4، وسياسة الخصوصية فيه تغطي بالفعل نسخة Android، فمن الواضح أنه مقصود ليتجاوز iPhone.

المرحلة 1 — الهيكل، الالتزام، الموجز

أنشئ المشروع الفارغ وتأكد من أنه يعمل قبل أن يلمسه الوكيل.

Expo:

bash

npx create-expo-app@latest my-app
cd my-app
npx expo start        # open it on your phone with Expo Go, or in the iOS Simulator

SwiftUI: في Xcode، اختر File → New → Project → iOS → App، اختر SwiftUI، وشغّله مرة واحدة في المحاكي.

ثم أضف الملفات من الجزء 4 (AGENTS.md و opencode.jsonc)، بالإضافة إلى ملفين آخرين:

  • ROADMAP.md: قائمة الشرائح الرأسية أدناه، مع مربعات اختيار. يقرأها الوكيل، ويشطب الأشياء، وتعرف دائمًا أين أنت.
  • src/theme/tokens.ts (أو مكافئ Swift): متغيرات Figma الخاصة بك كشيفرة. انسخها يدويًا، أو دع الوكيل يسحبها بـ get_variable_defs.

التزم. إذا لم يكن Git معدًا بالفعل، git init أولاً. من الآن فصاعدًا، كل خطوة عمل تنتهي بالتزام.

المرحلة 2 — خطّط لنموذج البيانات قبل أي شاشات

نموذج البيانات هو القرار الأغلى تغييرًا لاحقًا، لأن بمجرد أن يملك مستخدمون حقيقيون بيانات حقيقية، كل تغيير يحتاج إلى ترحيل. استخدم plan الوكيل بأقصى جهد:

أنت تخطّط لتطبيق “أين وضعته؟”. اقرأ AGENTS.md وROADMAP.md والموجز. اقترح نموذج البيانات، ونهج التخزين المحلي، وبنية المجلدات. يجب أن يعمل التطبيق بالكامل دون اتصال وبلا حساب؛ تأتي الحسابات والمزامنة لاحقًا ويجب ألا تتطلب إعادة كتابة الطبقة المحلية. اسرد المقايضات، وعمليات الترحيل التي سنحتاجها إذا أضفنا المزامنة لاحقًا، وأي شيء غامض في الموجز. لا تكتب شيفرة بعد.

لتطبيق على شكل Stash، ستنتهي إلى شيء مثل هذا (توضيح، وليس مخطط Stash الفعلي):

ts

type Room = {
  id: string;
  name: string;            // "Hallway"
  createdAt: number;
  updatedAt: number;
};

type Item = {
  id: string;
  name: string;            // "House keys"
  roomId: string;
  spot?: string;           // "Top drawer"
  note?: string;           // "In the ceramic dish on the left"
  photoPath?: string;      // local file first; cloud copy only with an account
  voiceNotePath?: string;
  transcript?: string;     // what makes voice notes searchable
  remindAt?: number;       // seasonal reminder
  createdAt: number;
  updatedAt: number;       // used to resolve sync conflicts
  deletedAt?: number;      // soft delete, so deletions can sync too
};

اقرأ الخطة جيدًا. جادل فيها. هذه أرخص لحظة في المشروع كله لتغيير رأيك.

المرحلة 3 — ابنِ بشرائح رأسية

الشريحة الرأسية هي ميزة واحدة تعمل من البداية إلى النهاية، من الشاشة إلى التخزين والعودة، قبل أن تبدأ التالية. هذا هو الترتيب الذي سأبني به تطبيقًا شبيهًا بـ Stash:

  1. أضف عنصرًا: الاسم والغرفة والموضع والملاحظة، محفوظة محليًا.
  2. الصور: الكاميرا ومكتبة الصور، مخزنة كملفات محلية.
  3. الرئيسية: العناصر المحفوظة حديثًا وصف الغرف.
  4. بحث: بالاسم والغرفة والملاحظة، بالإضافة إلى مرشح “مع صور”.
  5. تفاصيل العنصر و“وجدته”.
  6. الغرف: الشبكة، بالإضافة إلى إضافة الغرف وإعادة تسميتها وحذفها.
  7. الملاحظات الصوتية: سجّل، وفرّغ نصيًا، واجعل النص قابلًا للبحث.
  8. التذكيرات: إشعارات محلية للعناصر الموسمية.
  9. الودجات للشاشة الرئيسية وشاشة القفل.
  10. الإعدادات: المظهر والتصدير، وبعد وجود الحسابات، حذف الحساب.
  11. الحسابات والمزامنة: مادة الإصدار الثاني، إذا كنت عاقلًا.

كل شريحة تتبع الحلقة نفسها:

  1. التخطيط: يكتب plan الوكيل خطة قصيرة للشريحة. تصحّحها أنت.
  2. التصميم: اختر إطار Figma، ثم استخدم نمط الموجّه من الجزء 6.
  3. البناء: يكتب build ينفّذ الوكيل، ويشغّل الاختبارات، ويصلح ما يفشل.
  4. شغّله بنفسك، على جهاز، وحاول كسره.
  5. اقرأ الفرق. كل سطر سيُشحن.
  6. التزم، واشطب المربع في ROADMAP.md، وابدأ جلسة جديدة للشريحة التالية.

تلك الجلسة الجديدة تهم أكثر مما تبدو. حتى مع مليون رمز من السياق، تتراكم في الجلسة الطويلة افتراضات قديمة. البداية النظيفة التي تعيد قراءة AGENTS.md وROADMAP.md غالبًا أذكى من جلسة طويلة.

المرحلة 4 — دون اتصال أولاً، ثم المزامنة

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

ترتيب العمليات:

  1. اجعل الطبقة المحلية كاملة أولاً. SQLite عبر مكتبة Expo، أو SwiftData في تطبيق أصلي. تعيش الصور والتسجيلات كملفات على الجهاز.
  2. أضف الحسابات مع Firebase Authentication. تسجيل الدخول بالبريد يكفي للبداية. إذا أضفت Google أو تسجيل دخول طرف ثالث آخر كطريقة رئيسية، فإن إرشاد Apple رقم 4.8 يتطلب خيارًا مكافئًا يركز على الخصوصية مثل Sign in with Apple.
  3. زامن سجلات العناصر إلى Cloud Firestore، والصور والملاحظات الصوتية إلى Cloud Storage، كل منها تحت مسار المستخدم نفسه.
  4. نفّذ الأعمال ذات الصلاحيات على الخادم. أي شيء يحتاج إلى صلاحيات إدارية، مثل محو كل الملفات عند حذف حساب، مكانه Cloud Functions، وليس حزمة التطبيق أبدًا.
  5. أحكِمه بقواعد الأمان بحيث لا يستطيع كل مستخدم أن يقرأ ويكتب بياناته هو فقط:
rules_version = '2';
service cloud.firestore {
  match /databases/{database}/documents {
    match /users/{uid}/{document=**} {
      allow read, write: if request.auth != null && request.auth.uid == uid;
    }
  }
}

اكتب القاعدة المكافئة لـ Cloud Storage، واطلب من الوكيل كتابة اختبارات تحاول قراءة بيانات مستخدم آخر وتفشل. خادم MCP الرسمي من Firebase (موجود في إعدادات الجزء 4) يتيح للوكيل فهم قواعدك والتحقق منها، ويطلب موافقتك قبل أن يغيّر أي شيء في المشروع. أما النشر فيبقى مهمتك، ولهذا firebase deploy ممنوع في الأذونات.

ملاحظتان ماليتان. خطة Spark المجانية من Firebase تغطي المصادقة (50,000 مستخدم شهريًا) والحصص المجانية في Firestore (1 GiB تخزين، و50,000 قراءة و20,000 كتابة يوميًا)، لكن يحتاج Cloud Storage وCloud Functions إلى خطة Blaze بالدفع حسب الاستخدام. تحتفظ خطة Blaze بحصص مجانية سخية، منها 5 GB من التخزين ومليوني استدعاء للدوال شهريًا، لذا يظل تطبيق صغير بلا تكلفة. ضع تنبيهًا للميزانية من اليوم الأول على أي حال.

إذا أردت معرفة “السبب” الأعمق وراء تصميم local-first، فقد كتبت عنه في لماذا تعود البرمجيات local-first إلى الواجهة.

المرحلة 5 — التفاصيل الخاصة بـ iPhone

هذه هي التفاصيل التي تفصل بين “يعمل على هاتفي” و“يجتاز المراجعة”:

  • تحتاج مطالبات الأذونات إلى أسباب صادقة. تحتاج الكاميرا ومكتبة الصور والميكروفون، وإذا كنت تستخدم إطار عمل Speech من Apple فالتعرف على الكلام أيضًا، إلى نص غرض يوضح السبب بدقة. عبارة “لتصوير المكان الذي وضعت فيه شيئًا” جيدة. أما “يحتاج هذا التطبيق إلى الوصول” فهي سبب رفض كلاسيكي.
  • اسأل في اللحظة المناسبة. اطلب إذن الإشعارات عندما يضبط المستخدم أول تذكير له، لا عند أول تشغيل. يوافق الناس عندما يكون السبب واضحًا.
  • فضّل التعرف على الكلام على الجهاز حيث يدعمه الهاتف، واذكر في سياسة الخصوصية أن خدمة الكلام في المنصة قد تعالج الصوت. سياسة Stash تفعل ذلك بالضبط.
  • الودجات تطبيق صغير قائم بذاته. لها دورة حياة خاصة وحدود ذاكرة خاصة وطريقتها الخاصة في قراءة بياناتك. خصص لها شريحة كاملة.
  • ملفات بيان الخصوصية. منذ مايو 2024، يجب على التطبيقات (بما فيها SDKs التي بداخلها) أن تعلن أسبابًا معتمدة لواجهات API معينة في النظام. تشحن SDKs الخاصة بـ Firebase ملفات بيانها الخاصة؛ تأكد من وجود ملفك أنت أيضًا.
  • الوضع الداكن وDynamic Type وVoiceOver. تحقق من الثلاثة في كل شاشة. الوكلاء أكثر موثوقية بكثير في تسميات إمكانية الوصول عندما يطلبها AGENTS.md، فاجعل الملف يطلبها.

المرحلة 6 — اختبر كمتشكك

سيخبرك الوكيل أنه انتهى. غالبًا سيكون مخطئًا في أمور صغيرة، وأحيانًا في أمور كبيرة. يمكن لوكلاء Xcode 27 الآن تشغيل الاختبارات وفحص معاينات SwiftUI بأنفسهم، وهذا يساعد، لكن لا شيء يغني عن شخص يحمل هاتفًا.

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

يدويًا، قبل كل إصدار:

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

عندما يتعطل شيء، سجّله. استخدم تسجيل الشاشة في iPhone، وأرفق الفيديو، واسأل M3.1 ما الخطأ. يقبل إدخال الفيديو، وعبارة “شاهد هذا” أفضل من ثلاثة فقرات من الوصف.

قوالب موجّهات لهذا النوع من التطبيقات

كيّفها بدلًا من نسخها بلا تفكير.

شريحة:

نفّذ الشريحة 4 من ROADMAP.md (البحث). اقرأ AGENTS.md أولًا. يجب أن يطابق البحث أسماء العناصر وأسماء الغرف والملاحظات ونصوص المذكرات الصوتية، دون تمييز لحالة الأحرف، أثناء كتابة المستخدم. أضف مرشح “مع صور”. اكتب اختبارات الوحدة أولًا، ثم التنفيذ. شغّل الاختبارات ومدقق الأنواع. اعرض عليّ الفرق وقائمة بأي افتراضات وضعتها.

خطأ:

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

مراجعة:

راجع كل تغيير منذ آخر commit كمراجع iOS أول متشكك. ابحث عن الأعطال وفقدان البيانات وتسريبات الخصوصية وتسميات إمكانية الوصول الناقصة والألوان المضمّنة يدويًا وأي شيء يكسر الاستخدام دون اتصال. لا تصلح شيئًا بعد؛ أعطني قائمة مرقمة، الأخطر أولًا.

ذلك الموجّه الأخير يستحق التشغيل قبل كل commit على حدة. يكلّف دقيقة ويمسك المشكلات التي تكلّف عطلة نهاية أسبوع.


الجزء 8 — كيف تنشر تطبيقًا على App Store في 2026

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

ما تشترطه Apple اعتبارًا من أكتوبر 2026

المتطلبالتفاصيلساري منذ
Apple Developer Program99 دولارًا سنويًا (99 يورو في ألمانيا). تُسجّل الشركات بصفتها منظمة، وهو ما يتطلب رقم D-U-N-S—
أدوات البناءيجب أن تُبنى الملفات المرفوعة باستخدام Xcode 26 أو أحدث باستخدام iOS 26 SDK28 أبريل 2026
الحد الأدنى للإصدار المستهدفيجب أن تستهدف التطبيقات iOS 13 أو أحدث9 سبتمبر 2026
تصنيف العمرأجب عن أسئلة التصنيف العمري المحدّثة من Apple31 يناير 2026
بيان الخصوصيةالأسباب المعتمدة لواجهات API ذات “السبب المطلوب”، بما في ذلك داخل SDK الخاصة بأطراف ثالثة1 مايو 2024
سياسة الخصوصيةمرتبطة في App Store Connect و يمكن الوصول إليها داخل التطبيق (الإرشاد 5.1.1(i))—
حذف الحساب“إذا كان تطبيقك يدعم إنشاء الحسابات، فيجب عليك أيضًا توفير حذف الحساب داخل التطبيق” (5.1.1(v))—
صفة التاجر في الاتحاد الأوروبييُعلن عنها كل مطوّر. وتُعرض عناوين التجار وأرقام هواتفهم وبريدهم الإلكتروني على صفحة المنتج في جميع دول الاتحاد الأوروبي الـ27—

إصدارا Apple الحاليان هما Xcode 27 وiOS 27، وكلاهما صدر في 14 سبتمبر 2026. لست مضطرًا إلى البناء بـXcode 27 بعد، لكن لم يعد بإمكانك رفع أي شيء مبني بـXcode 16 أو أقدم (قفزت Apple مباشرة من Xcode 16 إلى 26 عندما تحوّلت إلى أرقام إصدارات مبنية على السنة).

ملاحظة للمطورين في ألمانيا والاتحاد الأوروبي: إذا نشرت بصفتك شركة، فأنت تاجر بموجب قانون الخدمات الرقمية في الاتحاد الأوروبي، وتتحقق Apple من بيانات الاتصال الخاصة بك قبل عرضها على صفحة منتجك. في فبراير 2025، أزالت Apple آلاف التطبيقات من متاجر الاتحاد الأوروبي لغياب هذه المعلومات. لا تكن واحدًا منها.

App Store Connect، حقلًا بحقل

أنشئ سجل التطبيق في App Store Connect، ثم املأ:

  • معرّف الحزمة (Bundle ID). معرّف بنطاق معكوس لا يتغيّر أبدًا، مثل معرّف Stash network.grahammiranda.stash. اختره بعناية.
  • الاسم (30 حرفًا) و العنوان الفرعي (30). يستخدم Stash Stash — اعثر عليه بسرعة و اعثر على كل ما’ وضعته جانبًا: العلامة التجارية مع الفائدة، ثم الفائدة بكلمات بسيطة.
  • الكلمات المفتاحية (100 حرف)، مفصولة بفواصل دون مسافات. لا تكرّر الكلمات الموجودة أصلًا في الاسم أو العنوان الفرعي؛ فهي تُحتسب على أي حال.
  • النص الترويجي (170 حرفًا)، وهو ما يمكنك تغييره دون مراجعة جديدة، و الوصف (4,000).
  • لقطات الشاشة. من واحدة إلى عشر لكل مقاس جهاز، بصيغة PNG أو JPEG، دون شفافية. لـ iPhone، مقاس 6.9 بوصة (1320 × 2868) أو مقاس 6.5 بوصة (1284 × 2778)؛ ولـ iPad، مقاس 13 بوصة (2064 × 2752). تستخدم مجموعة Stash’s المقاسين 6.5 و13 بوصة.
  • الفئة. فئة أساسية وفئة ثانوية اختيارية. يصنَّف Stash ضمن الإنتاجية، والأدوات في المرتبة الثانية.
  • الروابط. الدعم والتسويق وسياسة الخصوصية. يجب أن يعمل كل رابط منها.
  • خصوصية التطبيق، “بطاقة التغذية”. المزيد عن ذلك أدناه، لأنه المجال الذي لا يزال فيه الصادقون يخطئون.
  • تصنيف العمر الاستبيان.
  • معلومات مراجعة التطبيق: بيانات الاتصال وملاحظات للمراجع، وحساب تجريبي إذا كان تطبيقك يتطلب تسجيل الدخول. ووضع الضيف مثل وضع Stash’s يجعل مهمة المراجع أسهل.
  • الامتثال للتصدير. إذا كان تطبيقك يستخدم فقط التشفير المدمج في نظام التشغيل، مثل HTTPS، فهو عادةً يستحق إعفاءً. راجع إرشادات Apple’s، ثم اضبط ITSAppUsesNonExemptEncryption في Info.plist حتى لا يُطلب منك ذلك عند كل عملية رفع.

الحقول النصية كذلك من الأعمال المناسبة للوكيل: “اكتب مسودة العنوان الفرعي والكلمات المفتاحية والنص الترويجي والوصف في App Store. استخدم فقط الميزات الموجودة في الكود؛ واذكر الملف الذي توجد فيه كل ميزة.” هذه التعليمات الأخيرة تمنعه من اختراع ميزات.

TestFlight قبل أي شيء آخر

ارفع نسخة بناء (من Xcode’s Organizer، أو باستخدام eas build --platform ios --auto-submit على Expo) واختبرها عبر TestFlight أولًا:

  • المختبرون الداخليون: حتى 100 شخص من فريقك، دون حاجة إلى مراجعة.
  • المختبرون الخارجيون: حتى 10,000، تُدعى عبر البريد الإلكتروني أو برابط عام. تخضع أول نسخة خارجية لمراجعة سريعة لتطبيق بيتا.
  • تبقى النسخ قابلة للاختبار لمدة 90 يومًا.

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

ما الذي يؤدي فعليًا إلى رفض التطبيقات

تقول Apple إنه “في المتوسط، تُراجع 90% من الطلبات في أقل من 24 ساعة”، وإن “أكثر من 40% من المشكلات غير المحلولة تتعلق بالإرشاد 2.1: اكتمال التطبيق”: الأعطال، والمحتوى المؤقت، والمعلومات الناقصة، والروابط المعطوبة. هذه هي المشتبه بهم المعتادون في التطبيق الأول:

المبدأماذا يعني هذا عمليًا
2.1 اكتمال التطبيقلا أعطال، ولا “Lorem ipsum”، ولا روابط معطوبة، وتفاصيل حساب تجريبي إذا كان تسجيل الدخول مطلوبًا
4.2 الحد الأدنى من الوظائف“يجب أن يتضمن تطبيقك ميزات ومحتوى وواجهة مستخدم ترفعه إلى ما هو أبعد من موقع ويب مُعاد تغليفه”
4.8 خدمات تسجيل الدخولتسجيل الدخول عبر طرف ثالث كطريقة الدخول الأساسية يعني أنه يجب عليك أيضًا تقديم خيار يركز على الخصوصية مثل Sign in with Apple
5.1.1(i) سياسة الخصوصيةمرتبطة في App Store Connect وداخل التطبيق؛ وتوضح ما تجمعه، ومن يعالجه، وكيف يتم الحذف
5.1.1(v) حذف الحسابإذا كان بإمكان المستخدمين إنشاء حساب، فيمكنهم حذفه داخل التطبيق
بيانات وصفية دقيقةتُظهر لقطات الشاشة والأوصاف ما يفعله ملف التطبيق فعليًا، لا خطة التطوير المستقبلية

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

تسميات الخصوصية: اجعلها صحيحة، لا مجرد مقنعة

تعريف Apple دقيق: “يشير ‘الجمع’ إلى نقل البيانات خارج الجهاز بطريقة تتيح لك و/أو لشركائك من الأطراف الثالثة الوصول إليها لفترة أطول مما هو ضروري لتلبية الطلب المرسل في الوقت الحقيقي.” البيانات التي تُعالج على الجهاز فقط لا تُعد مجمعة.

عمليًا، في تطبيق على غرار Stash:

  • وضع الضيف فقط (لا شيء يغادر الهاتف): البيانات لا تُجمع.
  • الحسابات مع المزامنة: عنوان البريد الإلكتروني والصور والتسجيلات الصوتية والملاحظات المخزنة على الواجهة الخلفية لديك تُجمَع تُجمع، لأنها تغادر الجهاز وتبقى على خادم، حتى لو كان المستخدم وحده من يراها. تُدرج في التسمية كبيانات مرتبطة بالمستخدم، تُستخدم لوظائف التطبيق، ولا تُستخدم للتتبع.

الوكيل مدقق ممتاز هنا، لأنه يستطيع قراءة كل نداء شبكة في قاعدة الشيفرة:

دقّق في قاعدة الشيفرة هذه بحثًا عن كل قطعة بيانات تغادر الجهاز: ما هي، وإلى أين تذهب (أي SDK أو نقطة نهاية)، وما إذا كانت تُخزَّن، ولأي مدة، وما إذا كانت مرتبطة بالمستخدم. أدرج البيانات التي ترسلها حزم SDK التابعة لأطراف ثالثة. أخرج جدولًا أستطيع استخدامه لملء أسئلة App Privacy من Apple ونموذج Data safety في Google Play.

ثم تأكد من أن ثلاثة مستندات تحكي القصة نفسها: سياسة الخصوصية لديك، وتسمية الخصوصية في App Store، ونموذج Data safety في Google Play إذا كنت تنشر على Android. تقول سياسة خصوصية Stash إن جدول البيانات فيها مكتوب ليطابق إقرارَي المتجرين، وهذا هو المعيار الصحيح الذي يجب أن تلتزم به.

عرض الصورة اطبعه، وألصقه بجانب الشاشة، وعلّم عليه قبل كل إرسال أول.

كيف صدر Stash

صدر Stash 1.0 في 23 سبتمبر 2026. والإصدار 1.0.1، مع “تصميم جديد وإصلاح أخطاء”، تلته في 2 أكتوبر، بعد تسعة أيام. اشحن النسخة التي تعمل، ثم حسّنها علنًا: هذا أصح إيقاع أعرفه لتطبيق أول.


الجزء 9 — “وأشياء أخرى”: عدّة الإطلاق حول التطبيق

تطبيق على App Store دون أي شيء حوله متجر بلا لافتة. إليك بقية العدة، مرة أخرى مع Stash كمثال.

صفحة هبوط مع عرض تجريبي يمكن للناس تجربته

موقع Stash يفعل بضعة أشياء كنت سأقلدها في أي تطبيق أول:

  • وعد واحد في أعلى الصفحة. “ضعه جانبًا. واعرف أين.” ثم جملة واحدة وزران: احصل على التطبيق، أو جرّبه في المتصفح.
  • معاينة مباشرة في القسم الرئيسي. الهاتف على اليمين ليس صورة. يمكنك التنقل فيه باللمس.
  • عرض تجريبي حقيقي في المتصفح. A صفحة رئيسية تجريبية حيث يمكنك البحث عن المفاتيح، وتصفح الغرف، وإضافة عنصر تجريبي. العرض التجريبي “يعمل في علامة تبويب المتصفح”، ولا يمس بيانات التطبيق، وينسى كل شيء عند إعادة التحميل. إنه يتيح للناس تجربة الفكرة قبل أن يلتزموا بالتثبيت.
  • ثلاث خطوات، وأربع ميزات، وبلا مصطلحات معقدة. صوّر المكان. أعطه اسمًا وغرفة. اعثر عليه عندما تحتاجه.
  • الاستكشافات التصميمية، موسومة بوضوح كمفاهيم لا كميزات.
  • عشر لغات (الإنجليزية والألمانية والفرنسية والإسبانية والإيطالية والهولندية والبرتغالية البرازيلية والبولندية والسويدية والدنماركية)، ولكل منها hreflang وسوم صحيحة تجعل محركات البحث تعرض النسخة المناسبة، إضافة إلى مفتاح تبديل المظهر الفاتح والداكن.
  • بيانات منظمة تصف التطبيق بوصفه MobileApplication، مع سعره ومنصاته ورابط App Store، حتى تفهم محركات البحث أن الصفحة عن تطبيق.
  • لا شيء مريب. لا يحتوي كود الموقع على أي تحليلات، ولا بكسلات إعلانية، ولا تضمينات اجتماعية، ولا خطوط خارجية، ولا تسجيل دخول، ولا نموذج تواصل. لا يخزّن سوى اللغة والمظهر اللذين اخترتهما في متصفحك.

عرض الصورة صفحة هبوط Stash. الهاتف على اليمين عرض تجريبي يعمل فعليًا، وليس لقطة شاشة.

الصفحة الثابتة كهذه أول مشروع مثالي أيضًا لنفس إعداد OpenCode وM3.1: HTML وCSS وقليل من JavaScript، بلا حاجة إلى إطار عمل، وترى كل تغيير في المتصفح فورًا.

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

النشر من ألمانيا يعني صفحات أكثر مما سيخبرك به برنامج تعليمي أمريكي:

  • Impressum (بيان الناشر) بموجب المادة 5 من Digitale-Dienste-Gesetz (DDG)، وهو القانون الألماني الذي حل محل Telemediengesetz القديم في 2024: اسم الشركة، والعنوان، والمدير التنفيذي، ورقم القيد في السجل، وبيانات الاتصال، ورقم ضريبة القيمة المضافة إن وُجد.
  • نصان منفصلان للخصوصية. واحد للموقع وآخر للتطبيق، لأنهما يعالجان بيانات مختلفة. لدى Stash كليهما، وكل منهما يوضح بوضوح أيّهما تقرأ.
  • سياسة خصوصية للتطبيق ذات مضمون حقيقي. تغطي سياسة Stash المتحكّم، وجدولًا يبيّن بالضبط ما يُجمع ولِماذا، والأساس القانوني لكل غرض بموجب المادة 6 من GDPR، والجهات المعالجة المعنية (Firebase من Google)، وكيف تُغطى عمليات النقل الدولية (إطار الخصوصية للبيانات بين الاتحاد الأوروبي والولايات المتحدة والبنود التعاقدية القياسية)، والاحتفاظ والحذف، وحقوق المستخدمين، والسلطة الإشرافية المسؤولة، والأطفال، والأمن، وكيف يُعلن عن التغييرات.
  • طريقة لحذف الحساب من خارج التطبيق. توفّر Stash نموذجًا على الويب إلى جانب الخيار داخل التطبيق. يشترط Google Play رابطًا على الويب لحذف الحساب إذا كان تطبيقك يتيح للناس إنشاء حسابات، لذا ستحتاج إلى واحد على أي حال يوم تنشر على Android.
  • شروط معالجة البيانات مع مزوّد الخدمة الخلفية، ومقبولة في وحدة التحكم الخاصة به قبل وصول بيانات المستخدمين الحقيقية.

ملفات تعريف الارتباط هي الصداع الكلاسيكي الآخر. موقع Stash يتجنّب معظمه بأن ليس لديه ما يطلب موافقة عليه: لا تحليلات، ولا بكسلات إعلانية، ولا تتبّع، فقط لغة وسمة يُتذكَّران. أرخص لافتة موافقة هي التي لا تحتاجها أبدًا.

First-year cost to build an app with AI in 2026: $363 lean, $532 comfortable and $1,204 power budget, split into Apple, MiniMax, Figma, Expo and Google Play
اشتراك النموذج هو البند الأكبر في كل ميزانية. ورسوم Apple هي الوحيدة التي لا يمكنك تجنّبها.

تحسين الظهور في App Store دون وعود زائفة

يعتمد البحث في App Store على اسمك والعنوان الفرعي والكلمات المفتاحية، ويقرّر الناس في ثوانٍ انطلاقًا من أيقونتك ولقطات الشاشة الأولى. بعض القواعد التي تصمد:

  • الاسم: العلامة التجارية مع الفائدة. “Stash — Find It Fast” يخبر الغريب بغرض التطبيق.
  • لقطات الشاشة تحكي قصة، بالترتيب. لقطات Stash الست تُقرأ كإعلان قصير: لكل شيء مكان. اعثر عليه. في ثوانٍ. احفظ المكان. بيتك. غرفة غرفة. تذكّر التفاصيل الصغيرة. واضح. في كل إضاءة. كثيرون لا يتجاوزون اللقطتين أو الثلاث الأولى أبدًا، لذا ضع الحلقة الأساسية هناك.
  • وطّن صفحة المتجر بكل لغة يدعمها تطبيقك فعليًا.
  • اطلب التقييمات في لحظة سعيدة. لا يمكن أن يظهر طلب التقييم من Apple أكثر من ثلاث مرات في السنة لكل مستخدم، فلا تهدره عند أول تشغيل. في تطبيق مثل Stash، اللحظة الواضحة هي بعد أن يضغط المستخدم على “Found it” مباشرة.
  • استخدم النص الترويجي للمواسم. تنظيف الربيع، والانتقال إلى منزل جديد، وتخزين أغراض الشتاء. يتغيّر دون مراجعة جديدة.

Android، عندما تكون مستعدًا

إذا بنيت باستخدام Expo أو Flutter، فإن Android على بُعد عملية بناء واحدة في الغالب. الأوراق أخف لكنها مختلفة:

  • يتقاضى Google Play مبلغ $25 مرة واحدة لفتح حساب مطوّر.
  • الحسابات الشخصية الجديدة (المنشأة بعد 13 نوفمبر 2023) يجب أن تُجري اختبارًا مغلقًا مع 12 مختبِرًا على الأقل، منضمّين لمدة 14 يومًا متتاليًا، قبل أن تتمكن من النشر. حسابات المؤسسات معفاة، وهذا سبب إضافي للنشر عبر شركة إذا كانت لديك واحدة.
  • نموذج سلامة البيانات هو نسخة Google من ملصق الخصوصية. اجعله متوافقًا مع سياسة الخصوصية وإجاباتك في App Store.

الجزء 10 — كم يكلّف بناء تطبيق بالذكاء الاصطناعي في 2026

معظم البرمجيات في هذه الحزمة مجانية. ما تدفع مقابله هو النموذج، وعضوية Apple، واختياريًا مقعد Figma أفضل.

البندالسعر المعلنمتى تحتاجه
Apple Developer Program$99 سنويًا (€99 في ألمانيا)للنشر على App Store من أساسه
OpenCode v2مجاني، رخصة MITدائمًا
MiniMax M PlanGo بـ $22، وExplore بـ $55، وBuild بـ $132 شهريًا (خصم 50% على الشهر الأول مع الفوترة الشهرية حتى 14 أكتوبر)لاستخدام M3.1-Flash-Preview
FigmaStarter مجانًا؛ مقعد Professional Dev بـ $12 شهريًا، ومقعد Full بـ $16مقعد مدفوع فقط لخادم MCP المكتبي
Xcodeمجانيعمليات بناء أصلية، على Mac بمعالج Apple silicon
Expo EASطبقة مجانية مع 15 عملية بناء لـ iOS و15 لـ Android شهريًا؛ Starter بـ $19 شهريًاإذا بنيت باستخدام Expo
Firebaseخطة Spark المجانية؛ وBlaze هو الدفع حسب الاستخدام مع حصص بلا تكلفةالحسابات والمزامنة؛ وStorage وFunctions تحتاجان Blaze
Google Play$25، مرة واحدةفقط إذا نشرت على Android
صفحة الهبوطما تكلّفه استضافتك ونطاقكيُنصح به بشدة

ثلاث ميزانيات واقعية للسنة الأولى

الميزانيةما تتضمنهالسنة الأولى
مقتصدةعضوية Apple + M Plan Go؛ وFigma Starter مع إطارات مُصدَّرة؛ وExpo وFirebase وOpenCode على الطبقات المجانية$363
مريحةالمقتصدة + مقعد Figma Dev لخادم MCP المكتبي + Google Play$532
القدرةApple + M Plan Explore + مقعد Figma Full + Expo Starter + Google Play$1,204

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

الأسعار المعلنة بالدولار الأمريكي في 5 أكتوبر 2026، بدون ضريبة القيمة المضافة، بالأسعار الشهرية الكاملة (بدون خصومات الإطلاق). فاتورة الواجهة الخلفية تعتمد على مستخدميك؛ وعلى نطاق صغير، تغطيها حصص Firebase المجانية عادةً. اضبط تنبيه ميزانية على أي حال.

الميزانية المقتصدة تبلغ نحو $30 شهريًا. لكن التكلفة الحقيقية للمشروع ليست في القائمة: إنها أمسياتك. الذكاء الاصطناعي يقصّر الكتابة، لا التفكير، والتفكير هو معظم العمل.


الجزء 11 — عشر أخطاء تجنّبها عند بناء تطبيقك الأول بالذكاء الاصطناعي

  1. البدء بالكود بدلًا من الموجز. سيبني الوكيل التطبيق الخطأ بسرعة كبيرة وبكل سرور.
  2. بناء كل شيء دفعة واحدة. “اصنع التطبيق كله” يمنحك تطبيقًا كاملًا معطوبًا قليلًا في كل مكان. ابنِ شرائح رأسية.
  3. تجاهل AGENTS.md. بدونه، تبدأ كل جلسة من الصفر، ويعيد الوكيل تقرير أشياء قررتها بالفعل.
  4. ترك الوكيل يضيف الاعتماديات بحرية. كل حزمة هي كود لم تقرأه، وحجم إضافي للتطبيق، وتحديث مستقبلي يجب إدارته. اجعله يسأل.
  5. تثبيت الألوان والأحجام في الكود. عندها يعني تغيير التصميم تعديل 140 ملفًا. رموز التصميم، دائمًا.
  6. تصديق “تم”. يبلّغ الوكلاء عن النجاح بتفاؤل. شغّل التطبيق على هاتف حقيقي، في وضع الطيران، في الوضع الداكن، وبأكبر حجم نص.
  7. وضع الأسرار داخل التطبيق. أي شيء داخل حزمة التطبيق يمكن استخراجه. مفاتيح API التي تكلّف مالًا، أو تمنح وصول المسؤول، مكانها خادم.
  8. ملصق خصوصية معقول بدلًا من دقيق. إذا غادرت البيانات الجهاز وبقيت على خادم، فهي مجموعة، حتى لو كان المستخدم وحده من يراها.
  9. نسيان حذف الحساب. تطلب Apple وجوده في التطبيق إذا سمحت بالتسجيل؛ ويطلب Google Play رابطًا على الويب أيضًا.
  10. الوعد بخريطة الطريق. لقطات الشاشة والأوصاف تُظهر ما يفعله التطبيق اليوم. والمفاهيم مكانها موقعك، موسومة بأنها مفاهيم.

وواحد آخر من باب الاحتياط: عدم قراءة الفروق في الكود. Vibe coding يعني ألا تكتب كل سطر. ولا يعني ألا تقرأ الأسطر التي تُشحن. أرقام الأمان في حالة الذكاء الاصطناعي 2026 تجميعي هي السبب.


الجزء 12 — هل تستخدم هذه المجموعة نفسها؟ ستة سيناريوهات

1. “لم أكتب سطر كود واحدًا في حياتي.”

Expo، وتطبيق OpenCode المكتبي، وM3.1 على طبقة Go من M Plan، وخطة Figma المجانية مع إطارات مُصدَّرة. اجعل تطبيقك الأول حلقة أساسية واحدة، مثل حفظ-وإيجاد في Stash. اترك أوامر الصدفة على سؤال، وأجرِ commit بعد كل خطوة تعمل، واستخدم /undo دون شعور بالذنب.

2. “لا يهمني إلا iPhone، وأريده أصليًا بالكامل.”

SwiftUI في Xcode 27، مع OpenCode إما داخل Xcode عبر ACP أو في طرفيتك بأدوات MCP الخاصة بـ Xcode. M3.1 للتخطيط والبناء. ستحصل على أول وصول إلى أحدث أطر Apple وأشد تكامل مع النظام.

3. “أدفع بالفعل مقابل Claude أو ChatGPT.”

استخدم ما لديك، وكن منصفًا بشأن ما يتفوق فيه. Claude Code وCodex وCursor على قائمة Figma المعتمدة لخادم MCP البعيد اليوم، بما في ذلك أدوات الكتابة إلى اللوحة التي لا يستطيع OpenCode الوصول إليها بعد. ويمكن لـ OpenCode تسجيل الدخول بـ ChatGPT Plus أو Pro مباشرة. أضف M3.1 عبر OpenCode للمهام التي يتألق فيها سياقه بمليون رمز وإدخاله للفيديو.

4. “أريد أرخص بداية ممكنة.”

MiniMax M3 بدلًا من M3.1 (عبر OpenCode Go بـ $10 شهريًا، أو الدفع حسب الاستخدام)، وFigma Starter، وعمليات بناء Expo المجانية، وخطة Firebase المجانية. وعضوية Apple بـ $99 هي التكلفة الوحيدة التي لا يمكن تجنّبها لتطبيق iPhone. إن لم تكن مستعدًا لذلك، ابنِ نسخة الويب أولًا.

5. “تطبيقي يتعامل مع بيانات حساسة.”

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

6. “أبني تطبيقات للعملاء.”

خطة Figma Organization مع Code Canvas، وسياسات OpenCode للتحكم في المزوّدين الذين يجوز لكل مشروع عميل استخدامهم، وطبقة M Plan تتسع لعدة وكلاء متوازين، وعمليات بناء EAS المدفوعة. ضع قواعد تصميم كل عميل في skill مُلتزَم به أو في AGENTS.md حتى تبدأ كل جلسة وكل زميل من القواعد نفسها.


الجزء 13 — ما يجب متابعته في الأشهر القليلة المقبلة

  • M3.1 الكامل من MiniMax. هل يُطلق رسميًا، وهل يحصل على سعر لكل رمز، ومعايير قياس منشورة وأوزان مفتوحة مثل M3، وهل تصل نسخة Flash التجريبية إلى OpenRouter أو OpenCode Go أو Ollama Cloud.
  • OpenCode على قائمة Figma المسموح بها. طلب السحب من OpenCode لعميل Figma مسجّل ينتظر Figma. وعندما يُدمج، تُفتح أدوات الكتابة في الخادم البعيد لمستخدمي OpenCode.
  • أسعار الكتابة إلى اللوحة في Figma. تقول Figma إن تلك الميزات مجانية خلال النسخة التجريبية وستصبح على أساس الاستخدام لاحقًا.
  • Figma Code Layers، التي عُرضت في Config، وتَعِد بالتصميم والكود على اللوحة نفسها.
  • نضوج OpenCode v2: عودة مشاركة الجلسات، ولحاق الإضافات بالركب، واستقرار إصدارات 2.0.x.
  • الموعد النهائي التالي لـ SDK من Apple. إذا اتبعت Apple نمطها المعتاد، ستصبح عمليات البناء بـ Xcode 27 إلزامية للرفع في الربيع القادم تقريبًا.
  • Stash نفسه. الاستكشافات التصميمية الثلاثة على موقعه (تثبيت الموضع الدقيق، وQuick Move، والصناديق والملصقات) تُظهر إلى أين تتجه الأفكار.

الأسئلة الشائعة

هل يمكنني بناء تطبيق من الصفر بدون خبرة في البرمجة؟

نعم. في 2026، وكيل برمجة بالذكاء الاصطناعي مثل OpenCode، مقترنًا بنموذج قوي مثل MiniMax M3.1، يكتب الكود بينما تتخذ أنت القرارات: ماذا يفعل التطبيق، وكيف يبدو، وأي بيانات يخزّن، وكيف تختبره. وما زلت بحاجة إلى تعلّم كيف تقرأ خطة، وتراجع الفروق في الكود، وتختبر على جهاز حقيقي، وتتعامل مع App Store Connect.

كم يستغرق بناء تطبيق بالذكاء الاصطناعي؟

يعتمد على النطاق أكثر بكثير من الأدوات. تطبيق صغير بحلقة أساسية واحدة، مثل تطبيق حفظ وإيجاد، مسألة أسابيع من الأمسيات لا أشهر، إذا بنيت بشرائح رأسية واختبرت أولًا بأول. والنشر يضيف بضعة أيام لـ TestFlight وأوراق App Store؛ وتقول Apple إن 90% من الطلبات تُراجع في أقل من 24 ساعة.

ما هو MiniMax M3.1؟

MiniMax M3.1 هو الجيل التالي من عائلة نماذج M3 من MiniMax. وحتى أكتوبر 2026، النسخة الوحيدة التي يمكنك استخدامها هي MiniMax-M3.1-Flash-Preview، التي أُطلقت في 27 سبتمبر 2026: نموذج برمجة متعدد الوسائط بنافذة سياق تبلغ 1,000,000 رمز، وإدخال نص وصورة وفيديو، وتفكير دائم التشغيل، وخمسة مستويات جهد من الأدنى إلى الأقصى. وهو متاح فقط عبر اشتراك M Plan من MiniMax وتطبيق MiniMax Code.

هل MiniMax M3.1 متاح عبر API؟

فقط بمفتاح اشتراك. يعمل M3.1-Flash-Preview على نقاط النهاية المتوافقة مع OpenAI والمتوافقة مع Anthropic لدى MiniMax، لكن بمفتاح اشتراك M Plan فقط. لا يوجد سعر للدفع حسب الاستخدام، ولا أوزان مفتوحة، ولا إدراج على OpenRouter أو Ollama Cloud أو OpenCode Go بعد. ويبقى MiniMax M3 متاحًا بالدفع حسب الاستخدام بسعر $0.30 لكل مليون رمز إدخال و$1.20 لكل مليون رمز إخراج.

كيف أستخدم MiniMax M3.1 في OpenCode؟

ثبّت OpenCode v2، وشغّله في مجلد مشروعك، ونفّذ /connect، واختر “MiniMax Token Plan (minimax.io)” والصق مفتاح اشتراك M Plan. ثم نفّذ /models واختر MiniMax-M3.1-Flash-Preview. لا حاجة إلى ملف إعدادات، لكن ملف opencode.jsonc المشروع يتيح لك ضبط مستويات الجهد لكل وكيل وإضافة أذونات.

هل يعمل خادم Figma MCP مع OpenCode؟

جزئيًا. خادم MCP البعيد من Figma لا يقبل إلا العملاء المعتمدين خلال نسخته التجريبية، وOpenCode ليس على القائمة بعد، لذا يفشل الاتصال بخطأ HTTP 403. أما خادم MCP المكتبي من Figma فيعمل: فعّله في Dev Mode داخل تطبيق Figma المكتبي ووجّه OpenCode إلى http://127.0.0.1:3845/mcp. يتطلب مقعد Dev أو Full على خطة مدفوعة، ويقدّم أدوات للقراءة فقط في معظمها.

هل أحتاج إلى Mac لبناء تطبيق iPhone؟

ليس بالضرورة. التطوير الأصلي بـ Xcode يحتاج إلى Mac، وXcode 27 يتطلب Apple silicon. ومع Expo، يبني EAS تطبيق iOS في السحابة ويرفعه EAS Submit إلى App Store Connect من macOS أو Windows أو Linux. وستحتاج مع ذلك إلى iPhone للاختبار، وتحتاج إلى عضوية Apple Developer Program للنشر.

كم يكلّف نشر تطبيق على App Store؟

تكلّف Apple Developer Program $99 سنويًا، أو ما يعادلها محليًا (€99 في ألمانيا). ولا تتقاضى Apple رسومًا لكل تطبيق أو لكل إرسال. وتكاليف البناء تعتمد على أدواتك؛ والإعداد المقتصد في هذا الدليل يبلغ نحو $363 للسنة الأولى شاملًا اشتراك MiniMax M Plan، مع طبقات مجانية لـ OpenCode وFigma وExpo وFirebase.

كم تستغرق مراجعة App Store؟

تقول Apple إن 90% من الطلبات تُراجع في المتوسط في أقل من 24 ساعة. والسبب الأكثر شيوعًا لتعطّل التطبيقات هو المبدأ التوجيهي 2.1، اكتمال التطبيق: الأعطال، والمحتوى النائب، ومعلومات المراجعة الناقصة، والروابط المعطوبة، بما في ذلك روابط الدعم وسياسة الخصوصية.

هل أستخدم SwiftUI أم React Native (Expo) أم Flutter؟

استخدم SwiftUI مع Xcode 27 إذا كان تطبيقك لـ Apple فقط وتريد أحدث ميزات المنصة. واستخدم Expo (React Native) إذا أردت قاعدة كود واحدة لـ iPhone وAndroid وكنت تعمل وحدك: فـ SDK 56 يدعم iOS 16.4 وما بعده، وفيه أدوات iOS المصغّرة المستقرة، ويمكنه البناء في السحابة. واستخدم Flutter إذا كنت أنت أو فريقك تعرفون Dart بالفعل.

ما الفرق بين MiniMax M3 وM3.1؟

MiniMax M3، الصادر في 1 يونيو 2026، متاح عمومًا بأوزان مفتوحة ومعايير قياس منشورة وتسعير لكل رمز، ويعمل على مزوّدين كثيرين. أما M3.1-Flash-Preview، الصادر في 27 سبتمبر 2026، فهو نسخة تجريبية بالاشتراك فقط بلا أوزان أو سعر أو معايير قياس بعد، بتفكير دائم التشغيل وخمسة مستويات جهد. وكلاهما لديه سياق بمليون رمز ويقبل النص والصور والفيديو.

ما هو Stash؟

Stash — Find It Fast تطبيق مجاني لـ iPhone وiPad من Graham Miranda UG يتذكّر أين وضعت أشياءك. تصوّر الموضع، وتعطي الغرض اسمًا وغرفة، وتبحث عنه لاحقًا بالاسم أو الغرفة أو الملاحظة أو الملاحظة الصوتية المكتوبة نصًا. ويقدّم أيضًا تذكيرات للأغراض الموسمية، وأدوات مصغّرة، واستخدامًا دون اتصال، ومزامنة بين iPhone وiPad. أُطلق على App Store في 23 سبتمبر 2026.

هل يجمع Stash بياناتي؟

لا إعلانات في Stash، ولا تتبّع تحليلي، ولا يبيع البيانات. وفي وضع الضيف، بدون حساب، تبقى غرفك وأغراضك وصورك وملاحظاتك الصوتية على جهازك. وإذا أنشأت حسابًا، تتزامن عبر Google Firebase لتكون متاحة على iPhone وiPad، معزولة عن المستخدمين الآخرين، ويمكنك حذف حسابك وبياناتك من الإعدادات أو عبر نموذج على الويب.


الخلاصة

بناء تطبيق من الصفر في 2026 لم يعد مسألة هل تستطيع كتابة الكود. وكيل مثل OpenCode v2، يشغّل نموذجًا مثل MiniMax M3.1، سيكتب في أصيل واحد كودًا أكثر مما تقرأه في أسبوع. وانتقل العمل الحقيقي إلى الأطراف: تحديد ما هو التطبيق، وتصميمه بعناية تكفي كي لا يسيء وكيل فهمه، واختباره بعين المتشكك، وإنجاز الأوراق غير اللامعة التي تحوّل مجلد مشروع إلى شيء يستطيع غريب تنزيله.

الحزمة في هذا الدليل هي ما سأوصي به اليوم. Figma لقرارات تراها بعينك. وOpenCode v2 لأنه مفتوح المصدر، وقابل للبرمجة النصية، وحذر مع الأذونات، ولا يخلص لنموذج واحد. وMiniMax M3.1 لأن سياقًا بمليون رمز وإدخال الفيديو يناسبان بناء التطبيقات على نحو غير معتاد، ما دمت تتعامل مع النسخة التجريبية كنسخة تجريبية. و“الأشياء” الأخرى (Firebase وTestFlight وملصقات الخصوصية وصفحة هبوط وصفحات قانونية) لأنها ما يواجهه المستخدمون فعلًا.

Stash هو شكل ذلك عند الإطلاق: وعد صغير واحد، يُوفى به جيدًا. نزّل Stash من App Store، أو جرّب العرض التجريبي في المتصفح أولًا. ثم اذهب وابنِ تطبيقك.


هل تبني تطبيقك الأول بالذكاء الاصطناعي؟ أودّ أن أعرف أي إطار اخترت، وهل نجحت في ربط خادم MCP من Figma بوكيلك، وكيف يعاملك MiniMax M3.1. والتصحيحات والأدلة المخالفة مرحّب بها؛ يُحدَّث هذا المقال عندما تتغير الصورة.

الإفصاح: Stash تطبيقي أنا، تنشره شركتي Graham Miranda UG. وهو مجاني، بلا إعلانات ولا مشتريات داخل التطبيق. ولا توجد روابط تابعة في هذا المقال، ولم ترعَه أو تراجعه أي من الشركات المذكورة قبل النشر.

آخر تحديث: 5 أكتوبر 2026.

أضف إشارتك.

لن يُنشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *

arالعربية