الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

المتطلبات لتطوير متصفح انترنت ،

بدأه mashhoury في 17 نوفمبر 2010 · 11 رد · 1,394 مشاهدة · في الأخبار والنقاشات التقنية
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ورحمة الله وبركاته

كل عام وأنتم بأتم صحه وعافيه

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

ألا وهو بناء متصفح إنترنت

طبعا بدون إستخدام components الجاهزة اللي بتجي مع الفيجوال بيزك مثلا .. بإختصار من الصفر وحبه حبه

لقيت حاجات كثير مفتوحه المصدر وبلغات برمجه متعدده , ولكن المشكله إني غير ملم بالبرمجه أصلا لأننا لم نتعلم البرمجه بشكل فعال في الكليه يساعدنا على فهم مثل هذي الأشياء..

المطلوب كيف يمكن أبدأ مشروع زي هذا , هل أبدا أتعلم لغه برمجه معينه ولا أجيب الكود جاهز وما راح أدري ايش الطبخه وننحرم الماده ... وللعلم الفترة المفروض يتسلم فيها المشروع تقريبا 3 أشهر.

وبما أنني في منتديات الفريق العربي للبرمجه فلازم يكون هناك الكثير من اللي بيدلوني على حل .

أتمنى أن لا أكون ضيف ثقيل عليكم ,, أشكر لكم تعاونكم

#2

انت ذكرت الحل بنفسك

اذا حصلت على شيئ جاهز بتكون ضحكت على نفسك

تعلم لغة بزمجة سهلة تستطيع انجاز المشروع بها مثلا فيجوال بيسك نت او سي شارب نت

lxcs.png

syria-flag_small.jpg

#4

هناك ثلاثة أشياء يجب عليك تعلمها:

1. بروتوكول HTTP للاتصالات. وهو البروتوكول الذي تتخاطب به مواقع الإنترنت مع المتصفحات.

2. الـParsing. وهو تحويل كود الـHTML إلى مجموعة من الـtokens يسهل التعامل معها برمجياً.

3. الرسوميات. لأنك ستحتاج في النهاية إلى تحويل كود الـHTML إلى شكل رسوميات ونصوص.

هل المشروع غريب على تخصصك؟ كلا. أنت طالب علوم حاسب. وهذه النوعية من المشاريع تقع في صميم تخصصك. هل هو مشروع سهل؟ قطعاً لا. ولكن اعلم أن المجد لا يأتي بسهولة :)

يمكنك استخدام تقريباً أي لغة ناضجة لمثل هذا المشروع. لذا استخدم اللغة التي ترتاح معها أكثر. ابدأ المشروع بشكل بسيط. وطوره شيئاً فشيئاً. ابدأ مثلاً ببرمجة إنشاء اتصال HTTP مع السيرفر وسحب كود الـHTML كما هو. بعد ذلك اقرأ في موضوغ الـparsing. ثم ابدأ بإظهار الصفحة على شكل نصوص فقط دون صور. وهكذا. كل عملية من هذه العمليات لها أكواد ومكتبات مفتوحة يمكنك قراءتها والاستفادة منها. أهم شئ أن تقسم المشروع إلى أجزاء صغيرة سهلة المضغ، حتى لا تحس أنك ضائع. ابدأ صغيراً جداً واطمح نحو النمو :)

3
#5
اقتباس
ولكن المشكله إني غير ملم بالبرمجه أصلا

:sleep:

اذن تعلم البرمجة

#6

مشروعك جميل ودكتورك أجمل ،

كما قال الزملاء ،

إما أن تنبش/ تستفيد من المحركات التي بناها خبراء مثل webkit أو gecko ، على الأقل في بعض الأجزاء مثل المحرك الرسومي .

المشكلة أن المشروع ضخم جداً ،

عموماً لو كنت مكانك سأبدأ بالترتيب :

1- كتابة XHtml Parser بعد التأكد أنه متوافق مع المواصفات هذه :

http://www.w3.org/TR/xhtml1/dtds.html#a_dtd_XHTML-1.0-Strict

ستحتاج حينها للقراءة عن xml و dtd ، و مواصفات html ( ابحث عن أي مكتبة تقرأ ملف XML بأسلوب DOM في اللغة التي تستخدمها ) .

2- كتابة محرك بسيط لاستخراج ومعالجة البيانات من ملفات css ( هناك عدة مواصفات لهذه التقنية ، آخرها حسب ما أعرف هو 3 ، ولكن يمكن أن تكتفي بالجيل الأول أو الثاني إن استطعت من مواصفات css ) :

http://www.w3.org/TR/CSS2/

3- كتابة محرك رسومي لرسم الأمور الأساسية ( شكل مستطيل - نص - صورة .. ) .

تستفيد من هذه المكونات الثلاث لرسم أي صفحة xhtml يطلبها المستخدم .

