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

لماذا نتكلم دون ان نعرف

بدأه بـلـبل في 17 يوليو 2010 · 34 رد · 8,055 مشاهدة · في المقالات العلمية و التقنية
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

سأتكلم قليلا على مايكروسوفت

عند التكلم عن Ajax toolkit من قبل احد المبرمجين فانه يطلق ذلك على أية أداة موجودة من تلك الأدوات ومهما كان عملها هل التكلم عن تلك الأدوات بأنها Ajax غباء من المبرمج الذي يتكلم عنها

أم غباء من مايكروسوفت لتقول عنها بأنها أدوات Ajax مع العلم أن قسم كبير منها لا علاقة له بال Ajax

نحن نعلم أن الـ Ajax هو تقنية إرسال طلبات خفية عن المستخدم إلى السير فر والحصول على الرد ومن ثم تغيير المحتوى بدون أي عمل submit كله من خلال كائن موجود في JavaScript ألا وهو XMLHttpRequest

ويتم الرد على شكل xml ويتم التعامل مع ال xml من خلال شجرتي html Dom and xml Dom

ومن هنا جاء الاختصار( Ajax (Asynchronous JavaScript and XML

post-223709-018309200 1279393951_thumb.p

post-223709-076837200 1279394027_thumb.g

الفائدة من Ajax عادة المستخدم لا يحب أن تغيب الشاشة عنه بتحديث كل جزء من أجزاء الصفحة على حدا وبدون عمل submit السبب محاولة تقليد برامج سطح المكتب

post-223709-039266500 1279394062_thumb.j

الحالة الثانية باستخدام الـ Ajax يصبح موقعك أسرع وتخفف حمل على موقعك بشكل ابسط ان كنت لا تملك مالا وتحب ان تبني موقعا سيصبح عليه ضغط سيصبح عرض الحزمة عليك كبير جدا يمكنك اختصار جزء كبير منه باستخدام الـ Ajax

فهنا يتم تحميل اجزاء معينة مثلا لو اردت تحديث جزء صغير من الصفحة ما الحاجة الى اعادة طلب الصفحة كاملة وانشاء الصفحة وتحميل صورها وملفاتها الخ

اذا الـ Ajax افضل فهي تحمل جزء مطلوب من الصفحة بدلا من تحميل كل الصفحة أي تعمل تحديث لأجزاء الصفحة ولا تقوم بإعادة تحميل كل الصفحة

والحالة الثالثة أنها أأمن من الوب العادي طبعا أتكلم عن شخص خبير ولكن للـ Ajax خطاء قاتلة إن لم يكن يعرف ماذا يستخدم وكيف يستخدم

إذا لماذا نسمي كل أداة من أدوات Ajax tool kit على أنها Ajax مع العلم أن كل الـ asp.net تعتمد على JavaScript بشكل كبير جدا بكل عناصرها كافة وبدون أي استثناء

لماذا لا نقول عنها أنها Ajax لماذا مثلا لا نقول عن الـ web part أنها Ajax مع أنها اقرب إلى Ajax من الـ slider

اعرف أنها سحب وإفلات أيضا عديد من أدوات الـ Ajax tool kit ما هي إلا سحب وإفلات ويقال عنها Ajax

هل هو احتيال من ميكروسوفت من اجل كلمة حديثة من أجل إرباحها الشخصية أم قلة دراية من المبرمجين

صراحة موضوعي هذا ما هو إلا سبيل توضيح ما هي Ajax وحتى تعرف ما هي الـ Ajax

جزاكم الله كل خير

المرفقات
ajax-model.pngajax_interaction.gif5.JPG

تم تعديل هذه المشاركة بواسطة X-File في 17 يوليو 2010 في 22:19

7 −3

In bad state

#2

وعليكم السلام ،

لا أعلم ان فهمت ماتقصد .. ولكن هناك نقطة :

- أدوات asp الاجاكسية - ان صحت التسمية - ، يمكن الاستغناء عن كثير منها ببديل أفضل مثل JQuery UI أو بالاكتفاء فقط بـ JQuery .. ( على الأقل تتعلّم شيء شبه قياسي يمكن تستفيد منه في مكان آخر ) .

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

اقتباس
أم غباء من مايكروسوفت لتقول عنها بأنها أدوات Ajax مع العلم أن قسم كبير منها لا علاقة له بال Ajax

مثل ماذا ؟

ما أعرفه أن هناك المجموعة القياسية والتي هي ليست أجاكس ( مجرد HTML عادي ) ، وهناك مجموعة أخرى يمكن تحميلها من :

http://www.asp.net/a...y/download.ashx

بالاضافة لأي tools من طرف ثالث ..

هل هذا ما تقصده ؟

شكراً ..

1

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

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

CodingAlone.com

twitter @abshammeri

abshammeri AT gmail.com

github : abshammeri

#3

تقريبا اقتربت الى ما اصبو اليه

مثلا المحرر لا يوجد به اي اي جاكس وماهو الا iframe and div

واحداث بالجافا سكريبت اين الاي جاكس منه كذلك تكبير وتصغير والزوم لا اعرف ترجمتها كثير من الادوات ماهي الا وسوم جافا سكريبت وكما قلت اخي يمكن عملها باي مكتبة كانت

الاي جاكس حكما وحكما عندما يتم ارسال طلب الى السيرفر او بالاحرى عندما ترى بالكود التابع XMLHttpRequest

In bad state

#4
اقتباس
لذلك عيب الكثير من مبرمجي " السحب والافلات " ، أنهم يقومون بتطوير تطبيقات ويب مبنية على الاجاكس وهم لايعلمون ذلك .. ولاكيف حدث هذا ..
+1
#6

اعتقد ان قلة خبرة المبرمجين + عناصر تسويقية , مثلا البعض يسمي الـUpload المعتمد على Iframe بـ Ajax Upload مع العلم ان الاجاكس ليست لها القدرة على ارسال الملفات للخادم ...

1
#7

صح اخي احمد 100%

اما بالنسبة اخي حسن

هل هذا رايك الشخصي ام قراته بمكان ما

برايك لماذا قام Douglas Crockford بالعذاب وانشاء مكتبة json

اعطني مثالا عن تطبيق يعمل اي جاكس بدون xml اتكلم تطبيق وليس مثال تعليمي

تم تعديل هذه المشاركة بواسطة X-File في 18 يوليو 2010 في 14:07

In bad state

#8

الAJAX مجرد تسمية لكنها ليست حرفية, بل على العكس أكثر المواقع لا تستخدم الXML مع الJavascript لصعوبة و بطء عملية الParsing كما أن حجم الXML أكبر و عدم وجود مكتبة قياسية للXML و لهذا يتم استخدام الJSON و التي تقدم نفس المعلومات و لكن في حجم أقل و أيضاً أسرع في الParsing.

و هناك الكثير من العمليات مثل الDrag & Drop مثلاً و التي لا تعتمد على الXML او الXmlHttpRequest بل هي مجرد كود Javascript و لكن في النهاية تندرج تحت الAjax كمسمى أو لنقل كموضة.

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

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

#9

تمام حكيك بالاخر موضة فقط لا غير

اما ان كان قصدك بطء التفسير

مثلا ساقول لك

ان كان بي اتش بي او اي اس بي

عادة يستخدم اكثر من مكان للعرض بالصفحة كيف سيتم العرض ان كان الخرج عبارة عن

echo

او

Response.Write

عادة ال xml وانا صحيح عملي ليس له علاقة بالحاسب ولكن البرنامج الذي نعمل عليه هو محض xml

وباحترافية اعلى ودعونا نتعرف ان ال database المستقبلية كلها

nativ xml database

السؤال لو عندك طلب الى صفحة وتريد رد وان تضع الخرج بكاثر من مكان كيف سيكون

ان لم تستخدم xml ا

ستستخدم وسيلة تفسير عن طريق الجافا سكريبت كنقطة وفاصلة ووو

ونعود الى مشكلة التفسير

post-223709-061730500 1279454127_thumb.j

برايك لو اردنا تحديث اجزاء معينة من الصورة وهنا كل تطبيقات الوب تتطلب ذلك هل تقوم بعمل لكل حقل تابع ويتوجه الى صفحة ام انك تستخدم شجرة ال xml

المرفقات
1.JPG

تم تعديل هذه المشاركة بواسطة X-File في 18 يوليو 2010 في 14:59

In bad state

#10
ahmad123 كتب:

اعتقد ان قلة خبرة المبرمجين + عناصر تسويقية , مثلا البعض يسمي الـUpload المعتمد على Iframe بـ Ajax Upload مع العلم ان الاجاكس ليست لها القدرة على ارسال الملفات للخادم ...

كلامك صحيح أخي فأنا لم أفكر يوماً في أن أفحص كود هذا الـ uploader أو طريقة عمله و حتى أني لم استخدمه في مواقعي ولكني رأيته و بنيت معرفتي عنه على اسمه و كنت اظنه فعلا مبرمج حسب تقنية الـ Ajax

ولكن بعد أن نبهتني لهذه النقطة (جزاك الله خيراً) تبين لي فعلاً أن الكائن XHR لا يدعم الـ multipart/form-data والله أعلم

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

مثلا هل جرب أحدكم استخدام الاشارة المرجعية مع الـ Ajax

أقصد التالي:

صفحة قمنا بإحضار محتواها عن طريق الـ Ajax و في كود هذه الصفحة اشارة مرجعية (<a name='test'>)

عند استدعاء الصفحة عن طريق الـ Ajax مع الاشارة المرجعية (home.html#test) على سبيل المثال لا يقوم بالذهاب إلى مكان الاشارة من الصفحة

بالاضافة إلى مشكلة الـ Back (فإن حللّنا الفكرة منطقياً) صفحات الموقع نقوم بإحضار محتواها عن طريق الـ Ajax لذلك فإن المستعرض لا يخزن الصفحات التي مر عليها من الموقع

فلن يتفعل زر الـ Back الخاص بالمستعرض (بالاضافة إلى ذات المشكلة تقريبا مع الـ Bookmark الخاصة بالمستعرض) ولا يمكن استخدام (history.go) في الـ javascript

هذه المشكلات واجهتها في بعض المواقع التي برمجتها بالاعتماد على الـ ajax

والذي فاجأني أن الـ Gmail مبني بشكل كامل تقريباً على الـ Ajax و إن لاحظتم يستخدم فكرة الإشارة المرجعية في الـ Url

و زر الـ Back فعال فيه

حين واجهتني هذه المشكلات قمت بالبحث عن الحل الذي استخدمته Google و وجدت مكتبة اسمها History و فيها حل هذه المشكلات جميعها والله أعلم

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

جزاكم الله خيرا على الطرح القيم ..

والسلام مسك الختام

تم تعديل هذه المشاركة بواسطة MoHaMMaD Pro في 18 يوليو 2010 في 18:36

1

Everything will be fine when we TALK LESS, DO MORE


#11

مشاكل الاي جاكس كثيرة

اولا قليلة امان لشخص ليس لديه خبرة وخطرة جدا استخدامها

الاشارة المرجعية

الروابط

زر الخلف

انها تعتمد على الجافا سكريبت لسبب بسيط انه من الممكن ان المستخدم لم يقم بتفعيل active x وهنا مايكروسوفت تعتمد عليه باصدارها السادس والخامس

ولكن كل شيىء له حل الا مشكلة ان المتصفح لا يدعم الجافا سكريبت

1-عادة يكون زر اضفنا للمفضلة هذه اولا يكون المسار الكامل للصفحة

2-برايي ان لا تريد ان تختفي الصفحة وتعود ان تعمل انتقال على صفحة فارغة لا يوجد بها شيىء :D

ومضمن بها مكتبة قد حملت سابقا من الصفحة السابقة وعند اقلاع الصفحة تطلب البيانات من ملف الجافا سكريبت ولكن هنا اجباري يوجد انتقال ولكن هنا نكون قد انتقلنا الى صفحة جديدة ولكن بسرعة سريعة جدا

اتوقع التوجيه بالجيميل هكذا

ولكن محمد فكر مجرد ما رايت submit رمز اشارة ستعرف انه لا يوجد اي جاكس وهذا ما تفضل به احمد انه عند رفع ملف ستجد انه يعمل submit ولكن بدون انتقال :)

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

جوجل ليست كاملا على الاي جاكس :)

اما عن الروابط home.html#test

ان كنت تستخدم ال innerHTML لا اتوقع ان هنالك مشكلة وضح وان شاء الله نتوصل لحل انا ما مرت معي هيك قصة بيجوز بحكم عملك بالشركة مارة معك خلينا نستفيد :)

