المعلوماتية > برمجيات

المنصات البرمجية المشتركة cross platform

بدايةً، ما المقصود بمصطلح Platform؟

الـ Platform هو منصة التشغيل التي توفر البيئة المناسبة لعمل التطبيقات عليها، وقد تعبرعن العديد من الأشياء -أو إلى مزيج منها- حسب سياق الاستخدام مثل:

1. نوع نظام التشغيل (Linux ،Mac OS ،Windows…).

2. نوع المعالج (PowerPC ،SPARC ،Alpha…).

3. نوع العتاد (Mainframe ،Desktop ،Embedded…).

والآن ما المقصود بمصطلح Cross-platform؟

أي أن تطبيقك الذي قمت ببرمجته قابل للعمل على أكثر من منصة، وبمعنى آخر نحن نعلم أن من يريد برمجة تطبيقات لأجهزة الأندرويد عليه أن يبرمج بلغة Java ومن يريد استهداف أجهزة الويندوز فون عليه أن يبرمج بلغة C# وهكذا، ولكن ماذا لو أردت أن تبرمج تطبيق يعمل على أجهزة الأندرويد والويندوز فون معاً ودون الحاجة لمعرفة كلاً من C# وJava؟

الحل هو باستخدام الـ Cross-platform والذي يسمح لك ببرمجة التطبيق مرة واحدة فقط بحيث يكون قابل للتشغيل على أكثر من منصة، فيما لو أنك أردت برمجة التطبيق ليعمل على أكثر من منصة باستخدام اللغات الأم (المقصود باللغة الأم مثلاً لأجهزة الأندرويد اللغة الأم هي الجافا)، سوف يتطلب منك ذلك موارد إضافية (عدد أكبر من المبرمجين بالإضافة إلى وجود الخبرات المناسبة في كل مجال)، وهذه من أبرز ميزات الـ cross-platform، ولكن هذا الأمر له سيئات فمثلاً التطبيق المبرمج من خلال الـ cross-platform لن يكون بنفس جودة وأداء نفس التطبيق المبرمج من خلال اللغة الأم، وذلك لأنه عند استهدافك لأكثر من منصة يجب عليك أن تأخذ بعين الاعتبار القواسم المشتركة بين هذه الـمنصات وبالتالي تكون قد أضعت من بين يديك الميزات التي تنفرد بها كل منصة.

وبعد هذا التعريف بالـ Cross-platform قد يقع المبرمجون في حيرة من أمرهم؛ هل من الأفضل أن نبرمج باللغة الأم لكل منصة أو أن نستعمل الـ Cross-platform؟ ولذلك نضع بين أيديكم هذه المقارنة الشاملة.

المصادر

هنا

هنا

هنا