DEV Community

Ashraf Ras
Ashraf Ras

Posted on

السببين الكامنين خلف تطوير جني

هام
من ئجل قرائة مقالاتي علا هاد الموقع، قم بتفعيل الئتجاه من اليمين ئلا اليسار، وئضافة الخط العربي التقني ودلك بتتبع الخطوات التالية.

هام
هاد المقالة لا تحتوي خطئين، وئنما هي مكتوبة بالعربية التقنية، تعرف عليها ئكتر في هاد المقالة.

عندما تفكر في البرمجة، فئنك تتخيل شخص بنضارات وهو جالس ئمام الحاسوب، يرقن سريعا بالئصبعين تبعه، مع شاشة سودائـ ورقمين وحرفين مبهمين يضهرو ويختفو بسرعة. لكن في الحقيقة فئن هدا مجرد خيال، يختلف عن الواقع بشكل كبير، البرمجة هي في الحقيقة فن، والفنان يحتاج ئلا مساحة ومحيط ليفكر ويبدع، فلطالما كنت ئجد نفسي ئتجول في الطبيعة، ئو جالس علا صخرات البحر، ئو ربما ئعدو عدو خفيف من ئجل تحرير دهني وئطلاق العنان لخيالي كي يسبح بعيدا، ودلك في سبيل ئيجاد ئنجع الطريقات لتئليف ئعقد الخوارزميات وئفضل الحلين البرمجيين. فهده هي حقيقة مهندس البرمجيات، التئمل والشرود والحركة (التي تساعد علا تنشيط العقل)، وليس هو القعود ئمام شاشة فتلك ئاخر خطوة تكون بعد يومين طويلين من التحليل والتصميم والجهد العقلي.

وها هو دا المبرمج قد خرج من بيته ماشيا علا طول شاطئـ البحر يفكر في حل دكي لخوارزميته. ئو ربما هو جالس محاصر في مكان ممل بين العائلة ئو الصديقين تبعه ولا يستطيع الئنسحاب. فتبدئـ ئالة عقله النشطة في التفكير والئبداع، لتراوده فكرات وحلين متميزين لواحدة ئو كتير من الئشكالات البرمجية تبعه، وها هو دا الحل الئان قد صار مطبوخ في رئسه، لكنه في شك منه ئد يحتاج ئلا بعض الئختبارات قبل تئكيده ئو تحسينه، ئو لعله متئكد منه مئة بالمئة وهدا يجعله علا الجمر راغب في العودة ئلا الحاسوب كي يطبقه قبل ئن ينساه ئو يفقد حبل الفكرات ئليه. وما الفكرة ئللا ومضة طافية ما تلبت ئن تتلاشا وتختفي ئلا غير رجعة. وكتيرا ما يواجهني متل هاد الموقفين حتا صرت ئحمل الحاسوب علا ضهري ئينما حللت وئرتحلت، وئصبحت دلك الفتا الدي تكون معه بسلام حتا يهرع ئلا حاسوبه علا حين غرة تاركا ورائه حياة ممتعة وصديقين رائعين وطبيعة خلابة من ئجل تطبيق فكرة ئحتلت دهنه وزاحمت تفكيره.

نضام البرمجة جني

فقلت في نفسي دات يوم، ليتني ئستطيع الوصول ئلا الكود تبعي من ئي جهاز صادف ئنه معي، وغالبا ما يكون معي الهاتف المحمول. فئكتب الكود بسهولة ويسر كئنني علا الحاسوب، بل وئنففد البرنامج وئختبره بسرعة وسلاسة. وبينما ئنا كدلك قررت تدوين الفكرة كي لا ئنساها، ففتحت تطبيق جوجل كيب، وعندما ضهرت واجهته ئمامي قلت تبا، ليتني ئستطيع تصميم تطبيقين وكتابة خوارزميات كاملات قابلات للتنفيد علا جوجل كيب. فحبدا لو ئتمكن من تنضيم الكود علا شكل بطاقات مما يجعله سهل التدبير والبحت والمعاينة، خصوصا علا الشاشات الصغيرة كالهاتفين واللوحيات، ومن تم ئنبعتت فكرة جني، فهو المارد اللي تستدعيه ئينما كنت وفي ئي مكان عندما تحتاج ئلا خدماته، ينضضم لك الكود بشكل لطيف علا هيئة بطاقات، مما يساعدك علا التركيز علا جزئـ صغير محدد من برنامجك عوض الملفين الطويلين اللدين لا ينتهو. فسرعان ما تضيع بين سطرين الكود بحيت لا تعرف ئين هدا من داك، وهدا علا الشاشات الكبيرة فكيف بالصغيرة كالهاتف.

ئنك لست مضطر بعد اليوم ئلا حمل الحاسوب تبعك ئينما دهبت، ولا خوف علا فكراتك النيرة من التلاشي، فئنت تستطيع ئن شئت ئنشائـ تطبيقين كاملين وئختبارهم وتسليمهم من الهاتف تبعك وبكل ئريحية ويسر. بل ئنني كنت في فترة معينة ئمتلك هاتف قابل للطي وكنت ئبرمج عليه بئستخدام جني بكفائة عالية حتا ئنني نسيت بئن لدي حاسوب.

الهدف من جني ليس هو تعويض البرمجة بجني علا جهاز الحاسوب وئنما تكميلها بئمكانية البرمجة علا جهازين جديدين. حتا يتمكن المطور من العمل ئينما كان وعلا ئي جهاز صودف ئنه يحمله.

التطوير بالبطاقات

لقد فتح ئستخدام البطاقات ئمكانيات جديدة، فئنت تركز علا جزئـ واحد من الكود، كوضيفة واحدة متلا، عوض البرنامج بئكمله، وعندما تكتب دلك الجزئـ وتتقنه تستطيع توتيقه في البطاقة نفسها وئتاحته بحيت يمكنك ئعادة ئستخدامه في مشروعين ئاخرين ئو حتا مشاركته مع مستخدمين ئاخرين. تساعد البطاقات ئيضا علا تبسيط الئبحار ضمن المشروعين الضخمين، فالبحت في جني دكي بحيت يكفيك ئن تكتب ما تريد ليخرج لك جميع البطاقات المرتبطة، فلا داعي لفتح هرمية عملاقة من المجلدين للوصول ئلا الملف الضخم اللي يضم دلك الجزئـ الصغير من الكود اللي ترغب في تعديله! ستجده ببساطة في بطاقته الخاصة، بل ويمكنك تمييزه بلون مختلف ئو تتبيته..

جني بالعربية التقنية

يعتمد جني علا العربية التقنية وليس الئنجليزية كما هو معتاد، يمكن طبعا تحويل الكودات من وئلا الئنجليزية كما يمكن ئدخال ئسمين باللغة الئنجليزية في سبيل ضمان ئقصا توافق.

لن ئتطرق هنا ئلا موضوع العربية التقنية ئد يمكنك ئن تتعرف عليها ئكتر في مقالة: اللغة العربية التقنية

Top comments (0)