You are on page 1of 12

‫أفضل توليفة لتقانات‬

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


‫لعام ‪2010‬‬
‫وثائق أعجوبة‬
‫‪http://docs.ojuba.org‬‬

‫رابط الوثيقة ‪ :‬أفضل_توليفة_لتقانات_الويب_لعام_‪http://www.ojuba.org/wiki/docs:2010‬‬


‫ساهم في تحرير هذه الوثيقة ‪:‬‬
‫كفاح عيسى ‪ -‬أبو حفصة‬

‫أول تحرير بواسطة كفاح عيسى بتاريخ ‪19:11 2010/12/14‬‬


‫آخر تحرير بواسطة كفاح عيسى بتاريخ ‪01:16 2011/01/02‬‬
‫تم تصدير هذه الوثيقة بتاريخ ‪21:35 2011/01/09 :‬‬

‫تمثل هذه الوثيقة تصديرا لنص على موقع أعجوبة‪ ،‬ولكن رغم ذلك‬ ‫تنويه ‪:‬‬
‫ل يتحمل الموقع أية مسئولية قانونية عن صحة أو خطا ما يرد فيها‪.‬‬
‫يسمح لك نسخ أو توزيع أو تعديل هذا المستند‬
‫وفق شروط الرخصة الحرة المحددة‬
‫حقوق النسخ محفوظة ©‬
‫مشروع وثائق أعجوبة‬
‫أفضل توليفة لتقانات تطوير تطبيقات الويب لعام ‪2010‬‬

‫جدول المحتويات‬

‫صفحة ‪3‬من أصل ‪12‬‬

‫أفضل_توليفة_لتقانات_الويب_لعام_‪http://docs.ojuba.org/2010‬‬
‫مشروع وثائق أعجوبة‬
‫أفضل توليفة لتقانات تطوير تطبيقات الويب لعام ‪ .12010‬أفضل توليفة لتقانات‬
‫تطوير تطبيقات الويب لعام ‪2010‬‬

‫‪ .1‬أفضل توليفة لتقانات تطوير تطبيقات الويب لعام ‪2010‬‬


‫السلم عليكم ورحمة ال وبركاته‪،‬‬

‫أياٌم قليلة تفصلنا عن نهاية العام‪ ،‬فكانت لي هذه الوقفة مع ما تعّلمتططه خلل هططذه السططنة ومططا رغبططت بمشططاركة مططّوري‬
‫الويب به‪.‬‬

‫كان هذا العام طويل فعل بالنسبة لي‪ ،‬فقد شاركت خلله بتطوير أربعططة تطبيقططات ويططب عامططة يططتراوح عططدد زائريهططا مططن‬
‫قمت بتنفيذه هو موقع مقولة غير الربحي‪.‬‬
‫عشرة آلف إلى ربع مليون زائر‪ .‬وكان التطبيق الخير الذي ُ‬

‫لم تكن المهّمة في كل واحدة من هذه التطبيقات سهلة أبدا‪.‬‬

‫ت بدراسطة طبيعططة التقانطات ‪ 1‬المثاليطة الطتي يجططدر اسطتخدامها‪ .‬أي أّننطي وعلططى‬
‫قم ُ‬
‫ول تستغربوا أّنني وفي كل واحد منها ُ‬
‫رأس كل مشروع جديد‪ُ ،‬أعيططد حسططاب المططور مطن الصططفر‪ ،‬وأبططذل الجهططد والططوقت فططي تقييططم عططدد مطن التقانططات الططتي ُيمكططن‬
‫استخدامها و تجربتها ومن ثم اختيار توليفة معّينة لعتمادها في المشروع‪.‬‬

‫يقولون‪ ،‬إذا أردت أن تكتب تطبيقا ناجحا فاتبع هذه المراحل ‪ :‬أول ‪ -‬عليك إن توصل التطبيق لحالة العمل ‪ -‬مهما كانت‪.‬‬
‫‪ 2‬ثانيا ‪ -‬عليك أن تضمن بأن تطبيقك يعمل بشكل جيد وخال من العيوب‪ 3 .‬ثالثا ‪ -‬عليك أن تضططمن بططأن تطبيقططك يعمططل‬
‫بسرعة! ‪ 4‬ولكن هذه السنة باتت الخطوة الثالثة هي الكثر صعوبة‪ ،‬خاصة مع وجططود الكططثير مططن التطبيقططات الططتي قمططت‬
‫بتطويرها في السنوات الماضية طور النتاج الحي ‪ ،5‬وأنني لم أكن مسرورا ل بسهولة التطوير عليها نظرا لتعقيدها ول‬
‫بأدائها‪ .‬لذلك كان تركيزي على بساطة وسرعة التطوير وتفوق الداء‪.‬‬

