<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-5627106184127374063</id><updated>2012-02-16T19:45:02.452-08:00</updated><category term='برامج التطوير'/><category term='لغة PHP'/><category term='تقنية RSS'/><category term='اجاكس AJAX'/><title type='text'>مدونات الويب</title><subtitle type='html'>تجربتي مع برمجة المواقع و تطبيقات الويب</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://web-notes.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5627106184127374063/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://web-notes.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>عبد الفتاح</name><uri>http://www.blogger.com/profile/06216656204705283181</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>2</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-5627106184127374063.post-5202200017530416379</id><published>2008-03-25T15:36:00.001-07:00</published><updated>2008-03-30T08:24:15.915-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='برامج التطوير'/><title type='text'>البرامج التي يحتاجها كل مطور ويب : أدوات البرمجة</title><content type='html'>قبل وقت قصير كان Dreamweaver الأداة الأساسية التي استعملها لتطوير المواقع. طبعا البرنامج متطور جدا, و الإمكانيات التي يوفرها كبيرة لكنها تبقى محصورة في لغة HTML و CSS فدعمه للغات مثل PHP و JavaScript ضعيف جدا.مما يجعل البرنامج غير مناسب لتطوير مواقع كبيرة الحجم فرغم صدور نسخ جديدة منه لا توجد أي محاولة لتحسين أدائه مع PHP.كذلك فالبرنامج لا يوفر بيئة مناسبة للعمل الجماعي. من خلال عدم دعمه لآي من برامج ضبط الإصدارات CVS أو SVN. و فوق كل هد فالبرنامج غير مجاني و لا يعمل مباشرة في بيئة Linux.&lt;br /&gt;&lt;br /&gt;لكن في السنوات الأخيرة ظهرت عدة بدائل أهمها &lt;a title="Komodo تحميل" target="_blank" href="http://www.activestate.com/Products/komodo_ide/index.mhtml"&gt;Komodo&lt;/a&gt; و &lt;a title=" Zend Studio تحميل" target="_blank" href="http://www.zend.com/en/products/studio/"&gt;Zend Studio&lt;/a&gt; و يبقى أفضلها بلاغين PDT المجاني الذي تصدره شركة ZEND والموجه لبرنامج &lt;a title="تحميل Eclipse" target="_blank" href="http://www.eclipse.org/downloads/"&gt;Eclipse&lt;/a&gt; المفتوح المصدر.&lt;br /&gt;&lt;br /&gt;&lt;a title="تحميل Eclipse" target="_blank" href="http://www.eclipse.org/downloads/"&gt;Eclipse&lt;/a&gt; أصدرته في البداية شركة IBM و تستعمله كقاعدة لمجموعة كبيرة من برامجها مثل lotus Note و IBM RAD... ( جميع برامج IBM التي تعاملت معها مبنية عليه. لا ادري إذا كانت هناك برامج خارج هده القاعدة ) .البرنامج   موجه في الأساس للغة JAVA و التقنيات المرتبطة بها.  لكنه  يدعم العديد من لغات البرمجة من خلال بلاغينات خاصة.&lt;br /&gt;&lt;br /&gt;بلاغينPDT يضيف IDE كامل إلى  &lt;a title="تحميل Eclipse" target="_blank" href="http://www.eclipse.org/downloads/"&gt;Eclipse&lt;/a&gt; فهو أولا محرر PHP و من خلال WTP الذي يأتي مع البلاغين يتم إضافة محرر HTML و CSS و لغة JavaScript . بالنسبة لهذه الأخيرة يفضل استعمال بلاغين &lt;a title="تحميل JSEclipse" target="_blank" href="http://labs.adobe.com/technologies/jseclipse/"&gt;JSEclipse&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;من المميزات العظيمة للبلاغين قدرته على التعرف على المتغيرات و الفئات Classe وان كانت في ملفات أخرى . و أيضا دعمه لعملية تشخيص الأخطاء بالإضافة إلى بعض الأشياء البسيطة التي تجعل العمل اكتر سهولة مثل الطي التلقائي لكود الدوال بحيث يصبح من السهل العثور عليها. CVS موجود في برنامج Eclipse أما SVN فيمكن تحميل البلاغين &lt;a title="تحميل Subclipse" target="_blank" href="http://subclipse.tigris.org/download.html"&gt;Subclipse&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;الصراحة بتبني برنامج &lt;a title="تحميل Eclipse" target="_blank" href="http://www.blogger.com/post-edit.g?blogID=5627106184127374063&amp;amp;postID=5202200017530416379"&gt;Eclipse&lt;/a&gt; في مشاريع البرمجة التي أشارك فيها كسبت الكثير. لأنه البرنامج الموحد فسواء كنت أريد العمل بجافا أو c++ أو حتى على قواعد البيانات فلست مضطرا للمرور إلى برنامج أخر.&lt;br /&gt;&lt;br /&gt;تنصيب PDT سهل جدا فيكفي التوجه الى&lt;br /&gt;&lt;div class="code"&gt;Help-&amp;gt; Software Updates-&amp;gt; Find and Install...&lt;/div&gt;&lt;br /&gt;ثم اختيار&lt;br /&gt;&lt;div class="code"&gt;Search for new features to install&lt;/div&gt;&lt;br /&gt;وإضافة رابط جديد من خلال New Remote Site بالتفاصيل التالية&lt;br /&gt;&lt;div class="code"&gt;Name:PDT&lt;br /&gt;URL:http://downloads.zend.com/pdt&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;بالضغط على Next سيبدأ تثبيت البلاغين&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5627106184127374063-5202200017530416379?l=web-notes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://web-notes.blogspot.com/feeds/5202200017530416379/comments/default' title='تعليقات الرسالة'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5627106184127374063&amp;postID=5202200017530416379' title='0 تعليقات'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5627106184127374063/posts/default/5202200017530416379'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5627106184127374063/posts/default/5202200017530416379'/><link rel='alternate' type='text/html' href='http://web-notes.blogspot.com/2008/03/blog-post.html' title='البرامج التي يحتاجها كل مطور ويب : أدوات البرمجة'/><author><name>عبد الفتاح</name><uri>http://www.blogger.com/profile/06216656204705283181</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5627106184127374063.post-1202951116125803457</id><published>2008-03-24T03:51:00.000-07:00</published><updated>2008-03-26T04:11:02.126-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='اجاكس AJAX'/><category scheme='http://www.blogger.com/atom/ns#' term='تقنية RSS'/><category scheme='http://www.blogger.com/atom/ns#' term='لغة PHP'/><title type='text'>قارئ خلاصات الأخبار بواسطة AJAX RSS و PHP - الجزء الأول</title><content type='html'>&lt;div dir="rtl" style="text-align: right;"&gt;كما أصبح معلوما فاغلب مواقع الأخبار التي تواكب التطور التقني, تعمل على نشر اخبرها, أو على الأقل العناوين على شكل ملف RSS. حيث يمكن لزوار الموقع متابعة جديده عن طريق مواقع و برامج متخصصة في قراءة خلاصات RSS.&lt;br /&gt;&lt;br /&gt;في هدا التطبيق أسعى لاستعمال تقنية AJAX. لإنشاء قارئ, سيعمل على جلب عناوين أخر الإخبار من بعض المواقع العربية.&lt;br /&gt;&lt;br /&gt;في الجزء الأول من الموضوع سيتم تطوير التطبيق دون استعمال AJAX حتى نتمكن في الجزء الثاني من التعرف على التقنية بشكل أفضل و كدالك لتسنح لنا الفرصة لمعرفة طريقة تجاوز مشاكل هده الأخيرة مع محركات البحث.&lt;br /&gt;&lt;br /&gt;أولا نقوم بتصميم صفحة  news.php التي ستعرض الأخبار و قائمة المواقع الإخبارية&lt;br /&gt;&lt;br /&gt;&lt;div class="code"&gt;&amp;lt;!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"&amp;gt;&lt;br /&gt;&amp;lt;html&amp;gt;&lt;br /&gt;&amp;lt;head&amp;gt;&lt;br /&gt;  &amp;lt;meta http-equiv="Content-Type" content="text/html; charset=UTF8"&amp;gt;&lt;br /&gt;&amp;lt;/head&amp;gt;&lt;br /&gt;&amp;lt;body &amp;gt;&lt;br /&gt;  &amp;lt;div id="site"&amp;gt;&lt;br /&gt;     &amp;lt;div id="news"&amp;gt;&lt;br /&gt;        &amp;lt;?php echo getNews() ?&amp;gt;&lt;br /&gt;     &amp;lt;/div&amp;gt;&lt;br /&gt;     &amp;lt;div id="side"&amp;gt;&lt;br /&gt;        &amp;lt;ul&amp;gt;&lt;br /&gt;           &amp;lt;li&amp;gt;&amp;lt;a href= "?src=http://www.aljazeera.net/Portal/RSS/RSS-Portal.xml" &amp;gt;الجزيرة نت&amp;lt;/a&amp;gt;&lt;br /&gt;           &amp;lt;/li&amp;gt;&amp;lt;li&amp;gt;&amp;lt;a href= "?src=http://www.alarabiya.net/rss/rss_top08.xml" &amp;gt;العربية.نت&amp;lt;/a&amp;gt;&lt;br /&gt;           &amp;lt;/li&amp;gt;&amp;lt;li&amp;gt;&amp;lt;a href= "?src=http://newsrss.bbc.co.uk/rss/arabic/news/rss.xml" &amp;gt;BBC Arabic News&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;        &amp;lt;/ul&amp;gt;&lt;br /&gt;     &amp;lt;/div&amp;gt;&lt;br /&gt;  &amp;lt;/div&amp;gt;&lt;br /&gt;&amp;lt;/body&amp;gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;يجب الانتباه الى ان  charset الصفحة يجب أن يكون UTF8 و أيضا فعناوين خلاصات rss  يتم إرسالها في المتغير src الى نفس الصفحة اي news.php&lt;br /&gt;&lt;br /&gt;في news.php سننشئ الدالة getNews&lt;br /&gt;&lt;br /&gt;&lt;div class="code"&gt;&amp;lt;?php&lt;br /&gt;function getNews(){&lt;br /&gt;  $source=isset($_REQUEST['src'])?$_REQUEST['src']:'http://www.aljazeera.net/Portal/RSS/RSS-Portal.xml';&lt;br /&gt;  $xml=simplexml_load_file($source);&lt;br /&gt;  $newsItems=$xml-&amp;gt;channel-&amp;gt;item;&lt;br /&gt;  $news='&amp;lt;ul id="jsc"&amp;gt;';&lt;br /&gt; &lt;br /&gt;  foreach($newsItems as $item){&lt;br /&gt;     $news.='&amp;lt;li&amp;gt;&lt;br /&gt;        &amp;lt;a href="'.$item-&amp;gt;link.'" target="_blank"&amp;gt;'.$item-&amp;gt;title.'&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;'.&lt;br /&gt;        $item-&amp;gt;description&lt;br /&gt;        .'&amp;lt;/li&amp;gt;';&lt;br /&gt;  }&lt;br /&gt;  $news.='&amp;lt;/ul&amp;gt;';&lt;br /&gt; &lt;br /&gt;  $news.='&amp;lt;center&amp;gt;&amp;lt;a href="'.$xml-&amp;gt;channel-&amp;gt;image-&amp;gt;link.'"&amp;gt;&lt;br /&gt;     &amp;lt;img src="'.$xml-&amp;gt;channel-&amp;gt;image-&amp;gt;url.'" alt="'.$xml-&amp;gt;channel-&amp;gt;image-&amp;gt;title.'" /&amp;gt;&lt;br /&gt;     &amp;lt;/a&amp;gt;&amp;lt;/center&amp;gt;';&lt;br /&gt;    &lt;br /&gt;  return $news;&lt;br /&gt;}&lt;br /&gt;?&amp;gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;الدالة ستقوم بالحصول على رابط الخلاصة الموجود في المتغير src (في حالة عدم تواجد أي رابط يتم استعمال رابط مبدئي الجزيرة في هدا المثال) .الرابط سيتم تحويله إلى الكائن simplexml_load_file, الدي سيمكننا من التعامل مع عناصر ملف XML و كانها مجموعة من الكائنات. فمثلا للحصول على جدول بكل المواضيع الموجودة في الخلاصة نستعمل :&lt;br /&gt;&lt;br /&gt;&lt;div class="code"&gt;$xml-&amp;gt;channel-&amp;gt;item&lt;/div&gt;&lt;br /&gt;بواسطة هدا الكائن يمكننا بسهولة جلب جميع المواضيع و وضعها في قائمة تم إضافة صورة الموقع الذي تم جلب الإخبار منه.&lt;br /&gt;&lt;br /&gt;في الأخير لم يبقى الا المناداة على الدالة ثم عرض النتيجة&lt;br /&gt;&lt;div class="code"&gt;&amp;lt;div id="news"&amp;gt;&lt;br /&gt;  &amp;lt;?php echo getNews() ?&amp;gt;&lt;br /&gt;&amp;lt;/div&amp;gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;كدالك يمكننا تحسن شكل الصفحة بواسطة css&lt;br /&gt;&lt;div class="code"&gt;#site {&lt;br /&gt;  width: 600px;&lt;br /&gt;  height:300px;&lt;br /&gt;  position: absolute;&lt;br /&gt;  top: 50%;&lt;br /&gt;  right: 50%;&lt;br /&gt;  margin-top: -150px;&lt;br /&gt;  margin-right: -300px;&lt;br /&gt;  direction: rtl;&lt;br /&gt;  font: 12px tahoma;&lt;br /&gt;}&lt;br /&gt;#side {&lt;br /&gt;  float: right;&lt;br /&gt;  width: 188px;&lt;br /&gt;}&lt;br /&gt;#news {&lt;br /&gt;  float: left;&lt;br /&gt;  width: 378px;&lt;br /&gt;  margin-right: 10px;&lt;br /&gt;  overflow: auto;&lt;br /&gt;}&lt;br /&gt;#news ,#side {&lt;br /&gt;  padding: 5px;&lt;br /&gt;  border: 1px solid #E0EFFF;&lt;br /&gt;  height: 100%;&lt;br /&gt;}&lt;br /&gt;#site a{&lt;br /&gt;  text-decoration: none;&lt;br /&gt;  color: #4D9EE4;&lt;br /&gt;}&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;وهدا كود التطبيق كامل لتحميل&lt;br /&gt;&lt;br /&gt;http://www.4shared.com/file/41772392/4b61c724/news.html&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5627106184127374063-1202951116125803457?l=web-notes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://web-notes.blogspot.com/feeds/1202951116125803457/comments/default' title='تعليقات الرسالة'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5627106184127374063&amp;postID=1202951116125803457' title='4 تعليقات'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5627106184127374063/posts/default/1202951116125803457'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5627106184127374063/posts/default/1202951116125803457'/><link rel='alternate' type='text/html' href='http://web-notes.blogspot.com/2008/03/ajax-rss-php.html' title='قارئ خلاصات الأخبار بواسطة AJAX RSS و PHP - الجزء الأول'/><author><name>عبد الفتاح</name><uri>http://www.blogger.com/profile/06216656204705283181</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>4</thr:total></entry></feed>
