محتويات ? تعريف الأندرويد ? ما هو تعريف SDK في الأندرويد؟ ? ما هي الخصائص المميزة للـSDK؟ ? ما الفرق بين SDK و API؟ تعريف الأندرويد
من المسؤول عن تطوير الأندرويد؟
يعرف الأندرويد بأنه نظام تشغيل مجاني مفتوح المصدر مبني على نظام لينكس وبعض البرامج الأخرى، والذي تم تصميمه خصيصًا للأجهزة ذات شاشات اللمس كالهواتف الذكية والحواسيب اللوحية، ولقد تم تطوير هذا النظام من قبل التحالف المفتوح للهواتف النقالة الذي تديره شركة جوجل، ويتضمن نظام التشغيل هذا مجموعة من التطبيقات الأساسية والتي تكون مثبتة مسبقًا على نظام الأندرويد مثل الجيميل وخرائط جوجل ويوتيوب وجوجل كروم وجوجل بلاي وغيرها.
ويعد الأندرويد نظام التشغيل الأكثر مبيعًا على مستوى العالم للهواتف المحمولة منذ عام 2011، وللأجهزة اللوحية منذ عام 2013، ويتميز نظام الأندرويد بواجهة المستخدم التي تعمل بشكلٍ أساسي على اللمس، حيث يمكن التنقل بين التطبيقات وتأدية الوظائف المختلفة عن طريق النقر والضغط والتمرير، كما يتميز أيضًا بتوفير استهلاك الطاقة إلى حد ما على عكس أنظمة التشغيل الأخرى، ولقد تم الكشف عن نظام التشغيل أندرويد في عام 2007، كما ظهر أول جهاز أندرويد تجاري في سبتمبر من عام 2008م.
ما هو تعريف SDK في الأندرويد؟
الـSDK هو اختصار للمصطلح الانجليزي Software Development Kit, وتعرف SDK في الأندرويد بأنها حزمة تطوير برامج أندرويد، وهي عبارة عن مجموعة أدوات يتم استخدامها من قبل المبرمجين لإنشاء البرامج التي تعمل على نظام التشغيل أندرويد.
وتشمل هذه الأدوات المكتبات والمصححات والمحاكيات وواجهات برمجة التطبيقات ونماذج كود المصدر ودروس لنظام الأندرويد، بحيث تساعد هذه الأدوات جميعها على تسهيل إنشاء التطبيقات لبرامج أجهزة معينة، حيث يمكن أن تحتوي حزمة SDK على واجهة برمجة تطبيقات واحدة أو أكثر بالإضافة إلى الأدوات المساعدة الأساسية.
هنالك بعض أدوات تطوير البرامج SDK التي تستخدم لتطوير تطبيقات خاصة بنظام الأندرويد الأساسي، فعلى سبيل المثال لتطوير تطبيقات أندرويد في لغة جافا يتم استخدام مجموعة أدوات تطوير Java، ولتطبيقات iOS تستخدم أدوات تطوير iOS SDK، وبالتالي فإن كل مكتبة موجودة داخل حزمة تطوير البرامج تكون جزءًا من برنامج يسمح للتطبيق بالتواصل مع النظام الأساسي المحدد الذي يتم العمل عليه.
كما تحتوي حزم تطوير البرامج SDK على مجموعة من الأدوات التي تعمل على تصحيح الأخطاء وإنشاء العناصر المرئية، حيث تساعد مثل هذه الأدوات على تسهيل عملية إصلاح التطبيقات أو إنشاء مربعات نصية وأزرار، وتحتوي هذه الحزم أيضًا على عينة من التعليمات البرمجية التي تساعد المبرمجين في التعرف على النظام الأساسي الذي يقومون بالترميز له بسرعة.
يمكن تنزيل حزمة تطوير التطبيقات ADT للبدء بتطوير التطبيقات بسرعة في حال كان المطور جديدًا، حيث تتضمن حزمة التطوير ADT كل ما يحتاجه المطور لتطوير تطبيقات الأندرويد كأدوات Android SDK وأدوات منصة أندرويد وأحدث صورة لنظام أندرويد للمحاكاة.
ومن الجدير بالذكر أنه في كل مرة تقوم شركة جوجل بتطوير إصدار جديد من الأندرويد يتم أيضًا تطوير إصدار جديد من حزمة تطوير البرامج SDK، وبالتالي سيتمكن المطورين من كتابة وتصميم البرامج بأحدث ميزات، إذ يجب أن يقوم المطورون بتنزيل وتثبيت SDK لكل إصدار أندرويد لكل نوع من الهواتف.
ومن هنا يمكن القول بأن حزمة تطوير برامج الأندرويد SDK عبارة عن ورشة عمل كاملة تعمل على تسهيل عملية إنشاء التطبيقات خارج النطاق الذي تسمح به واجهة برمجة التطبيقات، إذ تعد حزم SDK مصادر إنشاء كل برنامج يتفاعل معه المستخدم الحديث تقريبًا من متصفح الويب إلى ألعاب الفيديو.
ما هي الخصائص المميزة للـSDK؟
تعمل حزم تطوير التطبيقات SDK على مجموعة من أنظمة التشغيل مثل Windows XP وLinux و Mac OS X 10 .4 .9 وجميع الإصدارات الأحدث، وعلى الرغم من إمكانية استخدام SDK في كتابة تطبيقات الأندرويد في موجه الأوامر، إلا أن الطريقة الأكثر استخدامًا هي استخدام بيئة تطوير متكاملة مثل IDE المدمجة مع أدوات تطوير ADT.
وتساعد عملية تثبيت حزمة تطوير برامج SDK في الهواتف على تسريع دورات مبيعات هذه الهواتف لأصحاب الشركات المنتجة، وذلك نتيجةً لجعل التكنولوجيا الخاصة بالمستخدمين أسهل بكثير، كما تساعد عملية التثبيت هذه على زيادة التنمية الفعالة ونشر الأجهزة التي تم تثبيت SDK عليها مسبقًا، لأن معظم تطبيقات الأندرويد تستخدم حوالي 18.2 مجموعة من حزم تطوير التطبيقات SDK.
وبالتالي لا يوجد مطور برامج يمتلك الوقت الكافي لترميز كل أداة من الصفر للتطبيقات التي يقوم بتصميمها، وخاصةً في حال كان المطورون من ذوي المهارات العالية والذين يتقاضون رواتبهم بالساعة لإنشاء تطبيق على مستوى عالمي.
عند التسويق لنوع معين من الهواتف والذي تم تثبيت حزمة تطوير برامج SDK عليه مسبقًا، فسيتم زيادة فرص دمج أدوات التطوير الأخرى مع المنتج الجديد، وبالتالي زيادة عرض العلامة التجارية.
كما تساعد حزمة تطوير برامج SDK في التحكم بشكل أفضل في عناصر واجهة المستخدم التي تظهر في التطبيقات الأخرى، مما سيؤدي إلى تحسين كيفية تكامل التطبيق المنشأ مع التطبيقات الأخرى على الجهاز مع ضمان الحفاظ على الوظائف الأكثر أهمية آمنة من العبث بها، وفيما يأتي بعض الخصائص المميزة للـSDK:
يسهل الاستخدام من قبل المطورين الذين يعملون في تطوير التطبيقات. يساعد في تقديم توثيق شامل لشرح كيفية عمل الكود. يحتوي على وظائف كافية يمكنها إضافة قيمة للتطبيقات الأخرى. يوفر في استهلاك وحدة المعالجة المركزية أو البطارية أو البيانات على الجهاز. يعمل بشكل جيد مع حزم تطوير البرامج الأخرى. يوفر وقت عمل المبرمجين في تطوير التطبيقات مع إنجاز العمل بشكلٍ جيد. يساعد أصحاب العلامات التجارية على الوصول إلى جماهير أوسع، وبالتالي زيادة صفقات العمل. يحتوي على كل ما هو ضروري للتواصل مع البرامج الأخرى وعلى المواد التي يمكن استخدامها لإنشاء تطبيق جديد تمامًا.
ما الفرق بين SDK و API؟
تعرف API بأنها واجهة برمجة التطبيقات، والتي يمكن استخدامها للوصول إلى ميزات أي تطبيق، فعلى سبيل المثال يمكن استخدام API لعرض خرائط لأماكن مختلفة دون كتابة لبرنامج خرائط جوجل، وبالتالي فإن API تسمح لمطوري التطبيقات الاستفادة من واجهة برمجة التطبيقات دون الحاجة إلى بناء كل شئ من الصفر، كما تستخدم واجهة برمجة التطبيقات API عند إنشاء تطبيقات مقترنة مع بعضها البعض.
حيث يمكن استخدام واجهة برمجة التطبيقات API عند تواجد العديد من التطبيقات كتطبيقات الويب وتطبيقات iOS، إذ يتم استخدام نفس الواجهة الخلفية في برمجة هذه التطبيقات، مما سيساعد المطورين على عدم ترميز نفس الأشياء عدة مرات على الواجهة الخلفية لعدة تطبيقات، كما سيتم التأكد من تزامن جميع التطبيقات مع بعضها البعض، وبالتي فإن استخدام واجهة برمجة التطبيقات API ستساعد على توفير الكثير من الوقت والجهد المتطلب لتصميم مجموعة من التطبيقات.
يمكن القول بأن API عبارة عن واجهة برمجة تسمح للبرامج بالتفاعل مع بعضها البعض، حيث يمكن استخدام هذه الواجهة للاطلاع على موقع الويب الخاص بالبلدان المختلفة، ومن ثم تحويل أوامر المستخدم إلى وظائف قابلة للاستخدام مع طلب البيانات من الخوادم الرئيسة وتقديم تلك البيانات بتنسيق قابل لخدمة المستخدم، ومن أبسط الأمثلة على استخدام واجهة برمجة التطبيقات API النسخ واللصق على جهاز كمبيوتر.
حيث يتم تحويل النص المنسوخ إلى أمر يخزن كبيانات في ذاكرة الوصول العشوائي عن طريق واجهة برمجة التطبيقات، ومن ثم يتم نقل البيانات من تطبيق إلى آخر باستخدام نفس الواجهة، ويلي ذلك عرض البيانات عند اللصق باستخدام واجهة برمجة تطبيقات أخرى.
وأما بالنسبة للفرق بين واجهات برمجة التطبيقات API وحزم برمجة التطبيقات SDK هو أن حزم SDK تحتوي على واجهة برمجة تطبيقات API، وبالتالي في حال تم استخدام حزم SDK عند القيام بإنشاء تطبيقات فسيتم الاتصال بتطبيقات أخرى، وذلك لاحتوائه على واجهة للتطبيقات، بينما يتم استخدام واجهة API للتواصل بين التطبيقات فقط، وبالتالي لا يمكن استخدامها لإنشاء تطبيقات جديدة تمامًا. [??]
ومن هنا يمكن القول بأن واجهة API تقوم بتشغيل التطبيقات ضمن المعلمات المحددة لحزم SDK، ومن أبرز الأمثلة على توضيح الفرق بين واجهات برمجة التطبيقات API وحزم برمجة التطبيقات SDK تطبيق الفيس بوك، حيث تستخدم واجهات برمجة تطبيقات لتسجيل الدخول إلى هذا التطبيق دون الحاجة إلى إنشاء نظام للدخول إلى الموقع من الصفر، وبالتالي لن تكون هنالك أهمية لكيفية إنشاء هذا التطبيق، بينما تكون حزم SDK التي يوفرها فيسبوك صممت بشكلٍ أساسي لإنشاء التطبيقات والمهام الخاصة بالفيسبوك. [??]
ويمكن تشبيه الفرق بين واجهات برمجة التطبيقات API وحزم برمجة التطبيقات SDK بخطوط الهواتف المنزلية، حيث تعمل واجهات برمجة التطبيقات API على الاتصال بين هذه الخطوط، بينما تكون حزم برمجة التطبيقات SDK هي النظام الذي تم بناء هذه الخطوط عليه.[??]
نحن نستخدم ملفات تعريف الارتباط (كوكيز) لفهم كيفية استخدامك لموقعنا ولتحسين تجربتك. من خلال الاستمرار في استخدام موقعنا ، فإنك توافق على استخدامنا لملفات تعريف الارتباط.