‫ومن نافلة القول‪ ،‬أنني ل ُأعني في بحطثي وتقييمطي للتقانطات سطوى بالبرمجيطات الحطرة والمفتوحطة المصطدر‪ ،‬ول اعتمطد‬
‫البرمجيات المغلقة أو المحتكرة بتاتا‪ .‬نظرا لتفوق البرمجيات الحرة الكبير عليها‪.‬‬

‫وقد آليططت أن أكتططب هططذا المقططال باللغطة العربيططة ‪ -‬بالكامطل ‪ -‬حيططث أّننططي اعتطدت فططي الماضططي علططى التططدوين بالنجليزيطة‪.‬‬
‫ولمعرفتي أنّ العربية قد تبدو صعبة مططع اسططتخدام بعططض المصطططلحات غيططر المشططهورة؛ لططذلك وضططعت قائمططة فططي ذيططل‬
‫المقال بالكلمات العربية وما يقابلها من كلمات ومصطلحات إنجليزية‪.‬‬

‫وأود أن ألفت النتباه بأن الراء في هذه المقالططة تعّبططر عططن رأيططي الشخصططي البحططت‪ ،‬و ل أقصططد بططه إثططارة النعططرات بشططأن‬
‫التقانات و مقابلتها مع بعضها‪ .‬وقد تكطون التقانطات الطتي لططم أقطم باختيارهطا أفضططل مطن تلططك الطتي اخترتهطا‪ .‬لطذلك أرجططو‬
‫المعذرة من أي شخص قد ل ُيعجبه ما اخترت وما لم اختر‪.‬‬

‫‪ 1‬التقانات هي جمع تقانة وهي ‪technology‬‬


‫‪make it work 2‬‬
‫‪make it work well 3‬‬
‫‪make it work fast 4‬‬
‫‪Life and in production 5‬‬

‫صفحة ‪4‬من أصل ‪12‬‬

‫أفضل_توليفة_لتقانات_الويب_لعام_‪http://docs.ojuba.org/2010‬‬
‫مشروع وثائق أعجوبة‬
‫أفضل توليفة لتقانات تطوير تطبيقات الويب لعام ‪ .12010‬أفضل توليفة لتقانات‬
‫تطوير تطبيقات الويب لعام ‪2010‬‬

‫‪ُ .1.1‬لغةُ البرمجة‬


‫جعي روبططي و‬
‫ت قبلهططا مططن مشط ّ‬ ‫جعي جافا ‪ ،1‬وُأعجبت كثيرا بط جروفي ‪ 2‬و جريلز‪ ،3‬و ُ‬
‫كن ُ‬ ‫كنت من ُمش ّ‬
‫في السنوات الماضية ُ‬
‫ت عّدة مشاريع في كل منها‪ .‬ولكن هذه السنة كان المر ُمختلفا‪ ،‬وارتططأيت العططودة إلططى لغططة بططي أتططش بي ‪.5‬‬ ‫ريلز‪ .4‬وقد َن ّ‬
‫فذ ُ‬
‫كنت دائما ُأهمل لغة بي أتططش بططي‪ ،‬فعنططدي مطن الكططوابيس مططا يكفططي للّنصططوص المصططدرية المعكرونيططة ‪!6‬‬
‫والحقيقة أنني ُ‬
‫كرني بلغططة‬
‫تجعلني أتقّلب في فراشي عندما أنام‪ .‬ما لم ُيعجبني في لغة بي أتش بي هو معكرونيتهططا الططزائدة والططتي ُتططذ ّ‬
‫فيجوال باسيك‪ .7‬فقد حدث أّنني خبرت تطوير مشاريع في مثل هذه اللغة في الماضي وكانت النتائج مأساوية‪.‬‬

