سوف أحكى لكم القصة منذ بدايتها.
كان لدينا برنامج قديم بعض الشىء, علينا ان نعطيه مجالا للولوج الى معلوماته على الشبكة العنكبوتية و الوقت ضيق للغاية. البرنامج قمت انا بكتابته بالسى++ منذ فترة.
لم أكن اعرف الكثير عن الويب وقتها, كل خبرتى في الdesktop.
أعرف مبادئ عمل الويب, كما أعرف جيدا بروتوكول HTTP لأننى تعاملت معه من قبل, و لدى مبادئ عن الجافا سكريبت, و لكننى لا أعرف شيئا عن لغات الback end.
اخترت البداية المنطقية هي تعلم لغة "مخصصة" للويب, و اتجهت الى اكثرهم شهرة و هي php,
منذ البدايات الأولى, أصابنى الاكتئاب, هذه لغة كئيبة, شكل الstatement كئيب, رموزها مفتعلة.
السى#؟ يالسخافة بيئة تطوير visual studio و الطرق الثابتة التي يفرضها عليك لفعل أي شيء.
هذه الأفكار التي راودتنى في أول يومين, و بعد تفكير قمت بوضع هذه المعطيات:
-
سوف أضيع أسبوعا كاملا على الأقل لتعلم php او سى#
-
سوف أضطر الى نقل الكثير من الاكواد التي كتبتها بالفعل من السى++ الى اللغة الأخرى. ثم ماذا عن الأماكن التي استخدمت فيها المؤشرات؟! كيف سوف أترجمها؟!
و هنا لمعت الفكرة في رأسى, لماذا لا تستخدم سى++ نفسها؟
جوجل و ياهو بالفعل يستخدمون سى++ في تطبيقات الويب الخاصة بهم, و أنا واثق ان مايكروسوفت و معظم الشركات الكبيرة الأخرى تفعل الشىء نفسه.
أولا أنا معتاد على السى++, و لن أضطر الى تعلم اى شيء جديد أو سخيف.
ثانيا سوف يمكننى إعادة استعمال الأكواد التي كتبتها.
و هكذا بدأت بتصميم الback end كاملا بالسى++, يتفاعل مع الweb server بواجهة تشبه الcgi, حيث يقوم الweb server بتشغيل برنامج exe مع إعادة توجيه الinput و الoutput و وضع الenvironment variables, و تزويده بالمعلومات اللازمة, ليرد البرنامج بواسطة الstandard output.
اذا أردت يمكنك أيضا التفاعل مع واجهات أخرى غير الcgi, مثل NSAPI, و FastCGI, و غيرهم.
اذن, سريعا ما هي المميزات و العيوب :
المميزات :
-
الموقع يعمل بسرعة تفوق أي موقع أخر بالphp او السى# أو الجافا أو أي شيء أخر. و هذا منطقى و متوقع من السى++. كما أنه يفتح في لمح البصر, ليس هناك الاف الmodules اللعينة التي يجب تحميلها!
-
الموقع يعمل على أي جهاز دون تأخير أو تأثر. و يستقبل عدد كبير من الطلبات دونما ابطاء. لا يحتاج الى server خارق للعمل.
-
لا يمكن لأى شخص تخمين التقنية التي يعمل بها الموقع, ما يعنى المزيد من الأمان و التميز.
العيوب :
-
الdebugging صعب و يأخد وقتا أكثر من المعتاد, عليك ان تبذل جهدا لوضع برنامجك في الظروف التي حدثت أثناء الخطأ, لأنه لا يوجد رابط بين بيئة التطوير و الصفحة نفسها.
-
لا يوجد أطر عمل يعتمد عليها, هناك بالطبع بعض أطر العمل لبرمجة الويب بالسى++, لكن لا احد يستخدمها, لذا قد تكون بها الكثير من المشاكل, فكان على الاعتماد على نفسى تماما (و هذا أفضل, ما حك أنفك مثل ظفرك!).
-
لا أعرف اى خدمة استضافة سوف تقبل بملفات تنفيذية native جاهزة كback end للعمل, لذا فعليك اما اختيار خدمة توفر لك ماكينة افتراضية مخصصة لك, و هذا أغلى ثمنا, أو ان تقوم باستضافة الموقع على الخادم الخاص بك, صدقنى مع سى++ لن تحتاج الا الى خادم بسيط للغاية.
هل أنصح ببرمجة الويب بالسى++؟
ليس في المطلق, هذا لا يناسب أي شخص, خاصة اذا لم يكن لديك خادم خاص بك او بالمؤسسة التي تعمل بها, لكن التجربة كانت مفيدة و النتائج في المجمل رائعة.
from حسوب I/O - الأكثر شيوعاً http://ift.tt/295J7SZ
ليست هناك تعليقات:
إرسال تعليق
دائماً، رأيكم يهمنا،