Kotlin هي اللغة الرسمية من Google لـ Android. والبناء الأصلي هو الخيار الصحيح حين يهيمن Android على جمهورك — وهو ما يفعله في معظم الخليج — وحين يجب أن يعمل التطبيق جيدًا على الأجهزة الرخيصة كما على الرائدة.
ما هي Kotlin؟
حلّت Kotlin محل Java كلغة Android الموصى بها من Google، وJetpack Compose هي الطريقة الحديثة لبناء الواجهات بها. وهي لغة ممتعة بخصائص أمان مفيدة فعلًا — أبرزها أنها تميّز القيم التي قد تكون فارغة عن التي لا يمكن، ما يزيل أشيع تعطل في تاريخ Android.
وAndroid الأصلي يعني أيضًا تحكمًا كاملًا في الأداء على العتاد منخفض الفئة، وهذا يهم هنا أكثر من أسواق يحمل فيها الجميع جهازًا رائدًا.
متى نختار Kotlin
حين يكون Android هو الجمهور بأغلبية ساحقة. ففي معظم الخليج — وخصوصًا بين القوى العاملة التي تُبنى لها كثير من التطبيقات الميدانية وتطبيقات التوصيل — تفوق حصة Android المتوسط العالمي بكثير، والبناء لـ Android أولًا هو ببساطة مطابقة للسوق.
وحين يجب أن يعمل التطبيق بشكل مقبول على عتاد رخيص. فالأصلي يمنح أكبر تحكم في الذاكرة والبطارية، وعلى جهاز بذاكرة 2 غيغابايت يكون ذلك التحكم الفارق بين تطبيق صالح وآخر يُحذف.
وهو أيضًا الخيار المعقول حين يكون جانب Android من المنتج هو حيث يوجد المستخدمون فعلًا. ففي كثير من الخليج تتجاوز حصة Android من الجمهور الاستهلاكي النصف بوضوح، ومنتج يكون بناؤه لـ Android فكرة لاحقة هو منتج يختبره معظم سوقه بشكل منقوص.
متى لا نستخدم Kotlin
حين يُطلب iOS أيضًا والميزانية ميزانية واحدة. فـ Flutter أو React Native يغطي الاثنين، والمال الموفَّر يُنفَق عادةً أفضل في مكان آخر.
وحين يكون التطبيق نماذج وقوائم قياسية فوق واجهة برمجية — فلا شيء هناك يكافئ الأصلي.
ما الذي نبنيه بـ Kotlin
تطبيقات ميدانية وللقوى العاملة
تطبيقات توصيل وتفتيش ومواقع تعمل طوال اليوم على أجهزة Android توفرها الشركة، وغالبًا رخيصة. تعمل دون اتصال أولًا، وتراعي البطارية، وتُختبر على الأجهزة التي يحملها الموظفون فعلًا لا على أحدث هاتف في المكتب.
تطبيقات مستهلك في أسواق Android أولًا
حيث تكون قاعدة العملاء Android في معظمها وتكون التجربة الأصلية على تلك المنصة أهم من بناء iOS يخدم أقلية صغيرة.
تطبيقات لأوسع مدى أجهزة ممكن
يمتد عتاد Android عبر عقد من مستويات الأسعار، وتطبيق لا يعمل إلا على جهاز رائد حديث يستبعد حصة كبيرة من المستخدمين هنا. ونختبر على الطرف المنخفض عن قصد لا على أحدث جهاز على المكتب.
تطبيقات ميدانية ولوجستية
تطبيقات سائقين وفنيين ومستودعات حيث يكون الجهاز هاتف عمل مشتركًا والشبكة غير موثوقة. والتخزين المحلي أولًا والمزامنة الخلفية متطلب لا ميزة إضافية.
كيف نطلق مشاريع Kotlin
Jetpack Compose للعمل الجديد، مستهدفين مدى من نسخ Android واسعًا بما يكفي لتغطية الأجهزة التي يحملها جمهورك فعلًا لا الحديثة فقط.
ويُختبر على عتاد منخفض الفئة حقيقي. فمحاكٍ على حاسب سريع لا يخبرك بشيء عن سلوك التطبيق على هاتف اقتصادي عمره ثلاث سنوات، وهناك حيث معظم المستخدمين.
ما تكلّفك Kotlin
لـ Android فقط. وiOS بناء منفصل، وهي حجة الكلفة نفسها كـ Swift بالعكس.
وتشظي أجهزة Android كلفة اختبار حقيقية أيضًا — مصنّعون كثر، ونسخ Android كثيرة، وأحجام شاشات كثيرة، وبعض السلوك الخاص بالمصنّع حول العمل الخلفي يجب التعامل معه فرديًا.
Android فقط، فجمهور iOS يحتاج بناءً ثانيًا. وتشتت أجهزة Android عمل حقيقي — فالاختبار عبر أحجام الشاشات وواجهات المصنّعين ونسخ النظام يستغرق أطول بوضوح من اختبار iOS، وتخطّيه هو كيف يُطلق تطبيق معطوبًا على الهواتف التي يحملها نصف سوقك.
أسئلة تُطرح علينا عن Kotlin
انظر إلى تحليلاتك أنت لا إلى الأرقام العالمية. ففي معظم الخليج، وخصوصًا للتطبيقات الموجهة للقوى العاملة، تفوق حصة Android المتوسط العالمي بوضوح — وعندها يكون Android أولًا مجرد اتباع لمستخدميك. وإن كان جمهورك مستهلكًا فاخرًا، فالأمر ينقلب غالبًا.
Flutter إن كنت تحتاج iOS أيضًا وكان التطبيق شاشات ونماذج في معظمه. وKotlin إن كان Android المنصة الوحيدة المهمة، أو إن احتاج التطبيق وصولًا عميقًا للعتاد أو عملًا خلفيًا أو تكاملًا مع النظام تجعله طبقة عابرة للمنصات أصعب مما ينبغي.
نختار النسخة الدنيا من بيانات جمهورك الفعلية لا من افتراض. وفي هذه المنطقة يعني ذلك عادةً دعمًا أبعد مما سيدعمه مشروع أوروبي، لأن مزيج الأجهزة أقدم فعلًا واستبعاده يستبعد عملاء.
نعم. نبدأ بتدقيق قصير — صحة البناء، وعمر الاعتماديات، ومعدل الأعطال، وما يفعله الكود فعلًا — ونعطيك تقييمًا مكتوبًا قبل الالتزام بخطة. وأحيانًا يكون الجواب الصادق أن إعادة الكتابة أرخص من الإصلاح.
نعم — التوقيع، وصفحة المتجر باللغتين، وإقرارات سلامة البيانات، والطرح المرحلي. ومراجعة Google أسرع من Apple لكن فحوص سياساتها أصرم في الصلاحيات، لذا نبرر كل صلاحية يطلبها التطبيق قبل الإرسال لا بعد رفض.
يستطيع Kotlin Multiplatform مشاركة منطق العمل بين الاثنين مع احتفاظ كل منصة بواجهتها. وهو حل وسط معقول ومنظومة أحدث من Flutter، لذا لن نوصي به إلا حين يتصدر جانب Android بوضوح ويكون المنطق المشترك كبيرًا.
مجموعة أجهزة فعلية تغطي مستويات الأسعار التي يحملها مستخدموك، مع سحابة أجهزة للاتساع. ونختار مصفوفة الاختبار من تحليلاتك لا من قائمة عامة، لأن الهواتف التي يستخدمها عملاؤك في الشارقة ليست الهواتف التي تفترضها مصفوفة افتراضية، وخطأ في جهاز متوسط يمس أناسًا أكثر بكثير من خطأ في جهاز رائد.