جزاكم الله كل خير

2

In bad state

#12

اذا رجعنا الى الفيجوال استوديو لنرى ادوات الاجاكس فهي ثلاثة على ما اعتقد :

  1. Scriptmanager
  2. update panel
  3. time

r

والادوات التي تتلكم عنها هي ادوات ليست بتابعة للفيجوال استوديو وانما هي ادوات مفتوحة المصدر مبنية بدعم من مايكروسوفت .

وتعريف بالادوات من هنا

اقتباس

What is the ASP.NET AJAX Control Toolkit?

....., as well as a rich array of controls that can be used out of the box to create an interactive Web experience.

فلا اعرف هل الخلط من مايكرسوفت ام من بعض المبرمجين ام هي تسمية غير حرفية .

#13

ما شاء الله عنك أخي عبد :)

بالنسبة لحلك عن زر الـ Bookmark هل لك أن توضح لي أكثر ؟

نعم هي تقوم بحفظ الرابط كاملا ولكن في الموقع المبنية على الـ Ajax رابط الموقع يبقى ثابتا كما نعلم فكيف نستطيع عمل Bookmark لصفحة داخلية من الموقع ؟

بالنسبة لفكرة الـ Submit كلامك صحيح جزاك الله خيراً

بالنسبة للـ Gmail هل برأيك أخي أنه ليس مبنياً على تقنية الـ Ajax بشكل اساسي (وليس كلي) ؟

و أما فكرة الروابط home.html#test

فأنا استخدم الـ innerHTML و لم تعمل معها الفكرة :)

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

جزاك الله كل خير laugh.gif

تم تعديل هذه المشاركة بواسطة MoHaMMaD Pro في 18 يوليو 2010 في 20:17

1

Everything will be fine when we TALK LESS, DO MORE


#14
TareqVB كتب:

اذا رجعنا الى الفيجوال استوديو لنرى ادوات الاجاكس فهي ثلاثة على ما اعتقد :

  1. Scriptmanager
  2. update panel
  3. time

r

والادوات التي تتلكم عنها هي ادوات ليست بتابعة للفيجوال استوديو وانما هي ادوات مفتوحة المصدر مبنية بدعم من مايكروسوفت .

وتعريف بالادوات من هنا

فلا اعرف هل الخلط من مايكرسوفت ام من بعض المبرمجين ام هي تسمية غير حرفية .

السلام عليكم

اخي طارق حتى هذه الادوات ليس اي جاكس لماذا ؟؟

لان timer ماهو الى تطبيق لدوال بالجافا سكريبت

setInterval()

setTimeout()

clearTimeout()

clearInterval()

اما عن Scriptmanager فهي حاوية لتوابع الجافا سكريبت التي تتعامل مع الي جاكس وغيرها اي يمكننا اعتبارها api كالجي كويري وغيرها

