النتائج 1 إلى 8 من 8

الموضوع: لكل المبرمجيين ... لنصل لافضل هيكل برمجى للمواقع

  1. #1
    عضو نشيط جدا
    تاريخ التسجيل
    Jan 2008
    المشاركات
    450

    لكل المبرمجيين ... لنصل لافضل هيكل برمجى للمواقع



    السلام عليكم ..
    اعتقد انه سيكون من المفيد ان نصل لافضل نظام برمجى يعمل كيهكل لادارة المواقع مع وجود ثوابت اقسام وهيكلية المواقع بشكل عام , تعددت برامج ادارة المحتوى والقوالب والطرق وجميعها تؤدى لمظهر واحد , ولكن لابد من وجود فوارق على الاقل فى سهولة التطوير او السرعة مثلا .

    والهدف الان تحقيق هذا النظام ولو بشكل نظرى ... توحيد الهيكل البرمجى للتطبيقات والبرامج سيساهم كثيرا فى التطوير .


    اجزاء هذا الهيكل :

    * نظلم قوالب
    * نظلم قوائم
    * نظام تعدد لغات
    * (( اى انظمة اخرى ؟؟ ))

    طبعا مع وجود مواصفات :
    فنظام القوالب لابد من من ان يكون سهل التعديل , والقوائم لابد ان تدعم ال php ...

    وطبعا مع الوصول لهذا النظام سيكون من السهل المتابعة فى التطوير وسنسهل ايضا الامر ( الى حد ما ) على المبرمجين او على الاقل المبتدءين منهم . خصوصا انه غير مصنف لنوع معين من التطبيقات بل هو اساس فى معظم بل اغلبية التطبيقات .


    ارجو ان تكون الفكرة واضحة .., انا لا ادعو لانشاء نظام ادارة محتوى او تطبيق معين بل هيكل لابد من وجوده بجميع التطبيقات , فهذا الامر سيعود بالفائدة على الجميع ولنعتبره تبادل خبرات .

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

    -------------------------------------------------------------------------------------
    منذ ان بدأت فى البرمجة وانا ارى تحكم المبرمج فى كل شئ حتى مع التطبيقات الكبيرة , فأحيانا يدخل المبرمج اكواد تابعة للعرض ( HTML ) وليس لها دخل بالبرمجة ولكن لا مفر من ذلك فالطريقة التى ستخدمها تحتم عليه ذلك , وبذلك يحصر امكانية تدخل المستخدم .

    وبعد تفكير كثير ومحاولات وصلت لهيكل نظرى بسيط يعتمد كليا على الثيم فى العرض وليكون التحكم فى هذ الثيم سهل من خلال المستخدم البسيط وفى نفس الوقت اتيح التطوير للمستخدم المتقدم بإستخدام ال php وعلى ذلك لجأت للدوال ... فإذا اراد ادراج القوالب فيكون من خلا الدالة block واذا اراد ادراج القوائم اليمنى او اليسرى ... يكون من خلال الدالة blocks (right)
    والمحتوى من خلا الدالة content() .... وبذلك استطعت توحيد ثيم الموقع بالكامل فى ملف واحد html يتم استدعاؤه فى نهاية العمليات ليعض النتائج بإستخدام هذه الدوال .... مثال بسيط ..

    كود HTML:
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <?php head() ?>
    <link rel="stylesheet" type="text/css" href="themes/default/style.css">
    </head>
    <body>
    <div class="header"><?=SITE_NAME ?><div class="freearea1"><?=SITE_TITLE ?></div></div>
    <table cellpadding="1" cellspacing="1">
        <tr valign="top">
            <td width="20%" class="mnu"><? blocks('right') ?></td>
            <td class="cntnt"><? content() ?></td>
            <td width="20%" class="mnu"><? blocks('left') ?></td>
        </tr>
    </table>
    <div class="footer"><?=SITE_NAME ?></div>
    </div>
    </body>
    </html>
    ارايتم .... الثيم فى ملف واحد وفى كل عملية برمجية اكوم بتعريف هذه الدوال او المتغيرات ثم اقوم بتضمين هذه الصفحة وتكون النتائج جيدة وسريعة ....
    مثال :
    كود PHP:
    <?php
    if($_GET["go"] == "view"){
        function 
    content(){
            echo 
    "view";
        }
    }else{
        function 
    content(){
            echo 
    "nothing";
       }
    }
    //
    include 'theme.html';
    ?>
    هذا النظام له مميزاته الواضحة واهمها سهولته على المستخدم وسهولة تطويره وايضا التحكم به ( فلك الحرية فى التصميم ولتضع الدوال فى المكان الذى تريد ان تقوم بعملها به ) ولكن النظرية شئ والاستخدام شئ اخر واجهتنى مشاكل كثيرة خصوصا مع القوائم التى تستدعى ملفات php , وايضا بما ان القالب لا يتم تحليله واستبدال القيم ذات الشكل البسيط بالقيم الاصلية ( الطريقة المعتادة ( نظام محرك القوالب )) بل يتم تضمينه ستظهر مشكلة المتغيرات , لن يكون النظام بالكالمل دوال ......

    انتهى ... ارجو ان تكون وضحت نظريتى فى هذا النظام وانتظر الاقتراحات والتجارب والافكار ... وادعو كل خبراءنا الكرام للتحاور والنقاش لنخرج بعد هذ الموضوع بأفضل هيكل او نظام لاستخدامه فى تطبيقاتنا ..... يكون سهل التطوير وايضا سهل على المستخدم ويسمح بأكبر قدر من التعديل .
    تحياتى للجميع





    التعديل الأخير تم بواسطة dewan159 ; 07-07-2008 الساعة 06:48 PM


  2. #2
    عضو سوبر نشيط
    تاريخ التسجيل
    May 2007
    المشاركات
    613


    البرمجية الناجحة يجب أن تتفاعل مع المستخدم ، السهولة والمرونة والبساطة لها دور كبير في هذا الموضوع ، لابد من إستخدام أنظمة القوالب والـ cache ، أيضاً سرعة تحميل البرمجية على المتصفح ، بالنسبة لنظام تعدد اللغات فلا أظن أنه مهم .. على حسب تخصص الموقع فو كان موقع لغات مثلاً فإنه سيحتاج لذلك ، كثير من المواقع العربية تكون بواجهتين الإنجليزية والعربية ، بالنسبة للطريقة التي قمت بإستخدامها فهي صحيحة لكنها غير عملية ، من الأفضل فصل التصميم في ملفات خاصة بذلك والبرمجة في ملفاتها الخاصة بذلك .. ، نقطة أخرى وهي إستخدام التقنيات الحديثة ( الـ rss ، الـ ajax ، .. ) ، وتضمين الـ javascript أيضاً .. لذلك لن نغفل أهمية المكتبات مثل الـ jquery .. نقطة أخيرة وهي أن يكون آداء البرمجية عالي وأن تكون الشفرة واضحة وقابلة للتطوير بسهولة وبدون أي تعقيد ، وأن تكون الحماية في البرمجية عالية أي أن تكون شبه خالية من الثغرات ، أيضاً لابد من التعامل مع قواعد البيانات ، وتصميم قاعدة البيانات بشكل يتناسب مع البرمجية





    التعديل الأخير تم بواسطة dev11 ; 09-07-2008 الساعة 06:53 PM



  3. احس ان كلام الاخ dev11 سيتطيع ان يلخص في كلمه واحدة "خصوصا في عالم الPHP" وهي PHPFramework
    هناك نطاقات اعمال مثل CakePHP، Symfony, ZendFramework, CodeIgniter

    انا شخصيا افضل ZendFramework





    __________________
    هلابي افضل المواقع العربية تصميماً
    انصح باستخدام ابونتو

  4. #4
    عضو سوبر نشيط
    تاريخ التسجيل
    May 2007
    المشاركات
    613


    نعم بالضبط ، أيضاً يوجد هناك javascript frameworks
    مثل : jQuery ، Prototype ، MooTools ، script.aculo.us - web 2.0 javascript ، YUI ..

    شخصياً .. أميل الى إستخدام الـ jQuery ..

    أتسائل إذا كان هناك mysql frameworks ؟





    التعديل الأخير تم بواسطة dev11 ; 09-07-2008 الساعة 07:04 PM



  5. انا لا اضن ان هناك framework للmysql ولكن هناك اشياء تسمى MySQL abstraction classes وهناك اشهرها وهي ActiveRecord ولكن الZendFramework تحتوي على اثنين من تلك، الZendRecord و الActiveRecord اما عن الJavaScript انا شخصيا استخدم JQuery مع ان الZendFramework سيستخدم الDojo في اصداراتها القادمه، لسبب الJSON-RPC وهو النظام الجديد في الAPI الخاص بتعامل مع الJavaScript لان الJSON يتعامل مع الJavaScript بشكل افضل من الXML والنطاق Dojo لديه مكتبه خاصه بالJSON-RPC والZendFramework في الاصدار ال1.6 سيحتوي على نظام JSON-RPC API

    هذا ما استخدمه الان رغم ميولي الشديد الى JQurey لانها اصغر حجما واكثرها انتشارا من الDojo





    __________________
    هلابي افضل المواقع العربية تصميماً
    انصح باستخدام ابونتو

  6. #6
    عضو سوبر نشيط
    تاريخ التسجيل
    May 2007
    المشاركات
    613


    جميل جداً ، الـ jquery أكثر مرونة وسهولة من المكتبات الأخرى ، خصوصاً الدالة $() ، أستاذ hilaby .. دائما تتطرق الى مواضيع تجعلني ابحث وأقرأ .. حسناً بدأت بالبحث عن الـ MySQL abstraction classes ووجدت هذه الصفحة A MySQL Abstraction Class For&#160;PHP ، سأقوم بالتجربة ولي عودة إن شاء الله ..






  7. #7
    عضو سوبر نشيط
    تاريخ التسجيل
    May 2007
    المشاركات
    613


    بعد تعاملي مع الـ MySQL abstraction classes .. ، وجدت أنها بمثابة الـ framework للـ mysql .. ، الـ frameworks هدفها تسهيل التعامل مع اللغة أو البرمجية التي تتعامل معها ، والـ MySQL abstraction classes تقوم بالعمل لكن بشكل مبسط .. عموماً .. هل يوجد هناك class معين للـ mysql يحتوي على خاصية الـ cache التي تحدثنا عنها في موضوع سابق .. والتي تكون بديلة للـ mysql query cache ؟






  8. #8
    عضو نشيط جدا
    تاريخ التسجيل
    Jan 2008
    المشاركات
    450


    البرمجية الناجحة يجب أن تتفاعل مع المستخدم ، السهولة والمرونة والبساطة لها دور كبير في هذا الموضوع ، لابد من إستخدام أنظمة القوالب والـ cache ، أيضاً سرعة تحميل البرمجية على المتصفح ، بالنسبة لنظام تعدد اللغات فلا أظن أنه مهم .. على حسب تخصص الموقع فو كان موقع لغات مثلاً فإنه سيحتاج لذلك ، كثير من المواقع العربية تكون بواجهتين الإنجليزية والعربية ، بالنسبة للطريقة التي قمت بإستخدامها فهي صحيحة لكنها غير عملية ، من الأفضل فصل التصميم في ملفات خاصة بذلك والبرمجة في ملفاتها الخاصة بذلك .. ، نقطة أخرى وهي إستخدام التقنيات الحديثة ( الـ rss ، الـ ajax ، .. ) ، وتضمين الـ javascript أيضاً .. لذلك لن نغفل أهمية المكتبات مثل الـ jquery .. نقطة أخيرة وهي أن يكون آداء البرمجية عالي وأن تكون الشفرة واضحة وقابلة للتطوير بسهولة وبدون أي تعقيد ، وأن تكون الحماية في البرمجية عالية أي أن تكون شبه خالية من الثغرات ، أيضاً لابد من التعامل مع قواعد البيانات ، وتصميم قاعدة البيانات بشكل يتناسب مع البرمجية
    السلام عليكم ,..
    مشكورين جميعا على تفاعلكم ولكن ( لم اجد الرد الذى ابحث عنه )
    كان النقاش حول افضل طريقة للخروج بنظام يمكن ان يكون نواة لاغلبية المواقع ( اقصد هيكل ) يحتوى على اغلب المكونات التى تتواجد بالانظمة المختلفة للمواقع ( نظام القوالب , تعدد اللغات , القوائم , الكاش , الاتصال والتعامل مع قواعد البيانات او الملفات ,.....................................)
    وبالنسبة للنظام الذى ذكرته بالاعلى فهو يفصل التصميم تمام عن البرمجة ( لا اعتقد انك فهمته !! ) , انا متأكد من ان هذا النظام غير عملى بالمرة وهذا ما قلته بالاعلى ولكن هل من نقاش ؟؟؟ , ما هى الحلول الاخرى التى توفر سرعة وسهولة فى التطوير , ... لنطرح ما لدينا !!!
    ولا اريد ان يتجه الحديث الى مكتبات الجافة او الفريم وركس ( هذا موضوع اخر ) ارجو قراءة الموضوع جيدا وان لا يكون الخطأ عندى فى طرح الموضوع , والنقاش ماذال قائم ,.......










ضوابط المشاركة

  • لا تستطيع إضافة مواضيع جديدة
  • لا تستطيع الرد على المواضيع
  • لا تستطيع إرفاق ملفات
  • لا تستطيع تعديل مشاركاتك
  •  

أضف موقعك هنا| اخبار السيارات | حراج | شقق للايجار في الكويت | بيوت للبيع في الكويت | دليل الكويت العقاري | مقروء | شركة كشف تسربات المياه | شركة عزل اسطح بالرياض | عزل فوم بالرياض| عزل اسطح بالرياض | كشف تسربات المياة بالرياض | شركة عزل اسطح بالرياض