‫المهم‪ ،‬ما استرعى انتباهي ل بي أتش بي هذه المّرة‪ ،‬هو وصول اللغة إلى مستويات متقّدمة من النضوج )خصوصا بعططد‬
‫الصدارة ‪ ،(5.3‬فمن دعططم ممتططاز للبرمجططة الكائنيططة )أو الشططيئية(‪ 8‬إلططى تططّور واضططح علططى مسططتوى الداء وخاصططة بعططد‬
‫إطلق خاصية تخبئة بي أتش بي البديلة )والمسماة اختصارا بط أي بي سي(‪ .9‬ولم ي ُ‬
‫فتني الخذ في عين العتبططار البططاع‬
‫جهي إلططى‬
‫فر عدد مهول من المكتبات في كططل مططا يخطططر علططى بططال‪ .‬ليططس هططذا فقططط‪ ،‬فتططو ّ‬
‫والنتشار الواسع لهذه الّلغة وتو ّ‬
‫التعامل مع بي أتش بي‪ ،‬جاء بعد عوائق كأداء واجهتنططي فططي أداء كطُطل مططن جافططا )والجروفططي والجريلططز( و روبططي وريلططز‪.‬‬
‫فالحق‪ ،‬وبعد تجربة مريرة‪ ،‬أن أي منهما ل يصلح أبدا لتطبيقات الويب العامة‪ ،‬إلّ إذا كان بحوزتك تمويل ضخم يغططّطي‬
‫الحتياج إلى توفير خوادم‪ 10‬ذات مواصفات جّبارة‪ .‬أي أّنها فشلت في اختبارات الداء بجدارة‪.‬‬

‫ن معدتي لم تستسغها‪ .‬بالمناسبة عند تعاملي مططع‬ ‫لم أغفل عن اعتبار لغة بايثون‪ ،11‬خاصة أن صيتها قد ذاع مؤ ّ‬
‫خرا‪ ،‬ولك ّ‬
‫التقانات الجديدة فإّنني ُأصاب عند التعامل مع بعضها بحالة من عسر الهضم )المعططدة والمعططاء( وأقصططد ذلططك حرفيططا‬
‫سبني بالضافة طبعا إلى أسباب تقنية أخرى لست بصدد ذكرها هنا‪.‬‬
‫وعرفت أن بايثون ل ُتنا ِ‬

‫المهم‪ ،‬أنّ الخيار في باكورة المشاريع بداية هذا العطام وقطع علطى بطي أتطش بطي‪ ،‬ووضطعتها فطي الختبطار العملطي‪ ،‬وقمطت‬
‫بإعادة كتابة بعض التطبيقات من جافا وجروفي وروبي إلى بي أتش بي‪ ،‬وخّمنوا ماذا كانت النتيجططة؟! فططاقت توقعططاتي‬
‫بكثير! استطاعت تطبيقاتي الجديدة العمل مكان القديمة وبكفاءة تصل إلى عشرة أضعاف‪ .‬تخّيلوا أنه بطدل مطن اسطتئجار‬
‫عشرة خوادم لخدمة عططدد معيطن مطن الُمسططتخدمين‪ ،‬اكتفيططت بواحططد وبططأداء ممتططاز‪ .‬فططي تلططك اللحظططة أدركططت خطططأ المقولططة‬
‫سرعة التطوير‪ .‬بل على العكس‪ ،‬فالتطوير بلغة‬
‫الشائعة عن أن بطء لغة جافا وحاجتها إلى المزيد من الخوادم يسُد عنها ُ‬
‫وار الموقع‪.‬‬
‫ح باهر ورضا الزبون ورضا ز ّ‬
‫بي أتش بي كان أسرع‪ ،‬والنتيجة نجا ٌ‬

‫‪Java 1‬‬
‫‪Groovy 2‬‬
‫‪Grails 3‬‬
‫‪Ruby on Rails 4‬‬
‫‪PHP 5‬‬
‫‪Spaghetti code 6‬‬
‫‪Visual Basic 7‬‬
‫‪Object Oriented Programming 8‬‬
‫‪Alternative PHP Cache - APC 9‬‬
‫‪Servers 10‬‬
‫‪Python 11‬‬

‫صفحة ‪5‬من أصل ‪12‬‬

‫أفضل_توليفة_لتقانات_الويب_لعام_‪http://docs.ojuba.org/2010‬‬
‫مشروع وثائق أعجوبة‬
‫أفضل توليفة لتقانات تطوير تطبيقات الويب لعام ‪ .12010‬أفضل توليفة لتقانات‬
‫تطوير تطبيقات الويب لعام ‪2010‬‬

‫‪ .1.2‬إطار الويب‬
‫كر في اعتماد إطار تطوير ويب ‪ ،1‬وقمت بمعاينة الكططثير مطن إطططارات‬
‫موجة التطبيقات اللحقة كانت أكثر تعقيدا‪ ،‬فبدأت أف ّ‬
‫تطوير الويب على بططي أتططش بططي‪ ،‬مططن كيك‪ 2‬إلططى إجينططاتور‪ 3‬إلططى سططيمفوني‪ 4‬إلططى أخيلوسط‪ 5‬وغيرهططا الكططثير‪ ،‬وكططان مّمططا‬
‫استرعى انتباهي واهتمامي من بينها إطار الويب ييي‪ .6‬وكان أسلوب العمل عليه وفلسفته وطريقة تصميمه القرب إلي‪.‬‬
‫حتى أّنني شعرت بعد فترة قصيرة من العمل معططه‪ ،‬كططأّنني أعرفططه منططذ زمططن بعيططد‪ .‬أل يحططدث ذلططك معكططم عنططدما تقططابلون‬
‫شخصا لول مرة وتشعرون بتناغم معه‬

‫ول‪ :‬أن تكون خفيفة على المعدة … أقصد على المعالططج‪ .‬ل أريططد أن أتعامططل مططع‬
‫ققت لي مجموعة من المتطّلبات أ ّ‬
‫ييي ح ّ‬
‫طبقات وطبقات من النصوص المصدرية والخوارزميات‪ .‬بل أردتها بسيطة ومباشططرة‪ .‬ثانيططا‪ :‬أن تكططون أرضططيتها ضططحلة‬
‫علططى خلف أي إطططار ويططب آخطر‪ ،‬ففططي ييططي يمكننطي الغططوص بسطرعة داخطل‬ ‫وشفافة‪ ،‬مثل أرضططية شطواطئ المالططديف‬
‫نصوصها وخوارزمياتها وفهم كيفية عملها‪ ،‬وتعديلها إن احتاج المر‪ .‬ثالثا‪ :‬أن تعظم من شأن البرمجططة الشططيئية‪ ،‬وتعططود‬
‫هذه المسألة إلى مزاجي ومحّبتي وسرعة تعاملي مع النظمة الشيئية‪ .‬رابعا‪ :‬أن تستفيد ِمططن خصططائص بططي أتططش بططي ‪5‬‬
‫الجديدة وأن ل تكون متوافقططة مطع بطي أتططش بطي ‪ .4‬فطالتوافق مطع بطي أتططش بطي ‪ 4‬يعنطى اضططرار مطبرمجي الطططار إلطى‬
‫طت ييي كافة متطّلباتي‪ ،‬بل زادت عليها بأن جعلت من تجربططة‬
‫استخدام التقنيات القديمة وعدم الستفادة من الجديدة‪ .‬غ ّ‬
‫البرمجة ُمتعة فريدة‪.‬‬

‫قمت كذلك بتقييم استخدام دروبال ‪) 7‬نظام إدارة المحتوى‪ ،8‬ويوصف الن بططأّنه إطططار إدارة المحتططوى ‪ .( 9‬ولكططن لططم‬
‫وقد ُ‬
‫يتحّمله جهازي الهضمي لكثر من ساعة‪ ،‬فالنظام بطئٌ جدا جدا )وأعني ذلك( بالضافة إلى التعقيد الشديد في نصوصططه‬
‫المصدرية والصعوبة الكبيرة في تطويعه‪ .‬لذلك آثرت عدم العتماد عليه‪ .‬وأظن أنه يصلح لمن ليس لديهم خبرة طويلططة‬
‫في البرمجة أو من يحتاج إلى إنشاء موقع أساسي بسرعة كبيرة‪.‬‬

‫ومن الجدير بالذكر أن إطار الويب ييي يتضمن إطار الجافاسكريبت جيه‪-‬كويري ‪ 10‬وإطار السي أس أس بلوبرنت ‪.11‬‬

‫‪ .1.3‬نظام إدارة البيانات المخبئة‬


‫أصبحت مسألة إدارة البيانات المخبئة‪ 12‬حاجة أساسية لي تطبيق ويب عام‪ ،‬كان ميم‪-‬كاشد‪ 13‬هططو الخيططار الول لسططبب‬
‫‪Web Development Framework 1‬‬
‫‪CakePHP 2‬‬
‫‪CodeIgniter 3‬‬
‫‪Symphony 4‬‬
‫‪Akelos 5‬‬
‫‪Yii 6‬‬
‫‪Drupal 7‬‬
‫‪Content Management System - CMS 8‬‬
‫‪Content Management Framework 9‬‬
‫‪JQuery 10‬‬
‫‪BluePrint CSS Framework 11‬‬
‫‪Caching-system 12‬‬
‫‪memcached 13‬‬

‫صفحة ‪6‬من أصل ‪12‬‬

‫أفضل_توليفة_لتقانات_الويب_لعام_‪http://docs.ojuba.org/2010‬‬
‫مشروع وثائق أعجوبة‬
‫أفضل توليفة لتقانات تطوير تطبيقات الويب لعام ‪ .12010‬أفضل توليفة لتقانات‬
‫تطوير تطبيقات الويب لعام ‪2010‬‬

‫بسيط‪ ،‬وهو جودة اندماجه مع بي أتش بي‪ .‬لول ذلك لكان خياري هو ريديس‪ ،1‬والذي يتفّوق على ميم‪-‬كاشد في الكططثير‬
‫من الوجه ولكّنه ل يتناغم مع بي أتش بي بشكل أصيل كما يفعل ميم‪-‬كاشد‪.‬‬

‫‪ .1.4‬قواعد البيانات‬
‫بالنسبة لقواعد البيانات العلئقية‪ ،2‬فقد اعتمدت هذه السنة بوست جريس كيو أل‪ ،3‬والتي تفّوقت بشططكل كططبير علططى مططاي‬
‫أس كيو أل‪ .4‬طبعا ناهيك عن التخّوف من ماي أس كيو أل الذي أحدثه شراء أوراكل لط صططن‪ .‬بوسططت جريططس هططي قاعططدة‬
‫بيانات ناضجة جدا‪ ،‬إن لم تكن الفضل والنضج من بين قواعد البيانات الحرة والمفتوحة المصططدر‪ .‬وفيهططا مططن الوثوقيططة‬
‫ما يتفّوق على ماي أس كيو أل وفي أبسط الختبارات‪ .‬ومع أخذ العتبارات الصحيحة عند التصميم واستخدام العلقططات‬
‫والفهارس‪ ،‬فإن أداءها يكافئ ماي أس كيو أل‪ .‬وبالضافة إلى بوست جريس فإّنني اعتمططدت كططذلك علططى قاعططدة البيانططات‬
‫الشيئية‪ 5‬الجديدة مونغو‪ ،6‬والتي ساعدتني في تبسيط أحد التطبيقات وتحسين أدائه لغاية ثلثيططن ضططعفا‪ .‬ل‪ ،‬هططذا ليططس‬
‫ولكن تبقى لقواعد البيانات الشيئية تطبيقططات محطّددة‪ ،‬ول أرى أنططه يجططدر اسططتخدامها فططي كططل الحططالت‪.‬‬ ‫خطأ مطبعيا‪.‬‬
‫لذلك أبقيت على استخدام الثنتين وبحسب الحاجة‪.‬‬

‫‪ .1.5‬خادم الويب‬
‫كان ول زال أباتشي‪ ،7‬وحاولت كثيرا مع إنجن‪-‬أكس‪ 8‬ذي السططمعة الممتططازة إل أن محططاولتي لططم تنجططح‪ ،‬خاصططة وأنططه ل‬
‫يدعم أتش تي أكسس‪ 9‬ول تعليمات الباتشي التي تعّودنا عليها وتعّلمناها على مدى السططنين‪ .‬ولكططن يبقططى إنجططن‪-‬أكططس‬
‫الرض التالية التي وضعت عيني عليها لكتشفها‪ ،‬فقد استهوتني كثيرا فكرة اعتماده علططى تططدفق البيانططات اللمططتزامن ‪،10‬‬
‫بدل من فكرة الخيوط والعمليات‪ 11‬في أباتشي والتي ل أحّبهططا كططثيرا‪ .‬وخاصططة أيضططا أّننططي عرفططت أن إنجططن‪-‬أكططس يعمططل‬
‫بوئام مع تقنية أف بيه أم‪ 12‬في بي أتش بي والتي تّم إطلقها مع بي أتش بي ‪ 5.3.3‬والتي تقّدم أفضل أداء مقارنة بي‬
‫فاست سي جي آي‪ 13‬أو مود_بي أتش بي‪.14‬‬

‫‪Redis 1‬‬
‫‪Relational Database Management System 2‬‬
‫‪PostgreSQL 3‬‬
‫‪MySQL 4‬‬
‫‪NoSQL, Object Oriented DBMS 5‬‬
‫‪MongoDB 6‬‬
‫‪Apache 7‬‬
‫‪Nginx 8‬‬
‫‪htAccess. 9‬‬
‫‪Non-blocking I/O 10‬‬
‫‪Threads and Processes 11‬‬
‫‪Fast Process Manager - FPM 12‬‬
‫‪FastCGI 13‬‬
‫‪mod_php 14‬‬

‫صفحة ‪7‬من أصل ‪12‬‬

‫أفضل_توليفة_لتقانات_الويب_لعام_‪http://docs.ojuba.org/2010‬‬
‫مشروع وثائق أعجوبة‬
‫أفضل توليفة لتقانات تطوير تطبيقات الويب لعام ‪ .12010‬أفضل توليفة لتقانات‬
‫تطوير تطبيقات الويب لعام ‪2010‬‬

‫‪ .1.6‬نظام التشغيل‬
‫حر والمفتوح المصدر فيدورا‪ 1‬جنو\لينكس‪) !2‬اسططتخدم إصططدارة ‪ 64‬بططت فقططط( فكفططاءة عمططل‬
‫كان ول زال نظام التشغيل ال ُ‬
‫هذا النظام‪ ،‬ووثوقيته ل تقارن‪ ،‬بالنسبة لي‪ ،‬مع أي نظام آخر‪ .‬أضف إلى ذلك معرفتي الطويلة والُمتراكمة فططي كططل شططبر‬
‫كنني كل ذلك‪ ،‬وخصوصا هذا العام إلى الوصططول إلططى مسططتويات قياسططية فططي الداء‪،‬‬
‫منه وفي كل ُبرغي وصمولة فيه‪ .‬م ّ‬
‫حزم‪ ،‬فيما عططدا النططزر اليسططير والططذي‬
‫ولي بتجريد النظام من كافة التطبيقات والبرامج وال ُ‬
‫حيث أنني أقوم بعد التنصيب ال ّ‬
‫يلزم لتشغيل البيئة الساسية بسطر الوامر؛ وكل ما عدا ذلك أقوم بقطعططه وحططذفه‪ .‬حططتى انتهططى بططي الحططال أن يسططتهلك‬
‫النظام الخادم أقل من مئة ميغا بايت من الذاكرة‪ ،‬وأقل من واحد غيغا من القرص الصلب وعدد عمليات عاملطة )نائمطة فطي‬
‫معظم الوقت( يقل عن الثلثين‪ .‬لن ُتصّدقوا العاجيب التي فعلها هذا العداد‪ ،‬فمن جهطة المططان العططالي‪ ،‬نتيجطة عططدم وجططود‬
‫أي تطبيقات غير مستخدمة )بالضافة طبعا لعدادات جدار النار آي بططي تططابلز‪ ( 3‬إلططى الداء المططذهل فططي سططاعات الططذروة‪.‬‬
‫‪4‬‬
‫حمططل‬
‫كر في ملكوت ال‪ ،‬حتى في قّمططة سططاعات الططذروة‪ ،‬فإنهططا ل تسططتهلك معططدل ِ‬
‫جلّ وقتها تتف ّ‬
‫حيث أن خوادمي تقضي ُ‬
‫أكثر من واحد!‬

‫‪ .1.7‬وقفة مع الحوسبة السحابية‬


‫الشركات التي قمت بمساعدتها خلل هذه السنة لديها من بضعة خوادم وحططتى سطتون خادمططا حقيقيططا ‪ .5‬لططذلك كطان حتمططا‬
‫علي وكجزء من مسح التقانات المتوفرة المرور عبر تقانات الحوسبة السحابية ‪ .6‬والحق أنني بعد التجربططة والتمحيططص‬
‫رفضت اعتمادها بتاتا لعدة أسباب؛ أولها‪ ،‬أن أداء أنظمة التشططغيل الفتراضططية ‪ 7‬فططي الحوسططبة السططحابية غيططر مضططمون‪،‬‬
‫فمعظم الخوادم الفعلية تستضيف نظامين افتراضين اثنين أو أكثر‪ ،‬واذا حدث أن النظططام الول احتططاج إلططى دفططق بيانططات‬
‫كبير ‪ 8‬أو قدرة معالجة فهذا حتما سيؤثر على أداء النظام الفتراضي الثاني‪ .‬أي وببساطة أنه ل ُيمكن العتماد عليها فططي‬
‫ساعات الذروة‪ .‬ثانيها‪ ،‬أن عدد الشركات التي توفر هذه الخدمة محدود‪ ،‬حيث تستأثر أمازون بحصة السد؛ ووضع كافططة‬
‫النظمة السحابية عند مورد واحد له طريقة تعامل خاصة به‪ ،‬وانعدام المنافسة المفتوحة يجعل منه أمرا غيططر مستسططاغ‪.‬‬
‫وثالثها‪ ،‬أن االحتمالية الحصائية لسقوط نظطام افتراضطي هطي أعلطى بكطثير مطن الحقيقطي‪ ،‬واحتماليطة عطودته إلطى ططور‬
‫العمل أقل بكثير من الحقيقي‪ - .‬وهذا مستقى من تجربة مطولة استخدمت فيها عشرات النسطخ مطن النظمطة الفتراضطية ‪-‬‬
‫ولدي العديد من السباب الخرى لرفضها‪ .‬هذا كله بالرغم من الضجة العلمية الكبيرة الُمحيطططة بهططا‪ ،‬فأنططا أرى أن وقتهططا‬
‫لم يحن بعد‪ .‬ولكن لم يمنعني هططذا مططن اسططتخدام أنظمططة افتراضططية فططي *بيئات التطططوير* حيططث القططدرة علططى ضططبط كافططة‬
‫العدادات والبرمجيات‪ ،‬واستخدم أساسا كي في أم ‪ .9‬وُيناقش بعض المحططبين للحوسططبة السططحابية أن فكرتهططا فططي خلططق‬

‫‪Fedora 1‬‬
‫‪GNU/Linux 2‬‬
‫‪IP Tables Firewall 3‬‬
‫‪Load Average 4‬‬
‫‪Real, dedicated 5‬‬
‫‪Cloud Computing 6‬‬
‫‪Virtual Operating Systems 7‬‬
‫‪Intensive I/O 8‬‬
‫‪KVM 9‬‬

‫صفحة ‪8‬من أصل ‪12‬‬

‫أفضل_توليفة_لتقانات_الويب_لعام_‪http://docs.ojuba.org/2010‬‬
‫مشروع وثائق أعجوبة‬
‫أفضل توليفة لتقانات تطوير تطبيقات الويب لعام ‪ .12010‬أفضل توليفة لتقانات‬
‫تطوير تطبيقات الويب لعام ‪2010‬‬

‫نسططخ و تططدميرها بحسططب الطلططب فيمططا يسططمى بقابليططة التوسططع ‪ ،1‬فبططذلك ل يهططم أداء الواحططد منهططا أو احتماليططة سططقوطها‪،‬‬
‫واجابتي على ذلك‪ ،‬هو أن التقانات المتوافرة اليوم ليست ُمعَّدة للعمل في هذا الطور‪ .‬وسيبقى عنق الزجاجططة فططي بعططض‬
‫النقاط المفصلية في التطبيق‪ ،‬كالحاجة إلى مزامنة المعلومات وقواعد البيانات بشكل عام‪ .‬ولغاية هذا اليوم‪ ،‬فطإن وجطود‬
‫نظام ليس لديه أية نقطة سقوط وحيدة ‪ 2‬هو مسألة فيها تحدي تقني كبير‪ ،‬إن لم تكن أقرب للمستحيل‪ .‬ومعلومة أخيرة‬
‫كلفة الحالية لعتماد الحوسبة السحابية هي أكثر بكثير من الحوسبة المعتمططدة علططى خططوادم حقيقططة عنططدما‬
‫أضيفها أن ال ُ‬
‫يتساويان في مستوى الخدمة التي يتم تقديمها‪ .‬وهذا أيضا بناء على قراءات عملية ل نظرية‪.‬‬

‫‪ .1.8‬بيئة التطوير‬
‫ضلها من بين كل ما هو متوفر هي استخدام محرر النصوص “فيم”‪ 4‬من سطر الوامر‪ .‬أمطا بالنسطبة‬
‫بيئة التطوير ‪ 3‬التي أف ّ‬
‫للبيئة الرسومية فقد اعتمدت المحّرر جي‪-‬إيديت‪ 5‬ضططمن بيئة إكططس إف سططي إي‪) 6‬وليططس غنططوم‪ 7‬ول كططي دي إي‪ .( 8‬ولططم‬
‫يرق لي أبدا استخدام نت‪-‬بينز‪ 9‬أو إكليبس‪ 10‬فهططي بطيئة ومملطّطة‪ .‬وقططد بططدأت هططذه السططنة باسططتخدام نظططام ضططبط وإدارة‬
‫النصوص المصدرية جت‪ 11‬بديل عن إس في أن‪ 12‬والذي عمل لسنوات طويلة على أحسن مطا ُيطرام‪ ،‬ولكطن مطا شطّدني إلطى‬
‫جت هو السرعة والداء وصغر مساحة التخزين والتخّلص من مجّلدات إس في إن التي كانت موجودة في كل مكان‪.‬‬

‫خلصة‪،‬‬
‫‪ .1.9‬ال ُ‬
‫عدم الهتمام بحسن الداء في تطبيقات الويب العامة سيلقي بتطبيقك في الهاوية‪ ،‬بغض النظر عططن تميططز الخصططائص أو‬
‫المحتوى أو الخراج الفني؛ فكل تلك المور مهمة ولكطن أن يكطون تطبيقطك جطاهزا ليطؤدي مهمطامه فطي ظطروف الزدحطام‬
‫الشديد ليس مسألة ثانوية ‪ -‬إل‪ ،‬طبعا إذا كنت هاويا تقوم بتجريب بعض الفكار‪.-‬‬

‫كانت توليفة هذه السنة بامتياز توليفة البساطة والسهولة والداء العالي‪.‬‬

‫ت عليهططا‪ ،‬وأتطلطّطع إلططى تنفيططذ المزيططد مططن المشططاريع عليهططا فططي‬


‫عِمل ُ‬
‫ول أنكر أنني أشعر بالرضى الكبير عن التقانات التي َ‬
‫المستقبل‪ .‬كما أتطّلع إلى التعّرف على المزيد من إبداعات التقانات الجديدة في عالم البرمجة‪.‬‬

‫بحول ال‪ُ .‬دمتم بخير‪.‬‬ ‫وإلى لقاء آخر في السنة القادمة …‬

‫‪Scalability 1‬‬
‫‪Single Point of Failure 2‬‬
‫‪Development Environment 3‬‬
‫‪Vim 4‬‬
‫‪GEdit 5‬‬
‫‪XFCE 6‬‬
‫‪GNOME 7‬‬
‫‪KDE 8‬‬
‫‪NetBeans 9‬‬
‫‪Eclipse 10‬‬
‫‪git 11‬‬
‫‪subversion -svn 12‬‬

‫صفحة ‪9‬من أصل ‪12‬‬

‫أفضل_توليفة_لتقانات_الويب_لعام_‪http://docs.ojuba.org/2010‬‬
‫مشروع وثائق أعجوبة‬
‫أفضل توليفة لتقانات تطوير تطبيقات الويب لعام ‪ .12010‬أفضل توليفة لتقانات‬
‫تطوير تطبيقات الويب لعام ‪2010‬‬

‫‪ .1.10‬عن الكاتب‬
‫كفاح عيسى‪ ،‬مستشططار فطي المعلوماتيططة ومبرمطج مخضطرم‪ .‬يعمطل فطي شططركة تقانططات البرمجيطات الحطرة فططي عّمطان وقطام‬
‫بتطوير وتنفيذ العديد من التطبيقات التجارية لشركات كبرى‪.‬‬

‫جميع حقوق النشر والتوزيع ممنوحة ضمن شروط رخصة وقف العامة‪.‬‬

‫‪ .1.11‬قائمة الكلمات والمصطلحات مع الكلمة النجليزية الُمناظرة لها‬


‫جمع تقانة وهي ‪technology‬‬ ‫تقانات‬
‫جمع تقنية وهي ‪technique‬‬ ‫تقنيات‬
‫‪PHP‬‬ ‫بي أتش بي‬
‫‪Java‬‬ ‫جافا‬
‫‪Groovy‬‬ ‫جروفي‬
‫‪Grails‬‬ ‫جريلز‬
‫‪Ruby‬‬ ‫روبي‬
‫‪Ruby on Rails‬‬ ‫روبي وريلز‬
‫‪Python‬‬ ‫بايثون‬
‫‪Source Code‬‬ ‫النص المصدري‬
‫‪Spaghetti code‬‬ ‫النص المصدري المعكروني‬
‫‪Object Oriented Programming‬‬ ‫البرمجة الشيئية‬
‫‪Web development framework‬‬ ‫إطار الويب‬
‫‪Server‬‬ ‫خادم‬
‫‪Performance‬‬ ‫أداء‬
‫‪Yii‬‬ ‫ييي‬
‫‪Content Management System‬‬ ‫نظام إدارة المحتوى‬
‫‪Content Management Framework‬‬ ‫إطار إدارة المحتوى‬
‫‪Drupal‬‬ ‫دروبال‬

‫صفحة ‪10‬من أصل ‪12‬‬

‫أفضل_توليفة_لتقانات_الويب_لعام_‪http://docs.ojuba.org/2010‬‬
‫مشروع وثائق أعجوبة‬
‫أفضل توليفة لتقانات تطوير تطبيقات الويب لعام ‪ .12010‬أفضل توليفة لتقانات‬
‫تطوير تطبيقات الويب لعام ‪2010‬‬

‫‪CakePHP‬‬ ‫كيك‬
‫‪CodeIgniter‬‬ ‫إجيناتور‬
‫‪Symfony‬‬ ‫سيمفوني‬
‫‪Akelos‬‬ ‫أخيلوس‬
‫‪Caching-system‬‬ ‫نظام إدارة البيانات المخبئية‬
‫‪memcached‬‬ ‫ميم‪-‬كاشد‬
‫‪Redis‬‬ ‫ريديس‬
‫‪Database Management System‬‬ ‫قواعد البيانات‬
‫‪Relational Database Management‬‬ ‫قواعد البيانات العلئقية‬
‫‪System - RDBMS‬‬
‫)استخدمت المصطلح رغم عدم دقته( ‪Object‬‬ ‫قواعد البيانات الشيئية‬
‫‪.Relational Database. or NoSQL‬‬
‫‪PostgreSQL‬‬ ‫بوست جريس كيو أل‬
‫‪MySQL‬‬ ‫ماي أس كيو أل‬
‫‪MongoDB‬‬ ‫مونغو‬
‫‪Web server. Http Server‬‬ ‫خادم الويب‬
‫‪Apache‬‬ ‫أباتشي‬
‫‪htAccess.‬‬ ‫أتش تي أكسس‬
‫‪Nginx‬‬ ‫إنجن‪-‬أكس‬
‫‪Threads and processes‬‬ ‫الخيوط والعمليات‬
‫‪Fast Process Manager - FPM‬‬ ‫أف بيه أم‬
‫‪FastCGI‬‬ ‫فاست سي جي آي‬
‫‪mod_php‬‬ ‫مود_بي أتش بي‬
‫‪Fedora‬‬ ‫فيدورا‬
‫‪GNU/Linux‬‬ ‫جنو\لينكس‬
‫‪Applications‬‬ ‫التطبيقات‬
‫‪Packages‬‬ ‫حزم‬
‫ال ُ‬
‫‪Command line‬‬ ‫سطر الوامر‬
‫‪Processes‬‬ ‫عمليات‬
‫‪Firewall‬‬ ‫جدار النار‬
‫‪IP Tables‬‬ ‫آي بي تابلز‬

‫صفحة ‪11‬من أصل ‪12‬‬

‫أفضل_توليفة_لتقانات_الويب_لعام_‪http://docs.ojuba.org/2010‬‬
‫مشروع وثائق أعجوبة‬
‫أفضل توليفة لتقانات تطوير تطبيقات الويب لعام ‪ .12010‬أفضل توليفة لتقانات‬
‫تطوير تطبيقات الويب لعام ‪2010‬‬

‫‪Load Average‬‬ ‫معدل الحمل‬


‫‪vim‬‬ ‫فيم‬
‫‪GEdit‬‬ ‫جي‪-‬إيديت‬
‫‪XFCE‬‬ ‫إكس إف سي إي‬
‫‪Gnome‬‬ ‫غنوم‬
‫‪KDE‬‬ ‫كي دي إي‬
‫‪NetBeans‬‬ ‫نت‪-‬بينز‬
‫‪Eclipse‬‬ ‫إكليبس‬

‫صفحة ‪12‬من أصل ‪12‬‬

‫أفضل_توليفة_لتقانات_الويب_لعام_‪http://docs.ojuba.org/2010‬‬

You might also like