اما عن updateprogress

فما هي الا innerHTML مع ربطها بقادح زمني setInterval لاظهار صورة او نص معيين

اي انه لا يوجد تجسيد فعلي لفكرة الاي جاكس الا ال updatepanel ضمن الادوات الاساسية

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

وكل موقع يتم تغيير عنوانه يتم تغيير المصدر وبذلك حدث انتقال ولكن هنالك خدع كما ذكر احمد توهم المستخدم بذلك ولكن فعليا ليست اي جاكس

اما عن home.html#test يمكن فهمت قصدك حاول ان تضع كود جافا سكريبت بعد توابع الاي جاكس يقوم بتوليد مثلا div

ومن ضمنه link ينتقل له الفكرة اخي محمد انه يتم توليد الكود عن طريق مترجم الجافا سكريبت ومترمج الجافا سكريبت غير مفسر ال html لذلك رايي تعمل حتى الرابط يكون جافا سكريبت

بكل الاحوال ساجربها غدا ان شاء الله وارد خبرا

اما عن ال bookmark حاول جمع الرابط الحالي

مثلا

http://www.googel.com/index.php

ليكن هذا العنوان

عند طلب رابط بالاي جاكس ومتعة الاي جاكس انه يحافظ على المسارات وهذا من قوته اي لا يتوجب عليك اعادة طلب الصفحة من الدليل الجذر لذلك انت تطلب عنوان

