Follow me on Twitter

الثلاثاء، 25 أبريل، 2017

خمسة دروس تعلمتها عند تطويرى أول تطبيق ويب [مترجم]

لقد قمت ببناء تطبيق ويب كجزء من مشروع تخرجى من الجامعة. وبدلا من تطويرى لتطبيق ويب بغرض إنهاء مشروعى، أخترت أن أطوّر تطبيقا يمكنه حل مشكلة واقعية. فاخترت أن أنشئ Cyber Manager وهو عبارة عن نظام إدارة لـمقهى انترنت cyber cafe أونلاين لـadministrators الخاصين بـ cyber cafe ، والذى تم حميله قرابة 3000 تحميل منذ رفعى إياه على SourceForge.net عام 2011.

فى هذه المقال سألقى نظرة على 5 دروس تعلّمتهم أثناء تلك الفترة والتى قد تساعدك أثناء وبعد تطوير تطبيق الويب الخاص بك.

الدرس الأول : لا تبحث عن فكرة مشروع، أبحث عن مشكلة لحلها
إن أردت أن تنشئ تطبيقك الويب الأول، فبدلا من التفكير فى مشروع لتطويره، فكّر فى مشكلة لحلها. المشكلة الحقيقية الواقعية سوف تتحداك وستزودك بالفرص لزيادة مهاراتك بطرق عملية والتى يمكن أن تساعدك للإحتراف. سوف تجهزك تلك التجربة لأعمال التطوير المحترفة لأنك سوف تمتلك خبرة حل المشاكل الواقعية من خلال البرمجة. كما أنك ستكتسب فهما أفضل لأساسيات standards البرمجة وممارسة عملية ثريّة.

الدرس الثانى : أوجد حلا للمشاكل التى حولك
عندما كنت فى المدرسة أعتدت الذهاب إلى مقهى انترنت Cyper cafe لأحد أصدقائى لأتعلم تطوير الويب باستخدام دورة تعليمية على الويب. كنت أقضى عدة ساعات يوميا، عدة أيام بالأسبوع فى مقهى صديقى. بالمقابل كنت أقوم بإدارة المقهى فى العطلات. هكذا جاءتنى فكرة لإدارة المقهى.

الدرس الثالث : الأخذ بالاعتبار تطوير حلول باستخدام أدوات مفتوحة المصدر
عندما قررت ما الذى سأقوم بإنشائه، أحتجت أن أركز عن كيف أطور المشروع. كانت لغة البرمجة ASP.NET المشهوة خيارا بين طلاب الجامعة مثلما كانت جافا. كل خيار كله مميزات وعيوب. قررت أن أطور مشروعى باستخدام لغة PHP و Apache و MySQL. فلغة PHP لغة مشهورة، قابلة للتطور Scalable ،مفتوحة المصدر. لقد أخترت PHP لأنها سهلة وآمنة وتقدم دعم مجتمعى كبير للمطور. باستخدام تلك الأدوات أعطتنى الخبرة فى التعامل مع مجتمعاتها مفتوحة المصدر.

الدرس الرابع: التوجيه/الإرشاد Mentorship أهم من Technology Stack .
حينما تبدأ بالعمل فى مشروع تطبيق الويب الخاص بك، ضع فى أولوياتك إيجاد موجّه/مرشد mentor فعال فضلا عن التركيز على تكنولوجيا فعالة. إن التكنولوجيا شىء سوف يتعامل فقط مع المشروع، فى حين أن  الموجّه/المرشد mentor هو شخص سوف سيتعامل معك-سيساعدك لبناء تطبيق أفضل بينما يساعدك أيضا فى التحسن كمطوّر Developer وكمحترف. على الرغم من تقديم الجامعات للتوجيه من خلالها، لكن على الطلاب البحث عن مصادر خارجية لإيجاد موجّه/مرشد شخصى يساعدهم على اكتساب مهارات التخصص المطلوبة. لقد كنت محظوظا كون صديقى هو الموجّه Mentor لمشروع عامى الأخير. لقد كان مبرمج PHP ذا خبرة تحوّل إلى رائد أعمال entrepreneur ، ليطلق مشروع Startup تقنى صغير مؤخرا يقدم خدمات Web Development حول المدينة. جلست معه وعمل معه على مدى جدوى مشروعى، وقدّم لى النصيحة التى أضافت القيمة لمشروعى. فى بعض الأوقات كان يشرف على تقدّمى ويستخدم تطبيقى ويختبره فى حالات ير متوقعة وذلك ساعدنى فى تحديد الأخطاء bugs ومشاكل الأداء. هذا ساعدنى كثيرا فى تحسين تطبيقى وجعله قابل للتطور Scalable.


الدرس الخامس : أوجد مستخدمين حقيقين للاختبار، واستخدام التطبيق فى العالم الحقيقى
ليس هناك تطبيق تام حتى يتم اختباره ويستخدم من قبل المستخدمين المستهدفين. إذا أردت أن يكون مشروعك ذا جدوى feasible ،وذا اعتمادية reliable وقابل للاستخدام usable ، يجب أن تحصل على مستخدمين مستدفين لاختباره وتقديم تقييم feedback للمشروع. اختبار العالم الحقيقى والتقييم هو أمر بالغ الأهمية لتحسين جودة تطبيقك وأساسى لتطوير المشروع والمنتج الذى يريده المستخدم النهائى ليستمتع باستخدامه.

