القائمة الرئيسية

الصفحات

دليلك الشامل لإنشاء تطبيق أندرويد

دليلك الشامل لإنشاء تطبيق أندرويد
دليلك الشامل لإنشاء تطبيق أندرويد

 لماذا أتعلم برمجة الأندرويد؟ مالذي سأستفيده بعد قضاء الكثير من الساعات في التعلم ؟


إن إنشاء تطبيق أندرويد لايتطلب خبرة طويلة كما باقي التطبيقات المكتبية، إضافة إلى ذلك فالأندرويد عالم واسع، لا أقصد بذلك نظام الأندرويد فقط، وإنما الجمهور والسوق والانتشار، فبعد احترافك لهذا المجال يمكنك أن تعمل بشكل حرّ على الانترنت، وهناك عدة طرق لذلك منها:
– أسهل هذه الطرق هي بيع تطبيقك عبر مجتمع خمسات (khamsat.com).
– كذلك يمكن بيع التطبيقات عبر سوق Google Play.
– وضع إعلانات Adsense (من شركة Google) في تطبيقك أو لعبتك، لتربح من كل نقرة على الإعلان.
هناك أشخاصاً ربحوا مئات وآلاف الدولارات من بيع تطبيقات وألعاب الأندرويد، نذكر مثلاً مطور لعبة Flappy Bird الذي بلغ معدل ربحه اليومي 50 ألف دولار.
أنصحك بأن تبدأ الآن .. لعلّ الحظ يحالفك أيضاً 
هناك 6 لغات برمجة مستخدمة في برمجة تطبيقات الأندرويد،
1- باستخدام لغة Java : عبر برنامج Eclipse أو برنامج Android Studio.
2- باستخدام لغة #C : عبر برنامج Xamarin.
3- باستخدام لغة ++C : عبر Android NDK.
4- باستخدام لغة Java Script : عبر Titanium Mobile Accelerator أوPhone Gap.
5- باستخدام لغة Python : عبر kivy.
6- باستخدام لغة Ruby : عبر RhoMobile.
ولأن لغة Java هي الأكثر استخداماً واستقراراً ستكون هي اللغة التي نبدأ فيها رحلتنا.

والآن، ماهي خطوات العمل ؟

أولاً : تعلم لغة برمجة Java :

عندما نقول تعلم لغة Java لانقصد بذلك تعلم كل أوامرها وتفاصيلها الكاملة، فهي لغة ضخمة، لكن أقصد تعلم المفاهيم الأساسية واكتساب بعض المرونة، والباقي سوف تتعلمه بنفسك أثناء إنشاءك لتطبيقات الأندرويد
1- مشاهدة دورات مصورة:
الدورات المصورة هي الخيار الأفضل دائماً للبدء في أي لغة برمجة.
أمامك خياران، إما دورات باللغة العربية أو الإنكليزية:
دورات باللغة العربية:
المشاهدة وحدها لاتكفي، لكن التفاعل مع الأفكار الجديدة وتطبيقها عملياً هو مايجعلك مبرمجاً.
بعد مشاهدة وتطبيق الدورات الثلاث السابقة، يمكنك الانتقال مباشرة إلى برمجة الأندرويد بدون مشاهدة دورات اللغة الانكليزية، لكن إذا أردت الاحتراف عليك مشاهدتها لاحقاً.
ولأن موقع Lynda ليس مجاني، أمامك خياران لمشاهدة هذه الدورات:
إما التسجيل بالموقع وعندها لديك 7 أيام مجانية بإمكانك خلالها مشاهد الدورات وتحميلها إلى حاسوبك.
أو الاعتماد على التورنت وتحميل الدورات بطريقة غير شرعية.
إلى هنا هو الحد الأدنى من الخبرة المطلوبة في لغة Java
2- الكتب الرقمية:
بعد مشاهدة دورة مصورة بأحد اللغتين (أو كلاهما كما أنا فعلت)، يمكنك زيادة خبرتك عبر الاستعانة بالكتب الرقمية.
يجب أن يكون بجانبك دائماً كتاباً تتخذه مرجعاً لك أثناء عملك بلغة Java ، وخصوصاً إذا كانت مرتك الأولى في البرمجة بهذه اللغة.
باللغة العربية :
يوجد في المكتبة السابقة على سبيل المثال هذا الكتاب المجاني باللغة العربية،
وأيضاً هذا كتاب مميز يُدرّس في المملكة العربية السعودية أنصح به.
باللغة الإنكليزية:
أفضل كتاب حسب وجهة نظري هو كتاب Java How to Program من شركة Deitel المعروفة، يمكنك شراؤه
Deitel – Java How to Program 9th
أو تحميله بشكل غير شرعي بمفردك من موقع 4shared.

ثانياً : البدء في برمجة الأندرويد:

أأصبح الآن برنامج Android Studio هو البرنامج الرسمي والأفضل لتصميم تطبيقات الأندرويد،
باللغة العربية :
للأسف فإن الكتب العربية المتخصصة ببرمجة الأندررويد قليلة ونادرة، وإن وجدت فإنها لاتغطي الاحتياجات كما تفعل الكتب الإنكليزية، نذكر على سبيل المثال كتاب أندرويد ببساطة ، لكنه أصبح قديماً ولايقارن بمستوى الكتب الإنكليزية.
باللغة الإنكليزية:
من أفضل الكتب حسب تجربتي :
Beginning Android 4 Application Development
The Busy Coder’s Guide to Android Development
يتميز الكتاب الأخير بضخامته وشموله لكثير من المواضيع.
3- ملاحظات ومصادر أخرى:
ملاحظة (1):
إن مجرد مشاهدة دورة لايعني أنك أصبحت مطور تطبيقات أندرويد، وإنما عليك وضع هدف من إبداعك والوصول إليه، على سبيل المثال ضع هدفاً لتصميم تطبيق يقوم بتسجيل الملاحظات، أو تطبيق آلة حاسبة، أو تطبيق مسابقة معلومات، وبمجرد وصولك لهذا الهدف تكون قد دخلت في برمجة الأندرويد بقوة، بالتأكيد سوف تواجهك بعض الصعوبات، حاول الاعتماد على المصادر التالية لتجد حلاً لمشكلتك.
ملاحظة (2):
ليس من الصواب تماماً أن تبدأ برمجة تطبيقك من الصفر، يمكنك الاعتماد على عمل الآخرين والاستفادة منه بمشروعك – جزئياً على الأقل – ، على سبيل المثال التعامل مع السيرفرات وإرسال البيانات إليها، أو عرض الصور وتكبيرها بإصبعيتن، ليس عليك كتابة كود لذلك، وإنما استعمال كود جاهز وبذلك توفر الوقت والجهد، هذه هي فكرة المصدر المفتوح، يمكن الاعتماد على المصادر التالية أيضاً للحصول على أكواد جاهزة.
ملاحظة (3):
حاول أن تستفيد من الشبكات الاجتماعية، على سبيل المثال هنا بعض المجموعات على الفيسبوك تحوي عدداً كبيراً من الشباب العرب المميزين، وستجدهم مستعدين لمساعدتك وإرشادك لحل مشاكلك المستعصية:
Ask Syrian Programmers
عبدالله عيد
المصادر:
◄موقع Vogella.com يقدم شروحات متقدمة واحترافية.
◄الموقع الرسمي لتطوير الأندرويد، أنصح بالاعتماد عليه بعد الإلمام جيداً بمفايهم برمجة الأندرويد:
Android Developers – Android.com
يحتوي الموقع على الكثير من الأقسام، أهمها قسم Reference والذي يحتوي الشرح التفصيلي لكل صنف وطريقة موجودة في نظام الأندرويد، يمكنك تحميله للعمل عليه دون اتصال بالإنترنت من خلال SDK Manager الذي قمنا بتحميله سابقاً.
موقع Stackoverflow.com، الموقع الأفضل في حل المشاكل التي تواجهك، مهما كانت مشكلتك ابحث عنها في Stackoverflow وستجد الحل.
موقع Androidhive.info موقع يحوي أكواد جاهزة لاستخدامها ضمن تطبيقك.
موقع Android Arsenal موقع شامل للمكاتب مفتوحة المصدر الخاصة بالأندرويد.
تطبيق DevAppsDirect – Demo Market : تطبيق مميز جداً، يحوي مجموعة واسعة من المكاتب مفتوحة المصدر مع إمكانية تجريبها مباشرة على هاتفك المحمول.
متجر F-Droid: متجر مشهور و خاص بالتطبيقات المجانية مفتوحة المصدر.
محاكي Genymotion الرائع، أنصح باستخدامه بشدة بدلاً عن المحاكي الذي يأتي مع حزمة ADT.

ثالثاً : برمجة ألعاب الأندرويد:

سنتحدث عن تصميم ألعاب الأندرويد بشكل مختصر،وقلت بشكل مختصر لأنك اذا وصلت
إلى هذه المرحلة فهذا يعني أنك أصبحت محترفاً و لم تعد تحتاج الرجوع إلى هذا المقال، فتصميم الألعاب يتطلب خبرة واحترافية.
يختلف تصميم الألعاب عن البرامج من ناحية الجهد ولغات البرمجة المستخدمة وكذلك البرامج المستخدمة، أظن أن العناء سوف يُنسى حين تشاهد أرباحك الأولى من تصميم الألعاب !
يمكن تصميم الألعاب باستخدام لغة Java وعلى برنامج Eclipse، لكن لن تكون بنفس أداء لغة C++ مثلاً، بشكل عام لألعاب 2D ليست بمشكلة، لكن لألعاب 3D يجب ترك لغة Java.
كمبتدأ أنصحك بالتوجه إما إلى Unity3D، أو إلى AndEngine.

ماهي خيارتنا إذاً؟

1- باستخدام برامج تجارية:

◄Unity3D : برنامج جيد بالنسبة للمبتدأ، يعتمد لغة #C و Java Script.
هناك دورات مصورة على YouTube لهذا البرنامج، على سبيل المثال :
Unity 3d – Android Game Development Tutorial
◄Unreal Engine : برنامج متقدم ومستواه احترافي، يعتمد لغة UnrealScript وهي لغة خاصة تشبه إلى حد ما لغة Java.

2- باستخدام مكتبات مفتوحة المصدر تعتمد على بيئة ++C:

◄Ogre3D : المكتبة الأفضل والأكثر تقدماً وضخامة.
◄Irrlicht
◄Linderdaum

3- باستخدام مكتبات مفتوحة المصدر تعتمد على بيئة Java:

◄AndEngine : المفضل عندي لسهولة استخدمه وأداءه العالي بالرغم من اعتماده على بيئة Java.
◄Cocos2D : دورة مصورة من موقع Lynda :
Building and Monetizing Game Apps for Android
أتمنى أن أكون قد وفقت في طرحي لهذا الموضوع بأبسط صورة، وأتمنى أن يكون هذا المقال محفزاً على البداية.

تعليقات