check.php?q=10

بسيطة :D

حاول ترك مسار دائم لذلك وهذا ما يتم اعتماده لا تضحك على كلامي ولكن بجد هذا الذي يتم عمله بكل المواقع العالمية التي تعتمد الاي جاكس

اي اطلب الصفحة

http://www.googel.com/check.php?q=10

ستجد انه نفس المضون ولكنه غير صفحة كليا طبعا ما ذكرت هنا كان مثالا فقط لا غير

بتمنى اذا في شي خطا تنبهوني عليه بس بظن كلو صح :D

بالتوفيق وجزاكم الله كل خير

تم تعديل هذه المشاركة بواسطة X-File في 18 يوليو 2010 في 21:14

In bad state

#15

السلام عليكم

اخي محمد الكود واضح لذلك ساكتفي بانزاله ولم اوجه معه اي مشكلة ؟؟؟؟

<html>
<head>
<script type="text/javascript">
function showHint()
{

if (window.XMLHttpRequest)
  {// code for IE7+, Firefox, Chrome, Opera, Safari
  xmlhttp=new XMLHttpRequest();
  }
else
  {// code for IE6, IE5
  xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  }
xmlhttp.onreadystatechange=function()
  {
  if (xmlhttp.readyState==4 && xmlhttp.status==200)
	{
	document.getElementById("txtHint").innerHTML=xmlhttp.responseText
	}
  }
xmlhttp.open("GET","test.php",true);
xmlhttp.send();
}
</script>
</head>
<body>
<a href="#t" >get this link from client click me</a><br />
<p><b>Start typing a name in the input field below:</b></p>
<form> 
First name: <input type="button" value="clickme" onclick="showHint()" />
</form>
Suggestions: <div id="txtHint"></div>

</body>
</html>

ملف الثاني test.php

<?php
$response=<<<mod
<a href="#t" >get this link from server click me</a>
<div>
<br />fdgfdgfdg<br />dgfg<br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br />
<br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br />
<br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br />
fdgfdgdfg
</div>
<div>
<a href="" id="t" name="t">twest</a>
</div>


mod;

echo $response;
?>

In bad state

#16

ما كنت اقصده ان المعنى الحرفي للـ ajax ليس له علاقة بالمعنى الحقيقي او المعنى اللذي شاع استخدامه.

