
قمنا بترجمة مقال لك من قبل Benoit Zen ، مطور برامج في Sqreen. تعمل Benoit على خدمة ويب خلفية وقد انتقلت مؤخرًا من Ruby إلى Python.
في عام 2008 ، عندما كنت لا أزال أدرس كمطور برامج ، قرر اثنان من أصدقائي تأسيس شركة أطلقوا عليها اسم Feedbooks. كان هدفهم إنشاء كتب إلكترونية عالية الجودة يمكن لأي شخص العثور عليها وتنزيلها بسرعة (إذا رغبت في ذلك ، مشاركتها مع الأصدقاء). تم تقديم المشروع لهم كمكتبة samizdat رقمية.
يجب أن يكون الموقع الإلكتروني ، الذي سيصبح واجهة الخدمة ، سريعًا وفعالًا وسهل الإدارة. في ذلك الوقت تقريبًا ، ظهر شريط فيديو تجريبي لـ Ruby on Rails بعنوان "كيفية إنشاء مدونة في 15 دقيقة" ، وبعد ذلك قرر المؤسسون العمل معها.
توصي Skillbox بما يلي: دورة عملية لمدة عامين ، "أنا مطور ويب للمحترفين" .
نذكرك: لجميع قراء "Habr" - خصم بقيمة 10،000 روبل عند التسجيل في أي دورة تدريبية في Skillbox باستخدام الرمز الترويجي "Habr".
بعد بضعة أسابيع كانوا بحاجة إلى المساعدة ، وتحولوا إلي.
مثل العديد من مطوري جيلي ، عملت مع PHP و Mysql ، وأحيانًا قمت بإضافة مشاركتي إلى CMS مفتوحة المصدر. كان كل شيء مألوفًا جدًا بالنسبة لي في المهمة ، باستثناء روبي. لم أسمع به من قبل (لا تنس ، نحن نتحدث عن عام 2008 ، ملاحظة من المترجم). بشكل عام ، بدأت العمل مع روبي وأمضيت السنوات العشر التالية معه.
لماذا روبي؟
الحقيقة هي أن هذه لغة معبرة للغاية. صمم المنشئ الرئيسي لجعل المبرمجين سعداء عند العمل مع روبي. وحصل على طريقه. تقريبا أي عنصر هنا هو كائن. يترجم الجهاز الظاهري روبي بناء الجملة إلى بيان حقيقي. إنه يتحسن باستمرار ، بحيث تتحسن الشفرة التي تم إنشاؤها مع كل إصدار جديد. من السهل تحليل روبي أو تعديله أو حتى إنشاء واجهات متخصصة.
في جوهرها ، Ruby on Rails عبارة عن مجموعة DSL وبنية تحتية لبناء تطبيقات الويب القائمة على النموذج بسهولة. يتم تكييفها اليوم بشكل جيد وجيد لإنشاء تطبيقات يلعب فيها منطق ونمذجة الأعمال دورًا مهمًا.
في شركتي Sqreen ، عملت مع روبي على الواجهة الخلفية. ولكن بعد ذلك ، بسرعة كبيرة ، جاء القرار لاستخدام بيثون.
أحب روبي ، ولكن التبديل إلى بيثون ، لماذا؟
أولاً ، الخلفية لدينا هي مجموعة من الخدمات العديدة ، بعضها مفتوح للعالم ، والبعض الآخر ليس كذلك. أول ما يراه العميل هو موقع ثابت للشركة يتم إنشاؤه باستخدام Jekyll. ثم يفتح شريط الأدوات - هذا هو تطبيق React ديناميكي. تعمل اللوحة مع واجهة برمجة تطبيقات مخصصة ، نسميها "الواجهة الخلفية للواجهة الخارجية". هو هدفنا الرئيسي.
في البداية ، تقرر عدم كتابة واجهة برمجة التطبيقات بلغات مختلفة ، حيث نود جميعها أن تتوافق مع منطق ونماذج أعمال معينة. بالإضافة إلى ذلك ، في بداية الرحلة ، أدركنا أنه على الأقل يجب أن تكون الواجهة الخلفية للوكلاء قابلة للتطوير بسهولة من أجل دعم قاعدة عملاء آخذة في التوسع.
لسوء الحظ ، كانت القضبان بطيئة للغاية. بالطبع ، ليس هو الوحيد ؛ فهناك العديد من الإطارات المصغرة لروبي ، بما في ذلك سيناترا الشهيرة.
لكننا قررنا اختيار بيثون. هناك سببان رئيسيان. أولاً ، كان دليلنا على دراية به ، حيث تم تطوير العديد من المنتجات مسبقًا في Python. ثانياً ، احتجنا إلى تحليل عميق للبيانات ، وهو ما لم يفعله روبي جيدًا. وكان الخيار واضح.
الشروع في العمل مع بيثون
في هذه المرحلة ، لم يكن لدي أي خبرة مع بيثون - في وقت سابق كتبت عليه نصوصًا صغيرة فقط ساعدت في التنفيذ الشامل للمشروع. اضطررت إلى إتقان وتسريع كل شيء في تطوير واجهة برمجة التطبيقات التي عملنا عليها. لحسن الحظ ، لا تعتمد المكونات الأساسية على اللغة التي تستخدمها: HTTP / HTML / JSON / REST - تظل جميعها كما هي. يتم تطبيق قدرة التطبيقات على التواصل مع الويب بمستوى أقل في روبي باستخدام
Rack . كما اتضح ، تم أخذ الكثير من Rack من Python ، لذلك لم يكن من الصعب جدًا العمل.
لكن ماذا عن اللغة؟ روبي هي لغة وجوه المنحى ، بايثون هو أيضا وجوه المنحى. لكن لا يزال ، الفرق بين اللغتين كبير. لذلك ، يصف روبي الكتل باستخدام الكلمات الرئيسية ؛ في بيثون ، يتم استخدام مسافات لهذا الغرض. كنت بحاجة إلى التعود على ذلك ، وأنا أفضل مسار روبي مع البداية / الإنقاذ / النهاية. ومع ذلك ، يسمح لك Python بكتابة كود أكثر فاعلية يعمل بسرعة.
ماذا فعلت شخصيا لفهم بناء الجملة بيثون بسرعة؟
الشيء الرئيسي - لقد بدأت التدريبات مع
Python Koans ، إنه مشروع مفتوح المصدر يسمح لك بتعلم Python ، ويوفر المزيد من اختبارات الوحدة المعقدة.
يقدم Python Koans الميزات المختلفة للغة ، والوثائق هنا مفصلة للغاية.
بالإضافة إلى ذلك ، أدرس وثائق Python أيضًا - إنها شاملة للغاية في هذه اللغة. تنقسم اللغة إلى وحدات ، كل منها مزود بتفسير مفصل. يتضمن الإجابة عن سبب وجود الوحدة النمطية ، والمشكلة التي تحاول حلها ، وكيفية تنفيذ كل هذا.
نصيحة لأولئك الذين يرغبون في التحول إلى بيثون
إذا كنت من مطوري Ruby الذين يفكرون في التبديل إلى Python ، فما عليك سوى القيام بذلك ، قد ترغب في ذلك. صحيح ، يجب أن تتذكر أنه قبل البدء في فتح فرص جديدة ، سيكون عليك إتقان العديد من ميزات اللغة. نقطة انطلاق جيدة هي البرنامج التعليمي التفاعلي والوثائق. بالإضافة إلى ذلك ، ينبغي دعم التدريب عن طريق الممارسة ، ومن الجدير البدء على الفور في تنفيذ تطبيق حقيقي.
توصي Skillbox بما يلي: