افسانه آژاكس و بلوغ در وب
شهرام انسان- دنياي كامپيوتر و ارتباطات
در ابتداي دهه 90 ميلادي، آن هنگام كه مرورگرهاي وب پا به عرضه وجود نهادند، كمتر كسي پيشبيني ميكرد كه تكنولوژي و زبان HTML كه براي نمايش اطلاعات طراحي و ارائه شده بودند، روزگاري پايه توليد برنامههاي كاربردي تحت وب شود. برنامههايي كه نقشي ويژه در پيشرفت فناوري اطلاعات و رشد جوامع بازي نمودهاند. تكنولوژيهاي متنوعي در اين گذار پاي به عرصه ظهور گذاردهاند كه شايد آژاكس جديدترين نامي باشد كه در اين زمينه شنيدهايم.
در بدو معرفي دنيايي به نام وب؛ اولين برنامه توليدي تيم برنرزلي در پروژه نمايش و ارائه اطلاعات در تكنولوژي جديد وب، در حقيقت يك مرورگر وب به همراه يك اديتور فايل صفحات بوده است. با گذشت زمان مرورگرهاي كاملتري توليد و فراگيرشدند و در اين بين ويرايشگرهاي صفحات وب كمتر مورد توجه قرار گرفتند و حرفهاي اختصاصي براي ساخت و توليد صفحات وب شكل گرفت.
اين وضعيت تا زمان ارائه Netscape Communicator 4.0 در سال 1997 ادامه داشت كه همراه با ارائه نسخه جديد مرورگر نتاسكيپ، نسخهاي از Netscape Composer همراه شده بود كه قابليت توليد صفحات وب را براي عموم به ارمغان ميآورد البته آن هم با محدوديت ليسانس استفاده به صورتي كه استفاده رايگان از آن فقط به مقاصد غير تجاري محدود ميشد. اينترنت اكسپلورر مايكروسافت نيز هرگز ويرايشگري براي صفحات وب تا زمان خريد Front Page از شركت Vermeer در سال 1996 نداشت.
به اين ترتيب FrontPage 1.0 در سال 1995 ارائه شد. تمام اين ويرايشگرها شامل امكاناتي ابتدايي براي توليد صفحات ساده وب بودند و امكاناتي چشمگير و حرفهاي براي توليد حرفهاي صفحات به دست نميدادند. با وجود آنكه اكثر مرورگرهاي ابتدايي اوليه از ارائه خدمات ويرايش صفحات عقب مانده بودند، اما يك جز اساسي از اولين مرورگر وب برنر به ارث رسيده بود. گزينه View Source كه كليد انفجار دنياي توسعه و توليد در وب بود.
اين امكان به Mosaic سپس به Netscape Navigator و نهايتاً به Internet Explorer منتقل شد. اگر چه در ابتدا تصوري سورس آزاد از HTML نميشد اما وجود اين امكان آماتورها را به دنياي توليد وب كشاند و رشد سريعالسير و غير قابل تصور وب را باعث شد. ايده تيم اورلي به تحقق پيوسته بود: "معماري مشاركت"! با گذشت زمان پيچيدگي توسعه برنامههاي تحت وب گسترش يافت و تكنولوژيهايي همانند css، JavaScript و DHTML با آن تركيب شدند. View Source فرهنگ ظهور كتابخانهها و frameworkهاي توليد سورس آزاد را فراهم نمود. همين فرهنگ است كه امروزه ظهور و امكان ادامه حيات آن چيزي را كه تحت عنوان Ajax ميشناسيم فراهم ساخته است.
فرهنگ View Source
از ديدگاه كوتهبينانه تصميم اضافه كردن امكان مشاهده سورس صفحات، عملي بيارزش بود و فقط در حد امكاني براي رفع ايراد صفحات توليد شده كاربرد داشت كه نهايتاً مورد توجه گروههايي خاص قرار ميگرفت. تاكيد اين ديدگاه در اين بود كه هرگز نميتوان كاربران را براي خواندن و نوشتن اطلاعات در تگهاي مشكل HTML راضي نمود و اين عمل را تشبيه به نوشتن اطلاعات به صورت مستقيم در فايلهاي باينري Word تشبيه مينمودند.
اما اتفاق ديگري رخ داده بود. چيزي كه كاربران را به استفاده مستقيم از HTML وا ميداشت امكان مشاهده واقعي آن چيزي بود كه هنگام نمايش صفحات وب توليد ميشد و اين امر بدون بهرهگيري از امكان View Source ميسر نبود. كمكم كاربران به خواندن سورس كد توليد شده در نمايش صفحات وب عادت كرده و اين كار با مقايسه كد اوليهاي كه توليد شده بود كامل ميشد. با ظهور css و JavaScript خواندن كدهاي ديناميك صفحات نيز مرسوم گشت.
فرهنگ عمومي توليدكنندگان وب را آموزش با مثال تشكيل داده بود. هر زمان كه سايتي عملياتي نوآورانه انجام ميداد، ديگر توليدكنندگان با خواندن سورس كد آن و حتي با كپي مستقيم كد، از آن بهره ميجستند. به طوري كه اينگونه رفتارها به تدريج بسيار عادي تلقي شدند. به مرور با پيشرفت وب برنامهنويسان الگوهاي متعددي از طراحيهاي خوب و متنوع خود، مثالهاي مفيد كد جاوا اسكريپت و مانند آن را ارائه ميدادند.
بيشتر اين ابزار و امكانات رايگان و برخي نيز با ليسانس تجاري عرضه شدهبودند. البته همچنان جلوگيري از استفاده غيرقانوني از كد، جاوا اسكريپت و css كه در حافظه cache مرورگر ذخيره ميشوند ممكن نبود. به همين دليل يكي از مزاياي جاوا اپلت و فلش در زمان ارائه اوليه آنها كه مورد استقبال بسياري قرار گرفت، عدم وجود امكان View Source بود!
به علت آنكه هر مرورگر خاص، نوعي زبان جاوا اسكريپت و مدل شيگراي متفاوت از ساير مرورگرها استفاده ميكند، در هر پروژه براي استفاده از جاوا اسكريپت و css نياز به مهارتهاي كاملي در باره آن نوع از مرورگرها بود كه اين امر به پيچيدگي بسياري در امر توليد منتهي شد. اما دو رويداد شروع رويكردهاي جديدي در اين زمينه گشت: پيدايش گروههايي براي توليد تكنولوژياي يكسان كه هماكنون به نام آژاكس شناخته ميشود و همچنين پشتيباني دنياي سورس آزاد با ارائه frameworkهاي متنوع براي پشتيباني از اين تكنولوژي.
در فوريه سال 2005، جس جيمز گارت به پديدهاي اشاره كرد كه در آن از روشهاي استاندارد نمايش يعني HTML و css، مدل اشياي سند (DOM)، XMLHttpRequest و جاوا اسكريپت براي توليد رابطهاي كاربري قدرتمند تحت وب استفاده ميشد. وي اين تكنولوژي را آژاكس نام نهاد و طي فراخواني از همه طراحان وب خواست آن چيزي را كه به عنوان محدوديتهاي توليد تحت وب ميشناسند، فراموش و تصوري قويتر و گستردهتر از امكانات براي برنامههاي تحتوب تصور كنند.
درست در زماني كه چند سالي از ارائه ايدهها و راهحلهاي آژاكس گذشته بود، مايكروسافت امكان XMLHttpRequest را در IE 5 به كمك ActiveX ارائه داد. از آنجايي كه اين امكان كه remote scripting ناميده ميشد، فقط براي مرورگر IE در اختيار بود و در نتيجه استفاده گسترده پيدا نكرد و عمومي نشد. از آنجايي كه نياز به frameworkهايي استاندارد و قابل اجرا بر روي تمام مرورگرها بود، با استفاده از استانداردهاي جاوا اسكريپت و css برنامههاي اجرايي تحت آژاكس به ميدان آمدند.
علاوه بر اين دليل ديگري كه موجب رشد انفجار گونه آژاكس شد، اعلام ضرورت دنياي سورس آزاد براي پشتيباني از آژاكس و معرفي frameworkها و ابزار متنوع براي پشتيباني از آن بوده است. اين امر منجر به توليد و معرفي ابزار استاندارد Mozilla-based platforms در مقابل remote scripting مايكروسافت شده است. Frameworkهاي جديد جزئيات و پيچيدگيهاي كار را پنهان نموده و با ارائه يكسري api استاندارد قابليت استفاده از تمامي امكانات مورد نياز را به برنامهنويسان ميدهند.
مزيت ديگر پذيرش عمومي در بكارگيري اين ابزار؛ گسترش فرهنگ سورس آزاد در آن و پيدايش شخصيت قانوني و فلسفه همهگير در بگارگيري اين نوع معماري در لايه نمايش يك برنامه تحت وب است. در حقيقت اين موضوع در تقابل با فرهنگ گذشته view source پرداخته است درست در آنجايي كه در بحث ليسانس استفاده از كدهاي به دست آمده از view source مطرح ميشود. جايي كه اين سوال مطرح بود "آيا امكان استفاده از اين كد در برنامه وجود دارد؟!"
در اينجا فرهنگ سورس آزاد اجازه به اشتراكگذاري كد را با فراق خاطر و به صورت قانوني ميسر ميسازد. نه تنها سورس آزاد اجازه گسترش و استفاده عمومي از اطلاعات را فراهم ميكند بلكه حقوق قانوني استفادهكنندگان را نيز به رسميت ميشناسد. اين حقوق همچنين پشتيبان نوآوري است. انواع بهبود در كد توسط كاربران و برنامهنويسان به صورتهاي مختلف به انجمن برگشت خواهد نمود و نتيجه كار تمركز تجربه و همافزايي براي تمام كاربران خواهد بود.
در حالي كه دوران بلوغ حرفهايگري و به اشتراكگذاري قانوني در وب را طي ميكنيم، روزهاي آينده وب در تعامل ايدههاي باز و به اشتراكگذاري سورس كد رقم خواهد خورد. اين انقلاب تاكيدي بر رشد حرفهايگري در انجمنهاي آتي وب خواهد بود. در حالي كه انجمنهاي توليد در آژاكس با مشكلات رو به رشد و هر روزهاي مانند name spaces ، امنيت و دسترسپذيري مواجه هستند، دنياي سورس آزاد كه به پشتيباني از آژاكس برخواستهاست، راهكارهاي حل مشكلات را پيشگويي و ادامه راهي به نام انقلاب در توليد وب را بررسي مينمايد.