مثلا حرف x يرمز الى xml و لكن في الواقع اغلب التطبيقات تستخدم json بدلا منه.

الاجاكس يعني صفحة تتعامل مع السرفر دون عمل refresh، فالـ ajax uploader يعني يمكنك تحميل الملفات دون عمل رفرش للصفحة او مغادرتها و الذهاب الى صفحة اخرى، و هذه الخاصية وحدها كافية لتصنيف الاداة تحت ajax

بالنسبة لزر الـ back في المتصفح، فيمكن التعامل مع هذه المشكلة من ناحيتين:

- اولا الادعاء بانه زر غير مهم في تطبقيك و لذلك لن تقوم بعمل شيء حياله :lol:

- او ان تقوم بتحديث العنوان من دون عمل رفرش للصفحة و ذلك بتحديث الجزء اللذي يأتي بعد # من العنوان

2
#17
X-File كتب:

السلام عليكم

اخي محمد الكود واضح لذلك ساكتفي بانزاله ولم اوجه معه اي مشكلة ؟؟؟؟

<html>
<head>
<script type="text/javascript">
function showHint()
{

if (window.XMLHttpRequest)
  {// code for IE7+, Firefox, Chrome, Opera, Safari
  xmlhttp=new XMLHttpRequest();
  }
else
  {// code for IE6, IE5
  xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  }
xmlhttp.onreadystatechange=function()
  {
  if (xmlhttp.readyState==4 && xmlhttp.status==200)
	{
	document.getElementById("txtHint").innerHTML=xmlhttp.responseText
	}
  }
xmlhttp.open("GET","test.php",true);
xmlhttp.send();
}
</script>
</head>
<body>
<a href="#t" >get this link from client click me</a><br />
<p><b>Start typing a name in the input field below:</b></p>
<form> 
First name: <input type="button" value="clickme" onclick="showHint()" />
</form>
Suggestions: <div id="txtHint"></div>

</body>
</html>

ملف الثاني test.php

<?php
$response=<<<mod
<a href="#t" >get this link from server click me</a>
<div>
<br />fdgfdgfdg<br />dgfg<br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br />
<br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br />
<br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br />
fdgfdgdfg
</div>
<div>
<a href="" id="t" name="t">twest</a>
</div>


mod;

echo $response;
?>

جزاك الله خيراً أخي عبد ولكن ليست هذه هي المشكلة

فالمشكلة تكمن في أن الرابط الذي ينقلك إلى النقطة المرجعية و الذي ثبته أنت في الصفحة الرئيسية هو رابط في صفحة داخلية أخرى غير test.php و لتكن home.php ومحتوى صفحة الـ home كان ظاهرا في الصفحة الرئيسية نريد عند الضغط على الرابط الموجود في محتوى صفحة الـ home الذهاب مباشرة إلى الاشارة المرجعية الموجودة في الصفحة test وهذه هي المشكلة

hasan_aljudy كتب:

ما كنت اقصده ان المعنى الحرفي للـ ajax ليس له علاقة بالمعنى الحقيقي او المعنى اللذي شاع استخدامه.

مثلا حرف x يرمز الى xml و لكن في الواقع اغلب التطبيقات تستخدم json بدلا منه.

الاجاكس يعني صفحة تتعامل مع السرفر دون عمل refresh، فالـ ajax uploader يعني يمكنك تحميل الملفات دون عمل رفرش للصفحة او مغادرتها و الذهاب الى صفحة اخرى، و هذه الخاصية وحدها كافية لتصنيف الاداة تحت ajax

بالنسبة لزر الـ back في المتصفح، فيمكن التعامل مع هذه المشكلة من ناحيتين:

- اولا الادعاء بانه زر غير مهم في تطبقيك و لذلك لن تقوم بعمل شيء حياله :lol:

