Follow me on Twitter

السبت، 13 ديسمبر، 2014

لغة Python وأداة Kivy فى مجال تطبيقات الهواتف 2



السلام عليكم

تحدث فى تدوينة سابقة عن دور لغة البرمجة python فى مجال تطبيقات الهواتف _أندرويد _ مع SL4A باستخدام API التى يوفرها لك لكنى كنت أريد أن أجرب نوعا آخر خاصة وأن معلوماتى عن SL4A أنه سيوفر لى سكربتات يتم تشغيلها على أندرويد بعد تنصيب SL4A على الهاتف وهذا ما لا أرضاه، فإنى أريد توفير البرنامج المكتوب بلغة بايثون على هيئة حزمة APK يمكنك تنصيبها على أى هاتف دون الحاجه لتنصيب برامج أخرى أو مكتبات أى يكون البرنامج الذى تم بنائه بامتداد APK مدمج به أدوات اللغة ومكتباتها التى يريدها.

ثم بعد فترة وفقنى الله فى معرفة إطار Kivy وهو الذى وفّر لى تلك المزية التى ذكرتها، فإطار Kivy استطاع أن يوفر لى القدرة على بناء برامج بلغة بايثون ويمكن استخدامه فى بناء حزم بامتداد APK ليتم تنصيبها على الهواتف الذكية بما فيها بناء تطبيقات متعددة اللمس multi-touch.

وكون Kivy يتم وصفها كإطار  لكن ذلك لا يمنع وصفها بأنها مكتبة مثل مكتبات بايثون يمكنك أن تستدعيها وتستدعى أدواتها باستخدام import.

توفر لك Kivy لغة جديدة تسمى kv Language وهى تستخدم فى تصميم واجهة التطبيقات وكيفية التفاعل معها وهى تتميز بالسهولة والاعتمادية، فهى تسمح لك بإنشاء واجهة رسومية تطبيقك بشكل وواضح ومنفصل عن logic الخاص بتطبيقك مع الربط بين الواجهة الرسومية و logic الخاص بالتطبيق، وسيساعد ذلك فى سرعة تطوير التطبيق وسهولة صيانته.

موقع kivy

للبدء مع kivy .. من خلال Getting Started :

لتحميل Documentation :

صفحة لألعاب وبرامج تم تنفيذها بواسطة kivy :

كما يوجد كتابان يتناولان إطار kivy وكيفية استخدامها لإنشاء تطبيقك من الصفر مع أمثلة متقدمة ومفصلة . اسم الكتابين :
Creating Apps in Kivy, Dusty Phillips 
Kivy: Interactive Applications in Python, Roberto Ulloa

أتمنى أن تستمتعوا بإستكشاف kivy ^_^

الأحد، 17 أغسطس، 2014

لغة Python وأداة SL4A فى مجال تطبيقات الهواتف 1


السلام عليكم

ما هى SL4A .. وما دورها فى مجال تطبيقات الهواتف بلغة بايثون ..

من المعلوم أن اللغة الأساسية الذى يعتمدها أندرويد فى كتابة تطبيقاته هى لغة جافا .. لكن ذلك لن يمنعك من كتابة تطبيقاتك بلغات أخرى ..

حين تتحدث عن استخدام لغة بايثون Python فى تطبيقات الهواتف فلا يجب أن تقدم الأفضلية لأداة عن أخرى .. فلكلٍ مستخدميها، ولكل أداة هدف صممت من أجله .

أولى الأدوات التى سنتحدث عنها هى Scripting Layer for Android أو ما تعرف اختصارا بـ SL4A

أداة SL4A هى عبارة عن تطبيق مفتوح المصدر تمكنك من كتابة برامج بلغات برمجة مفسرة Interpreted Languages لتعمل على أندرويد، فهى بمثابة الوسيط و"Layer" بينك وبين أجهزة أندرويد بما تملكه من API تسهل عليك التعامل والتفاعل مع أجهزة أندرويد.

تعتبر SL4A سهلة التنصيب .. ولا تحتاج لأن يكون الجهاز فى حالة root لاستخدامها

اللغات التى تدعمها SL4A هى بايثون Python ، روبى Ruby، بيرل Perl، جافاسكربت JavaScript، Lua ،BeanShell ،و Tcl .

ما الذى يجعل SL4A مختلف "مترجمة من المقال":

لكى تكتب تطبيقات تعمل على أندرويد فلن تجد أفضل من SL4a لما تقدمه لك من مميزات ومرونة، فالبدائل تركز على كتابة تطبيقاتك كـ native Apps -بعضها يفعل ذلك جيدا- .
كمثال ، فى kivy .. يمكنك إنشاء التطبيق بواسطة بايثون ليعمل على العديد من أنظمة التشغيل المكتبية والهواتف الذكية (مثل أندرويد)، لكن لكونه موجه لمنصات متعددة فإنه لن يتعامل بشكل مباشر مع API الخاصة بالأندرويد لذلك لن يمكنك الإستفادة من جميع المميزات المتواجدة بالهاتف. أما مع أداة SL4A فتم تصميمها بحيث تكون أكثر تكاملا مع نظام التشغيل أندرويد.