----------------
المصدر

الخميس، 20 أبريل، 2017

شرح برنامج strut لتصميم presentations - منافس برنامج prezi

أشرح فيه strut لتصميم presentations ولماذا هو أفضل من Prezi
يمكنكم عمل Subscribe للقناة على اليوتيوب لمتابعة الفيديوهات الجديدة https://www.youtube.com/channel/UC1omONCBPrgo8s7rz_RRpSQ



الخميس، 13 أبريل، 2017

فيديو: كيف تنقل الملفات إلى موبايلك بواسطة برنامج Filezilla و Ftp server


السلام عليكم

تستطيع نقل ملفاتك بين الأجهزة: بين جهازين PC أو بين جهاز PC وموبايلك دون استخدام أى كابل بل وتستطيع الوصول لكل ملفات موبايلك..

شاهد الفيديو ولا تنسى أن تقوم بعمل Subscribe لقناة يوميات لينكساوى







الثلاثاء، 11 أبريل، 2017

كتب لبرمجة تطبيقات الهواتف بواسطة python و kivy

السلام عليكم

تحدثت فى تدوينة سابقة عن تطبيقات الهواتف الذكية بواسطة لغة Python ومكتبة Kivy ،وفى لك التدوينة سأتحدث عن الكتب التى تشرح بناء تطبيقات الهواتف بواسطة Python ومكتبة Kivy.





 كتاب Creating Apps in Kivy
المؤلف : Dusty Phillips
يتحدث الكتاب عن أساسيات أداة kivy ك widgets و Events و Graphics وغير ذلك ويدمجها بالتدريج فى بناء تطبيق على مدى فصول الكتاب ليتطور مع كل معلومة تعرفها .. التطبيق لمعرفة درجة حرارة الطقس، ثم يختم بكيفية عمل حزمة APK لأندرويد أو حزمة لـ IOS. يعرفك أيضا بـ كيفية استدعاء GPS واستخدامه.
يمكنك الإطلاع على الكتاب أونلاين من خلال الرابط



كتاب Kivy: Interactive Applications in Python
المؤلف : Roberto Ulloa
لا يختلف هذا الكتاب فى تناول أساسيات أداة Kivy مثل الكتاب السابق سوى فى أسلوب العرض غير أنه يهتم كثيرا بالـ Graphics أو Canvas بالإضافة إلى التحريك Animation حيث يقوم ببناء لعبة يقوم ببرمجتها وتطويرها على مدى فصول الكتاب.



كتاب Kivy Blueprints
المؤلف : Mark Vasilkov
ستجد ان ذلك الكتاب يختلف عما ذكرته سابقا، فهو لا يشرح أساسيات أداة Kivy مثل الكتب السابقة لكنه يبرمج تطبيقا فى كل فصل ومن خلال تطوير التطبيق تتعلم معه بشكل عملى. ستجد برمجة تطبيقات كثيرة فلى مدى فصول الكتاب مثل تطبيق ساعة، تطبيق رسم، تطبيق تسجيل الصوت، تطبيق دردشة، تطبيق تحكم فى سطح المكتب، لعبة 2048، نسخة لعبة Flappy Bird ، ولعبة Shoot-Em-Up.
كما يوجد فصل يتحدث عن أساسيات مكتبة OpenGL وكيفية الاستفادة منها.



كتاب Kivy Cookbook
المؤلف : Hugo Solis
من الكتب التى أعجبتنى فهو يشرح أساسيات Kivy بشكل جميل بالإضافة لعرضه لكيفية التعامل مع accelerometer و  gyroscope والـ actions المختلفة. يتناول الكتاب أيضا API بالتفصيل نوعا ما. كما ستجد فصل لكيفية عمل حزمة لبرنامجك لأجهزة الكمبيوتر لينكس وماك وويندوز، بالإضافة لفصل لبناء التطبيقات للهواتف الذكية.
يمكنك الإطلاع على الكتاب أونلاين من خلال الرابط
فى النهاية لا أريد أن أذكركم بالإعتماد أيضا على Kivy Documentation ، فهى رائعة أيضا. يمكنكم تحميلها من موقع Kivy.

الأربعاء، 29 مارس، 2017

لماذا لغة بايثون أفضل للمبتدئين فى البرمجة

فيديو أتحدث فيه عن لغة python ولماذا هى أفضل لغة للمبتدئين فى البرمجة.

يمكنكم عمل Subscribe للقناة لمتابعة الفيديوهات الجديدة.


الاثنين، 27 مارس، 2017

تطوير لعبة Balls Gravity على Android بلغة Python

لعبة Balls Gravity على Android
لعبة قمت بتطويرها بلغة البرمجة Python ومكتبة Kivy التى تحدثت عنها وعن قدرتك على بناء تطبيقات لأندرويد بها فى تدوينة سابقة.
كيفية اللعب :
- اضغط على الكرات المجاورة لبعضها أفقيا أو رأسيا
- كلما زادت عدد الكرات التى تم ضربها فى المرة الواحدة كلما زادت النقاط التى تحصل عليها.
- لتنجح فى اجتياز كل مستوى يجب أن تحصل على 1100 نقطة

لتحميل اللعبة من Play Google





الأحد، 26 مارس، 2017

أوامر لينكس : استخدام أمر alias


يمكنكم عمل subscribe للقناة على اليوتيوب لمتابعة الفيديوهات الجديدة ليوميات لينكساوى.