- او ان تقوم بتحديث العنوان من دون عمل رفرش للصفحة و ذلك بتحديث الجزء اللذي يأتي بعد # من العنوان

تماما كلام فيه كل الصحة

وبالنسبة لطريقة حل مشكلة زر الـ Back تفكير جيد :)

فهذا بالضبط ما تقوم على اساسه المكتبة التي ذكرتها و هذا ما يعتمده الـ Gmail و الله أعلم

جزاكم الله كل الخير

Everything will be fine when we TALK LESS, DO MORE


#18

شكرا لك اخي حسن (على فكرة ما بعرف حسن الا حسان بكل الاحوال عاشت الاسامي ) واخي محمد

اقتباس

ما كنت اقصده ان المعنى الحرفي للـ ajax ليس له علاقة بالمعنى اللذي شاع استخدامه

بالضبط

من اهم مزايا json هي ضغط البيانات بشكل اكبر من ال xml

لماذا json

السبب

ان وسم الفتح والاغلاق بال xml

ياخذ حجما كبيرا مثلا

<department>
<employe>
<name>test</name>
<age>20</age>
</employe>
</department>

هنا يوجد حشو كبير

الحل جاء مع json كما ذكرت اخي حسن

{"department":

{
"employe" :
[
}
"name" :test,
"age" :20,
}
]
}

}

طبعا لموقع صغير برايي يجب ان لا تستخدم لسبب بسيط ان حجم المكتبة json سيعادل الفارق واتوقع اكثر

http://devpro.it/code/149.html

هذا رابط التحميل والكود مفتوح بسيط بحجم 10 كيلو

بكل الاحوال كما ذكرت فقد Ajax المعنى الحقيقي لها

وما كان موضوعي الا عبارة عن توعية لمفهومه وان شاء الله يكون تمت قراءة الموضوع لا مجرد فتح واغلاق

اخي محمد بصراحة حتى بذلك لا ارى مشكلة ان كان فهمي لفكرتك صحيحا بتمنى منك تعدل كودي وترفقو بالملف

حتى ما كون شاركت اكثر من مشاركة ويصير تشتت بالمفردات

اما بالنسبة لجوجل كلامك صحيح ولكن ارجو منك ان تنظر الى البار السفلي شريط الحالي بعد تسجيل الدخول توجد عملية توجيه اما ان كان قصدك عن الGmail

نعم هو كاملا Ajax

شكرا لكم وجزاكم الله كل خير

تم تعديل هذه المشاركة بواسطة X-File في 19 يوليو 2010 في 21:56

In bad state

#19

بالنسبة لـ json المسألة ليست فقط تقليل الحجم بل البساطة في التعامل و سهولة القرائة. بالنسبة لي لا يوجد اي سبب منطقي يدفعني الى استخدام xml في اي نوع من التطبيقات، فهي بالنسبة لي من مخلفات العصر الحجري

2 −4
#20

قابلية القراءة ؟؟؟

لا اظن ذلك قطعا ونهائيا

وفي كلا الحالتين

1-ان كان بالنسبة للقارىء البشري هل تعتقد ان شخص يقرا XML سيفهم محتواه اكثر ام انه يقرا بيانات مرمزة بال Json

2-ان كان بالنسبة لمترجم الجافا سكريبت برايك ما الفائدة من انظمة قواعد البيانات الحديثة التي تعتمد على ال XML

native xml database لانها سريعة جدا مقارنة بغيرها

وهذا لان ملفات ال xml مهيلكة

فتفسير ال xml اسرع من تفسير json لسببين

الاول ان بتفسير ال xml فان المفسر موجود بال Dom (يوجد اكثر نوع من المفسرات لست بصدد الحديث عنها ) ومترجم الجافا سكريبت

اما مفسر ال json فهو يعتمد على مكتبة ال json وهي بذاتها تعتمد على مترجم الجافا سكريبت لتفسير البيانات