تسمح لك أداة SL4A بتحزيم برنامجك كملف Apk ونشره على متاجر أندرويد .. لكنه يظل خيارا لك .. فمسألة التحزيم تم تقديمه كخيار فضلا على أن يكون هدفا .. فأغلب ما يُكتب بلغة بايثون عبارة عن سكربتات تستخدم لأغراض محددة وعادة لا يتم نشرها فى المتاجر .. فما تحتاجه -الهدف- هو تمكينك من كتابة عدة أسطر من الأكواد بلغة بايثون لأداء غرض محدد وحفظها وتشغيله متى أردت.

لبدء التعامل مع SL4A ولغة البرمجة التى تريدها -بايثون فى حالتنا-:
قم بالدخول على صفحة Downloads ،وقم بتحميل آخر إصدار لـ :
1- SL4A
2- Python for Android "Py4A"
تفتح Python for Android لتضغط على Install وتقوم بتحميل نسخة البايثون، ثم تفتح SL4A لتعرض قائمة Interpreted الخاصة باللغات المضافة وتتأكد من تواجد حزمة بايثون ورقم إصدارها







رأيى : تحدث الكاتب -فى الفقرة المترجمة- عن إطار kivy الذى يستخدم فى عمل Native Apps موجهة لمنصات متعددة، وتعامل معها وكأنها عيب لكن من ينسى أن جافا تعمل على JVM وتستطيع أن تكتب بها برنامج احترافى موجه لمنصات متعددة .. إذن الأمر يجب أن يُنظر له من وجهة نظر هل تم استيفاء متطلبات المبرمج من خلال تلك الأدوات ليكتب برنامج احترافى أم لا !!



الثلاثاء، 29 يوليو، 2014

لغة البرمجة بايثون python فى تطبيقات الويب

أكمل كلامى عن لغة البرمجة بايثون .. بايثون من اللغات التى يمك أن يطلق عليها بالعامية "ليها فى كل خرابة عفريت" ..

تستطيع أن تستخم بايثون فى بناء مواقع ويب قوية عن طريق Frameworks كتيرة منها Django و Pyramid و Flask (تعرف على الباقى عن طريق ويكيبديا ) ولكن أشهرها هو Django أو جانجو بالعربى.

Django عبارة عن إطار ويب مفتوح المصدر ومكتوب بالبايثون، ويعتبر من أقوى أطر الويب للغة بايثون .. تم تنفيذ مواقع عديدة بواسطته يمكنك تصفحها عن ذلك الموقع ( ستجد بعض المواقع تقدم الشفرة المصدرية الخاصة بها )
https://www.djangosites.org

يمكن أن تبدأ الآن فى تعلّم Django من خلال وثائق الموقع الرسمى (النسخة 1.6 هى النسخة الرسمية حاليا ، والنسخة 1.7 لسه بيتا )
https://docs.djangoproject.com/en/1.6/

موقع كتاب THe Django Book

http://www.djangobook.com

ودروس أخرى من موقع Tutsplus
http://code.tutsplus.com/categories/django http://code.tutsplus.com/articles/diving-into-django--net-2969

صفحة Django resources
  ttps://code.djangoproject.com/wiki/DjangoResources

وأكيد الانترنت عبارة عن مصدر مفتوح لك يمكنك البحث فيه كما تشاء .. استخدمه فى البحث عن مشكلتك وزيادة معلومتك..

يمكن معرفة أيضا Frameworks أخرى للبايثون وذلك من خلال صفحة الويكيبديا ..
  http://en.wikipedia.org/wiki/Python_%28programming_language%29#Use

‫#‏اتعلم‬ ‫#‏بايثون‬ ‪#‎Python‬ ‪#‎Django‬

الأربعاء، 30 أكتوبر، 2013

فلسفة يونكس فى تطوير البرمجيات Unix philosophy


فلسفة يونكس هى عبارة عن نهج مستخدم فى تطوير البرمجيات وهو معتمد على خبرات كبار مطورى نظام التشغيل يونكس ،وهذه القواعد هى المطبقة أيضا فى أنظمة تشغيل لينكس :

Do one thing and do it well - Write programs that do one thing and do it well. Write programs to work together.
Write programs to handle text streams, because that is a universal interface.
 

