اعتقد انك تبحث عن اجابة محددة ولكن يصعب الاجابة على هذا السؤال بطريقة محددة.
البرمجة وسيلة لبناء حل لمشكلة معينة, وكل مشكلها يجب دراستها بطريقة مستقلة, لا يمكن تطبيق "وصفة" لتكون عامة على أي عمل برمجة, وهذا من الاخطاء الشائعه حاليا, الاجابة الصحيحة لهذا السؤال تعتمد على نوع التطبيق الذي تريد بناؤه كذلك تعتمد على الخطط المستقبلية للمشوع بشكل عام.
عموما يمكنني تلخيص الموضوع في عدة نقاط:
- عند الحديث عن تطبيقات تعمل على منصات مختلفة فيجب أيضا الحديث عن اتباع أساليب حديثة في ادارة مشروع البرمجة مثل استخدام الاساليب "الرشيقة" في ادارة المشروع أو ما يسمى Agile Software Development
- في أي مشروع يعتمد على تطبيق متعدد المنصات سيكون من الضروري العمل على فصل النظام الى نظاميين فرعيين والربط ما بينهم باستخدام واجهة برمجه التطبيقات أو API, والأنظمة الفرعية هي:
1- قواعد البيانات و الكود الخاص بما يسمى Backend, ونقصد به الكود الذي يحتوى على المنطق الخاص بالتطبيق (مثلا العمليات الحسابية, وسائل التحقق, العمليات التي تتم باستخلاص معلومات من قواعد البيانات ...الخ), ولا يوجد شروط على استخدام اي لغة برمجة في هذا النظام الفرعي
2- الكود الخاص بالواجهه والذي غالبا ما سيكون بلغة جافاسكريبت, والذي يحتوي على شكل وتصميم الواجهه الخاصة بالتطبيق
- بسبب استخدامك للغة جافاسكريبت في الواجهه وباستهدام بعض التقنيات يمكنك جعل هذه الواجهه تدعم انشاء تطبيقات لمختلف المنصات حتى منصات الكمبيوتر مثل ويندوز ولينوكس ومنصات الهواتف الذكيه جميعها.
- يجب ان تعلم أنك بهذه الطريقة يوجد بعض الحدود فيما يمكنك عمله بهذه الطريقة, وفي بعض الاحيان ستضطر -بسبب طبيعة التطبيق- أن لا تستخدم هذه الطريقة وتضطر أن تبني لكل منصة تطبيقها الخاص, ولكن ستبني فقط الواجهه لان كود backend لن يتغير ايضا غالبا.
أتمنى أن اكون وفقت في الاجابة وشكرا