وبذلك تكون قد اطلت الطريق على تفسير البيانات او بالاحرى استخلاص المعلومات

الخلاصة ان تفسير ملفات ال xml اسرع وقابل للقراءة بشكل اكبر ان كان مستخدما او مترجما

1 −1

In bad state

#21

تفسير json اسهل و اسرع من تفسير xml و التعامل معها ايضا اسهل بالكود لانك تتعامل معه كـ dictionary بينما الـ xml تتعامل معه كـ tree و يجب ان تقوم بالمشي على الـ nodes و دوخة راس

و ايضا json اسهل في القرائة لانه لا يحتوي على كلمات كثيرة و زائدة،

و كما يقول المثل:

<paragraph>
<sentence>
<word>XML</word>
<word>is</word>
<word>insane</word>
</sentence>
</paragraph>

اقتباس

رايك ما الفائدة من انظمة قواعد البيانات الحديثة التي تعتمد على ال XML

native xml database لانها سريعة جدا مقارنة بغيرها

ما هي هذه الانظمة "الحديثة" .. ممكن تعطيني مثال؟؟

هناك على الاقل نظام واحد حديث اعرفه يستخدم json لقواعد البيانات الا و هو MongoDB

http://www.mongodb.org/

طبعا لا اقصد ان قواعد البيانات مخزنة بصيغة json و لكن الـ interface كلها مبنية على فكرة الـ json

تم تعديل هذه المشاركة بواسطة hasan_aljudy في 25 يوليو 2010 في 02:15

1 −1
#22

ابحث عنها بالنت لا وقت لديي لشرحها ولكن يمكنك البحث عن sedna افضل واحدة من تلك النظم

علك تستفيد بها بالمستقبل لا بالعصر الحجري :)

الم تسال نفسك ذلك السؤال

سؤال اخر لماذا مايكروسوفت تستخدم ملفات ال xml كداتا سيت لتسريع العمل هل هنالك سبب الجواب لك

بكل الاحوال ان لم ترد ان تقتنع ذلك خاص بك ويعود اليك استخدم ما شئت

1 −1

In bad state

#23

بحثت فوجدت أن النقاش حام بين ال XML و ال JSON ,,,

http://ajaxian.com/archives/json-vs-xml-the-debate

#24
X-File كتب:

ابحث عنها بالنت لا وقت لديي لشرحها ولكن يمكنك البحث عن sedna افضل واحدة من تلك النظم

علك تستفيد بها بالمستقبل لا بالعصر الحجري :)

الم تسال نفسك ذلك السؤال

سؤال اخر لماذا مايكروسوفت تستخدم ملفات ال xml كداتا سيت لتسريع العمل هل هنالك سبب الجواب لك

بكل الاحوال ان لم ترد ان تقتنع ذلك خاص بك ويعود اليك استخدم ما شئت

على الWeb الJSON هو السائد لأنه أسهل في التعامل مع الJavascript و أقل حجماً

على أي بيئة أخرى و خلف الستار الXML هو السائد لأن جميع التقنيات تقدم دعم رائع لهذه التقنية كما أن الXML يدعم خواص مثل الSchema و الXSLT و هي خواص تفيد في وضع الContracts بين الServices و المكونات المختلفة للنظم الموزعة

1

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

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

#25

XML و JSON يدوران في نفس الفلك اي طريقة لتمثيل بيانات التي تكون على شكل Tree , و طريقة الاستخدام ترجع للمكان و شخص و تقنية المستخدمه , شخصيا , هناك اماكن لا احبذ استخدام xml فيه مثل ملفات الاعدادت و افضل عليها ملفات INI , في اياكس افضل استخدام HTML او JSON في response , حسب وجهت نظري افضل مكان لاستخدام صيغ XML هو Web Services مثل REST وغيرها

تم تعديل هذه المشاركة بواسطة ahmad123 في 21 يوليو 2010 في 03:57

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

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…