يمكن ومن أجل التسهيل ، أن تفرض في البداية أن صفحة web تقرأها من خلال جهازك off-line ، وليس من الانترنت .. إلى حين أن تنجح في عملية التصيير ، وبعدها تشوف البروتوكلات مثل HTTP.

الأمر الآخر ، هو أن تتأكد مما يريده الدكتور ، هل الأولية هي لمتصفح " رسومي " ، بغض النظر عن دعم عدد كبير من البروتوكلات HTTP- ftp - الخ ، أو أن الأولية هي دعم تلك البروتوكلات بغض النظر عن عملية الرسم rendering ، وبالتالي يمكن أن تنشئ ما يسمّى بالمتصفحات النصية ( القديمة ) ، التي تعرض source code لملف html مثلاً !

الأمر الأخير :

لعمل متصفح ، يعني أن تستخدم بعض المكتبات البرمجية ، فلا يمكن أن أتخيّل أنه يمكنك أن تعمل كل شيء بنفسك ، هناك بروتوكلات و تطبيقات متقدمة من الصعب أن تعمل Implementation لها بنفسك وأنت في هذه المرحلة ..

لكن أغلب تلك المكتبات مكتوبة باستخدام لغة سي/سي بلس ، ولا أظن ستجد موارد جيدة مع فيجوال بيسك .

تم تعديل هذه المشاركة بواسطة الشمري في 17 نوفمبر 2010 في 09:12 — السبب: HTTP وليس HTML

logo1.png تطبيق طمأنينة ، نسخة بيتا على أندرويد

عبدالله الشمّري - Al-Shammari

CodingAlone.com

twitter @abshammeri

abshammeri AT gmail.com

github : abshammeri

#7

بالمناسبة ، لم أنتبه لـ :

اقتباس
هل أبدا أتعلم لغه برمجه معينه ولا أجيب الكود جاهز

أرى أن تعتذر من الدكتور !

لا يمكن أن تتعلم لغة برمجية وتعمل متصفح انترنت في ثلاثة أشهر ، بالمنطق !

توقعت أنك جاهز برمجياً :-( .

1

logo1.png تطبيق طمأنينة ، نسخة بيتا على أندرويد

عبدالله الشمّري - Al-Shammari

CodingAlone.com

twitter @abshammeri

abshammeri AT gmail.com

github : abshammeri

#8

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

وفقك الله ...

1
#9

وبعد كل ما قاله الاخوه مشكورين ..

اعتقد انك ستعود بالنتيجة الى تطوير المشروع باستخدام الاداة WebBrowser ومعها ازرار Back ,Forward ,Refresh جاهزة ...

لان بناء متصفح جديد من الصفر ومع قدرة برمجية دون المتوسطه هذا شئ صعب ..

السبب هو انك يجب ان تكون ملما بـ ..

1- برمجة

2- بروتوكولات المواقع .

3- لغة من لغات برمجة الويب

4- على الاقل تعرف الفروقات بين اشهر المتصفحات .. ( مثلا IE , Chrome , FF , Opera .......) .. لكي تعرف ماهذا وماذاك .. حتى تعرف ماذا ستكتب في الفصول الاولى من المشروع ..

5- المحركات الرسومية والتي لوحدها تحتاج لمجهود .. لو اعتمدت على محرك جاهز اعتقد افضل واسرع ولكن يجب ان تفهم الية عمله ..

بالنتيجة كما قال الشمري .. اما ان تعتذر .. او كما قال سنان .. اعتمد على الادوات الجاهزة في الدوت نت ..

اعتقد قفلتها صح ؟؟؟!!! :wub:

تحياتي العطرة ..

يَارَبُ إِن ضَاقَت قُلُوُب الْنَّاسٍ عَنْ مّافِي .. مِنْ خَيْرٍٍ فَعَفْوكَ لَا يَضِيْقْ ..

#10

ممكن تبنى متصفح بسيط جدا باستخدام اداة web browserبلغه vb.netولو نويت تعمل به عندى فيديو كيفيه بناء متصفح بسيط هرفعهولك

قاربت صحيفة هذا العام أن تطوى ولن تفتح إلا يوم القيامة فأكثر من الاستغفار

#11

تصميم متصفح انترنت يتطلب فريق من المبرمجين المحترفين خاصةً اذا كان الهدف عدم استخدام أي مكونات جاهزة و البداية من الصفر.

مصري في بلاد الفرنجة.

قريباً اقرأ مقالاتي على It-scoop

#12

السلام عليكم ورحمة الله

أولا أشكركم جدا على تفاعلكم الغير مستغرب

سأقوم بمحاوله أخيرة مع الدكتور لإلغاء هذة الفكرة , وفي حال عدم القبول سأكون مغصوب على تعلم إحدى لغات البرمجه ومحاوله تقديم ولو جزء بسيط من المشروع حتى ولو قراءة نوع واحد من لغات برمجة المواقع ..

لن أستغني عن خدماتكم أبدا في هذا الموضوع أو غيره .. أشكر لكم تواصلكم

مواضيع مشابهة