عبدالله بن سنكر: وش يصير لتطبيقك بعد سنة؟ الصيانة والتحديثات
عبدالله بن سنكر يرسم وش يصير لتطبيقك خلال سنته الأولى: أعطال الأجهزة، وتقادم المكتبات، وشروط آبل وجوجل السنوية، والتواريخ اللي تنتهي بصمت، وكيف تخطط للصيانة.

صيانة التطبيقات
عبدالله بن سنكر
يوم الإطلاق فيه شعور إن المشروع «خلص». الحقيقة إن التطبيق يبدأ يتقادم من اليوم اللي بعده، حتى لو ما لمست سطراً واحداً من الكود: نظام الجوال يتحدث، والمكتبات تتغير، والمتاجر ترفع شروطها، والخدمات اللي تعتمد عليها تعدّل واجهاتها. عبدالله بن سنكر يرسم لك هنا وش يصير لتطبيق عادي خلال سنته الأولى، بالترتيب اللي يصير فيه غالباً، عشان تفرّق بين صيانة ضرورية وبين ساعات عمل ما لها داعي.
الأسابيع الأولى: أجهزة ما جربتها
مهما اختبرت، المستخدمين الحقيقيين يجيبون أجهزة وظروفاً ما خطرت على بالك: جوال أندرويد قديم بذاكرة محدودة، أو شبكة تقطع في نص عملية الدفع، أو مستخدم مكبّر الخط في إعدادات جواله فانكسر تصميم الشاشة. لهذا أول شي يُركّب قبل الإطلاق أداة مراقبة أعطال مثل Firebase Crashlytics أو Sentry. بدونها تعرف عن المشكلة من تقييم نجمة وحدة في المتجر، ومعها تعرف السطر اللي طاح عنده التطبيق ونوع الجهاز وإصدار النظام قبل ما يشتكي أحد.
وفي هذي الفترة بالذات، الإصلاحات تكون صغيرة وكثيرة. خطّط لنسخة تصحيحية أو اثنتين في الشهر الأول، ولا تعتبرها فشلاً؛ هي الطبيعي لأي منتج يقابل الناس لأول مرة. واقرأ تقييمات المتجر كل يوم في هذي الفترة ورد عليها؛ كثير من البلاغات الحقيقية توصلك هناك قبل أي قناة ثانية.
الشهور التالية: المكتبات تمشي وأنت واقف
التطبيق الحديث مبني على عشرات الحزم الجاهزة: للدفع، والخرائط، والإشعارات، والصور. كل حزمة لها فريق يصدر نسخاً جديدة، يسد فيها ثغرات ويغيّر أحياناً طريقة استخدامها. ولو تركت التطبيق سنة بدون تحديث، تتراكم الفجوة لين يصير التحديث مشروعاً بحاله، لأن كل حزمة تبي إصداراً أحدث من الإطار، والإطار يبي إصداراً أحدث من أدوات البناء، وكل وحدة تسحب الثانية.
الطريقة الأرخص: تحديثات صغيرة ومنتظمة. مراجعة كل شهر أو شهرين للحزم اللي عندها إصلاحات أمنية أو تغييرات مهمة، وتحديث Flutter نفسه بشكل دوري بدل القفز فوق عدة إصدارات دفعة وحدة. أمر مثل flutter pub outdated يعطيك الصورة كاملة في دقيقة، والقرار بعدها سهل. ولو الكود على GitHub، فعّل تنبيهات الثغرات في الحزم، فيوصلك إشعار لما تنكشف ثغرة في مكتبة تستخدمها بدل ما تعرف بالصدفة.
كل سنة: آبل وجوجل يرفعون السقف
- جوجل تشترط إن التحديثات تستهدف مستوى API حديثاً من أندرويد، وترفع هذا الشرط سنوياً تقريباً. إذا ما حدّثت ما تقدر ترفع نسخة جديدة، والتطبيقات المتأخرة كثير ممكن تختفي عن المستخدمين الجدد على الأجهزة الأحدث.
- آبل تطلب إن النسخ المرفوعة تُبنى بإصدار حديث من Xcode وحزمة تطوير iOS. فلو عندك إصلاح عاجل وأدواتك قديمة، بتكتشف إن عليك تحديث سلسلة كاملة قبل ما ترفع سطراً واحداً.
- إصدارات iOS وأندرويد الجديدة تغيّر سلوك أشياء مثل أذونات الموقع والإشعارات والوصول للصور، وأحياناً تكسر ميزة كانت تشتغل بدون أي تعديل منك.
- سياسات المتاجر نفسها تتغير: نماذج أمان البيانات، وشروط حذف الحساب، وقواعد الاشتراكات والمدفوعات داخل التطبيق.
والخبر الجيد إن هذي التغييرات ما تجي فجأة. آبل وجوجل ينزلون نسخاً تجريبية من أنظمتهم قبل الإطلاق الرسمي بأشهر، ويعلنون مواعيد الشروط الجديدة مسبقاً. المطوّر اللي يجرّب التطبيق على النسخ التجريبية ويقرأ رسائل المتجر أول بأول، يصلّح بهدوء قبل ما يتأثر أي مستخدم.
أشياء تنتهي بصمت
فيه تواريخ لو فاتتك يتوقف المشروع كله، وما يعطيك أحد تنبيهاً واضحاً قبلها بوقت كافٍ:
- اشتراك برنامج مطوّري آبل سنوي، ولو ما تجدد ينشال التطبيق من App Store.
- تجديد الدومين اللي عليه الموقع والـ API. دومين منتهي يعني تطبيق ما يقدر يكلّم السيرفر.
- شهادات SSL إذا ما كانت تتجدد تلقائياً، وشهادات الإشعارات في الإعدادات القديمة اللي تعتمد على شهادة بدل مفتاح.
- واجهات الخدمات الخارجية: بوابة الدفع، ومزوّد الرسائل، والخرائط. أي خدمة ممكن توقف إصداراً قديماً من واجهتها وتعطيك مهلة للانتقال.
- النسخ الاحتياطية: موجودة؟ ومتى آخر مرة جربت تسترجع منها فعلاً؟ النسخة اللي ما انجربت مجرد أمنية.
وفيه شي ثاني يتغير بصمت: حجم البيانات. استعلام كان يرجع في أجزاء من الثانية على ألف طلب، يصير بطيئاً على مئة ألف لأنه ما له فهرس مناسب. وملفات السجلات والصور المرفوعة تكبر كل يوم وترفع فاتورة التخزين. مراجعة دورية لأبطأ الاستعلامات ولاستهلاك السيرفر تكشف هذي المشاكل قبل ما يحس فيها المستخدم.
كيف تخطط بدل ما تتفاجأ
عبدالله عبدالرحيم بن سنكر الكندي يفرّق بين ثلاثة أنواع من الشغل بعد الإطلاق: صيانة تحفظ التطبيق شغّالاً وآمناً، وإصلاح أخطاء مكتشفة، وتطوير ميزات جديدة. الأول مو اختياري، والثالث قرار تجاري. ولما تختلط الثلاثة في فاتورة وحدة، ما تعرف وش تدفع عليه بالضبط. ونصيحته لعملاء منصة أزهل الرقمية: اتفق على الدعم بعد التسليم كتابياً من البداية، وش يشمل، وكم مدة الاستجابة، ووش يُحسب ميزة جديدة بسعر منفصل. وهذي أسئلة اسألها لأي مطوّر قبل التوقيع:
- مين يملك حسابات المتاجر والسيرفر والدومين؟ لازم تكون كلها باسمك.
- وين الكود؟ في مستودع git تملكه وتقدر تسلّمه لمطوّر ثاني بكرة لو احتجت.
- كم مرة تتحدث الحزم، ومين يتابع رسائل آبل وجوجل عن الشروط الجديدة؟
- لو طاح التطبيق في نص الليل، مين يعرف أول، وكيف؟
التطبيق أقرب للسيارة منه للبيت: يحتاج زيارات دورية صغيرة، وإلا يوقف فجأة في أسوأ توقيت. وتكلفة الصيانة المنتظمة دائماً أقل من تكلفة إنقاذ تطبيق تُرك سنة كاملة بدون ما أحد يلمسه.
عندك فكرة؟ الاستشارة الأولى علينا
كلّم عبدالله مباشرة على واتساب — رسالتك توصل له هو، مو لرد آلي. نسمع فكرتك ونقول لك وش تحتاج وكم تكلّف، ببلاش.
مقالات ذات صلة
كل المقالات
الكلمات المفتاحية العربية
عبدالله بن سنكر
عبدالله بن سنكر: الكلمات المفتاحية العربية بين اللهجات والصيغ ونية البحث
أسئلة وأجوبة مع عبدالله بن سنكر عن الكلمات المفتاحية العربية: الهمزة والتاء المربوطة، وقوقل وجوجل، وكلمات اللهجة السعودية، ونية الباحث، ومتى تكفي صفحة لأكثر من صيغة.
اقرأ المقال
ملكية الكود المصدري
عبدالله سنكر
عبدالله سنكر يجاوب: ليش لازم يكون مستودع Git لمشروعك باسمك؟
عبدالله سنكر يجاوب أصحاب المشاريع عن Git: وش هو المستودع، وليش لازم يكون باسمك مو باسم المطوّر، ووش تتأكد منه قبل التسليم عشان ما تنحبس عند أحد.
اقرأ المقال
الخرائط في التطبيقات
عبدالله سنكر
عبدالله سنكر: الخرائط والموقع الجغرافي في التطبيقات، الصلاحيات والتكلفة
عبدالله سنكر يقارن ثلاثة أنواع تطبيقات تستخدم الموقع الجغرافي: وش الصلاحية اللي تكفي كل نوع، وكيف تطلبها بدون رفض، ووين تتسرب فلوس فاتورة الخرائط بدون ما تنتبه.
اقرأ المقال