Everything is file - Ease of use and security is offered by treating hardware as a file.
 

 Small is beautiful.
 

 Store data and configuration in flat text files - Text file is a universal interface. Easy to create, backup and move to another system.
 

 Use shell scripts to increase leverage and portability - Use shell script to automate common tasks across various UNIX / Linux installations.
 

 Chain programs together to complete complex task - Use shell pipes and filters to chain small utilities that perform one task at time.
 

 Choose portability over efficiency.
 

 Keep it Simple, Stupid (KISS).

رائعة بحق ^_^

من كتاب Linux shell scripting
نقلتها كما هى بالإنجليزية خوفا من أن تكون الترجمة لا توفيها حقها 


الأحد، 27 أكتوبر، 2013

اختصارات مفيدة عند إستخدام الترمينال Terminal



هذه عدة إختصارات توفّر وقتك وتسهل عملك عند استخدام سطر الأوامر :
 
-----------------------------




- إذا قمت بتنفيذ عدة أوامر وامتلأت الشاشة بالأسطر ،يمكنك تنظيفها بالضغط على CTRL + L

- إذا كتبت سطر طويلا وأردت مسحه ،لست مجبرا على الضغط على Backspace لمسحه ،بل يكفيك الضغط على CTRL + U

- للبحث عن أمر كنت قد كتبته قبل ذلك ولا تتذكر تفاصيله فما عليك إلا الضغط CTRL + R ثم اكتب كلمة أو مقطع لتبحث به فى الأوامر السابقة

- إن أردت إيقاف أمر أثناء وقت تنفيذه ،تذكر أن تضغط CTRL + C

- يمكن استخدام السهم لأعلى للرجوع للأوامر السابقة


- إذا كتبت أمر طويلا وأردت الذهاب لأوله يمكنك استخدام Ctrl + A وإن أردت الذهاب لآخر الأمر فما عليك إلا الضغط على Ctrl + E .

- لإيقاف أو تعليق تنفيذ الأمر يمكنك الضغط على Ctrl + Z

- لمسح الكلمة قبل علامة الكتابة ،اضغط Ctrl + W

- للإنتقال بعلامة الكتابة بين حروف بداية كلمات الأمر الذى كتبته ،تقوم بالضغط على Ctrl + right/left arrow



الاثنين، 7 أكتوبر، 2013

برنامج عدّاد 3.0 Addad الإصدار الثالث - من برمجتى

السلام عليكم
هذا هو الإصدار الثالث من برنامج عدّاد Addad 3.0
البرنامج موجه لمستخدمى توزيعة أوبونتو و Linux Mint والتوزيعات المنبثقة منهما الذى تستخدم حزم Deb
رخصة البرنامج GPL V3

مميزات برنامج "عدّاد" :

  • ساعة إيقافStopWatch .
  • عدّاد زمنى تنازلى Time CountDown، مع الإمكانية لاختيار أوقات شهيرة Popular Timers .
  • تقنية البومودورو Pomodoro Technique، ويمكنك القراءة عنها عبر هذا الرابط .إشعارات notifications تظهر حين انتهاء الوقت المحدد للعداد التنازلى Time CountDown و Pomodoro Technique .
  • مؤشر Indicator يحمل شعار البرنامج به خيارات عدة منها إخفاء وإظهار نافذة البرنامج، وإظهار أو إخفاء التوقيت الزمنى لأى من الثلاث (ساعة الايقاف – العداد الزمنى التنازلى – تقنية البومودورو ) بجانب indicator.
صفحة البرنامج على Launchpad لتحميل حزمة الـ Deb او الكود المصدرى.
لتنصيب البرنامج ،قم بتطبيق الأوامر التالية :
sudo add-apt-repository ppa:ahmed-linuxawy/ppas
sudo apt-get update
sudo apt-get install addad 


أشكر إسلام مصطفى، وإسلام ممدوح، وأنس عماد ،وبهاء سلامة على مساعدتهم واقتراحاتهم
 

الأحد، 30 يونيو، 2013

تنصيب سكايب skype على أوبونتو 13.04

السلام عليكم

منذ فترة قمت بتنصيب نظام تشغيل أوبونتو 13.04 64 بت ،وأردت بعدها تنصيب برنامج Skype ،فبحثت عنه فى Ubuntu Software Center فلم أجده.


ما أعرفه أن أوبونتو أضافت مستودعا لبرامج third party مثل برنامج Skype فقمت بتفعيل ذلك المستودع وقمت بتحميل البرنامج ،وهذا ما فعلت :

افتح ملف sources.list فى المسار /etc/apt/ وأنت root :
أو يمكنك فتحه بواسطة Terminal بالأمر التالى :


sudo gedit /etc/apt/sources.list

قم بإزالة علامة التعليق # من أمام السطر الآتى فى ملف sources.list :
deb http://archive.canonical.com/ubuntu raring partner

ثم قم بتحديث معلومات المستودعات :
sudo apt-get update

ثم قم بتنصيب البرنامج :
sudo apt-get install skype

أستمتعوا ^_^