انتقل إلى المقال

ما الذي لا يعمل

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

لا خادم خاص بك

لا PHP ولا Node ولا Python ولا قاعدة بيانات. لا يعمل أي شيء خاص بك على الخادم حين يفتح أحدهم الموقع: يتلقى المتصفح ملفات، وكل ما يفعله كود JavaScript الخاص بك يفعله هناك، في المتصفح.

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

لا أسرار في الملف

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

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

أمور تفاجئ الناس

  • الاستيراد من npm يعمل: مكوّنات React وTailwind وshadcn/ui نتولاها عنك. يعيد Solta كتابة سطر الاستيراد ليشير إلى نسخة مثبّتة، ويجلبها المتصفح من esm.sh حين يفتح أحدهم الموقع. لذا يتصل متصفح الزائر بـ esm.sh إضافة إلينا، والحزمة غير الموجودة على esm.sh لن يُعثر عليها.
  • جلب البيانات من API داخل الموقع يعمل، ما دامت تلك الـ API تسمح للمواقع الأخرى باستدعائها. إعداداتها الخاصة (المسمّاة CORS) هي التي تقرر، لا إعداداتنا.
  • التخزين المحلي يعمل، وهو منفصل لكل موقع: لكل موقع عنوانه الخاص، فلا يستطيع موقعان قراءة بيانات بعضهما.
  • الملف الذي يُجهَّز دون أخطاء ثم يتعطل حين يعمل يُنشر، ويعرض ما رسمه قبل الخطأ، وكثيرًا ما يكون صفحة فارغة. وحدة التحكم (Console) في المتصفح تقول السبب، وصفحة الصفحة الفارغة تشرح ذلك خطوة بخطوة.