بخش دوم

قدرت در سمت کاربر

در برنامه‌نویسی تحت وب به چند دسته از فناوری‌های برنامه‌سازی برای خلق یک نرم‌افزار کامل تحت وب نیاز است. دو مورد از آن را که پیش از این مطالعه کردیم یکی HTML برای نمایش قالب اصلی اطلاعات و زبانی به عنوان پایه برنامه‌سازی در وب است و دیگر XML به عنوان یک فناوری کارا برای توصیف داده‌ها.
کد خبر: ۲۱۲۳۰۷

برخلاف XML و HTML که زبان‌های نشانه‌گذاری و توصیفی بودند و زبان برنامه‌نویسی نیستند، زبان‌هایی هستند که برای برنامه‌نویسی تحت وب طراحی شده‌اند و تمام یا اکثر خصوصیات یک زبان برنامه‌نویسی را دارند.

می‌دانیم که در وب و دنیای اینترنت سیستم‌ها به 2 دسته کلی تقسیم می‌شوند؛ سرویس‌دهنده‌ها و سرویس‌گیرنده‌ها (کاربران)‌. سرویس‌دهنده‌ها، سیستم‌هایی هستند که سایت‌ها و داده‌های مربوط در آنها قرار می‌گیرند و کاربران می‌توانند با اتصال به سرویس‌دهنده‌ها، داده یا مطلب مورد نظر خود را از آن درخواست کرده و تحویل بگیرند.

به طور کلی هر عملی که بخواهد در دنیای رایانه انجام شود باید به وسیله یک سیستم پردازش شود. در دنیای وب این پردازش‌ها به 2 بخش تقسیم می‌شوند. بخشی از اینها به عهده رایانه سرویس‌دهنده و بخشی دیگر به عهده سیستمی است که کاربران با آن به سرویس‌دهنده متصل می‌شوند. به برنامه‌ای که در سرویس‌دهنده اجرا می‌شود Server Side و برنامه‌ای که در رایانه کاربر اجرا می‌شود Client Side  می‌گوییم.

علت تقسیم پردازش‌ها

دو دلیل عمده وجود دارد که بنا به آنها باید پردازش‌ها به دو قسمت سرویس‌دهنده و سرویس‌گیرنده تقسیم شوند. هنگامی که کاربری به سرویس‌دهنده متصل شده و درخواستی به آن ارسال می‌کند، سرویس‌دهنده درخواست آن را پردازش کرده و برمبنای آن یک سندHTML  یا یک فایل دیگر برای او ارسال می‌کند. برای انجام این پردازش باید برنامه‌ای نوشته شود که با درخواست کاربران در سرویس‌دهنده اجرا شود، اما به دلیل آن‌که ممکن است در یک زمان عده زیادی به یک سرویس دهنده متصل شوند و درخواست‌های زیادی از آن داشته باشند، بار پردازشی سرویس‌دهنده افزایش خواهد یافت؛ بنابراین برنامه‌نویس با توجه به امکانات می‌تواند بخشی از این پردازش را به رایانه کاربران منتقل کند که این کار با برنامه‌نویسی سمت کاربر
‌ (Client side) انجام می‌شود. به این ترتیب کاری را که سرویس‌دهنده باید برای مثلا 1000 کاربر به تنهایی انجام می‌داد، به خود آنها محول کرده است.

این کار تاثیر چندانی در کار هر یک از کاربران نخواهد داشت. اما بار بسیار زیادی را از دوش سرویس‌دهنده برخواهد داشت.

دلیل دیگر لزوم نوشتن برنامه‌های سمت کاربر، آن است که برخی کارها، ماهیتی دارند که حتما باید در رایانه کاربر انجام شوند و عملا پردازش آنها در سرویس‌‌دهنده ممکن نیست. مثلا برای این‌که رنگ صفحه نمایش باحرکت ماوس تغییر کند، باید پردازشی در رایانه کاربر انجام شود تا این کار را برایش انجام دهد و پردازش این کار در سرویس‌دهنده اثری در پی نخواهد داشت.

بنابراین دو دسته از زبان‌ها برای برنامه‌نویسی سمت سرویس دهنده و سمت کاربر مطرح می‌شوند.

Jawa script

محبوب‌ترین و پرکاربردترین زبان سمت کاربر، جاوا اسکریپت است که توانایی‌های بسیاری در برنامه‌های تحت وب دارد. این زبان، اسکریپتی و مفسری است و مفسر آن در واقع همین مرورگرهای وب هستند که از این زبان پشتیبانی می‌کنند.

جاوا اسکریپت به دلیل شباهت اسمی با زبان جاوا، گاهی با آن اشتباه گرفته می‌شود. برخی نیز این‌گونه می‌پندارند که کدهای جاوای قابل استفاده در صفحات وب را جاوا اسکریپت می‌گویند. این تصور کاملا اشتباه است. این دو زبان در واقع دو زبان کاملا متفاوت هستند که از سوی دو شرکت مستقل ارائه شده‌اند و تنها شباهت اسمی دارند.

البته گرامر و کدهای زبان جاوااسکریپت شباهت زیادی به زبان جاوا و C++ دارد. شاید این یکی از دلایلی باشد که افراد فکر می‌کنند این دو زبان از یک خانواده‌اند، در واقع زبان جاوا از سوی شرکت SUN microsystem عرضه شده است و جاوا اسکریپت که قبلا بهmocha و  livescript نیز معروف بوده است توسط شرکت netscape communications ارائه شده است.

با استفاده از جاوا اسکریپت هم می‌توان به صورت ساخت یافته و
هم شیء‌گرا برنامه نوشت. زمانی که netscape مرورگر وب خود را برای پشتیبانی از جاوا آماده می‌کرد، نام جاوا اسکریپت را به جایLive script  انتخاب کرد که البته همین باعث سردرگمی افراد شد.

افرادی نیزJscript  را مخفف java script می‌پندارند که البته این تصور پیامدی در بر نخواهد داشت. اما در واقع Jscript زبانی سازگار با جاوا اسکریپت است که توسط شرکت مایکروسافت ارائه شده است. اما این دو بسیار شبیه به هم بوده و کاملا با هم سازگارند و گاهی تفاوتی بین آنها احساس نمی‌شود.

توانایی‌ها و قابلیت‌ها

با گسترش اینترنت این نیاز احساس شد که HTML قدرت کافی نداشته و امکانات زیادی در اختیار طراحان وب قرار نمی‌دهد. این شد که از توانایی‌های زبانی چون جاوا اسکریپت استفاده شد. این زبان یک زبان ساده است که می‌تواند مستقیما در کدهای HTML قرار گیرد و همراه آن توسط مرورگرها تفسیر شود. به عبارتی کاربر مجبور نخواهد بود برای مشاهده صفحه‌های وب شامل جاوا اسکریپت،‌ برنامه‌ای نصب کند یا از فایل جداگانه‌ای استفاده کند.

تاکنون استانداردهای بسیاری به وجود آمده‌اند که ممکن است در بسیاری از جنبه‌ها از جاوا اسکریپت کارآمدتر باشند. اما این زبان همچنان یکی از محبوب‌‌ترین زبان‌ها و ابزارهای تحت وب است. یکی از بزرگ‌ترین مزیت‌های این زبان آن است که می‌تواند جلوه‌های تصویری و چند رسانه‌ای را با استفاده از کد به صفحات وب ببخشد و برای این کار به هیچ نوع نرم‌افزار جانبی دیگر نیاز ندارد. اما مثلا برای استفاده از جلوه‌های Flash، real، QuickTime و... باید نرم‌افزاری تحت عنوان پلاگین (Plug in) به مرورگر خود اضافه کنید. ضمن این که به دلیل گستردگی کاربرد و محبوبیت این زبان مرورگرهای مختلف پشتیبانی خود را از این زبان بهبود بخشیده و در نگارش جدید محصولات خود، امنیت مرورگرهای خود را در برابر حملات نفوذگرها از طریق این زبان، افزایش می‌دهند.

جاوا اسکریپت توانایی‌های بسیار زیاد و قابلیت‌های فراوانی دارد، اما در میان طراحان آماتور وب از این زبان تنها برای جذاب‌تر کردن ظاهر سایت و بهبود امکانات مربوط به واسط کاربر استفاده می‌شود، اما کاربران حرفه‌ای‌تر علاوه بر این امکانات ترجیح می‌دهند که بخشی از وظایف سرویس‌دهنده را با استفاده از این زبان به رایانه کاربر منتقل کنند تا به این ترتیب سرعت پاسخگویی صفحات وب خود را افزایش دهند.

برخی از امکانات و قطعه کدهای پرکاربرد در سایت‌های مختلف به صورت آماده وجود دارند که افراد می‌توانند بدون دانش برنامه‌نویسی از آنها استفاده کنند و بر قابلیت‌های سایت یا بلاگ خود بیفزایند. برخی نیز با اعمال تغییر کوچکی قابل به‌کارگیری هستند، اما توجه کنید که از میان کدها و امکانات موجود در سایت‌ها، تنها آنهایی را که نیاز دارید، استفاده کنید و هر آنچه را که جذاب بود نباید در سایت خود قرار دهید. این کار چند اثر در پی خواهد داشت. یکی آن که حجم کدهای متصل به سند وب شما افزایش یافته و ممکن است باعث کند شدن عملکرد سایت شما شده و به این ترتیب از محبوبیت آن کاسته شود. ضمن این که برخی کدها باعث بروز ناامنی در سایت شما می‌شوند که باید آگاهی لازم در انتخاب آنها را کسب کنید. همچنین ممکن است به‌کارگیری ناصحیح دو قطعه کد بدون آگاهی، موجب ناسازگاری و بروز مشکل منطقی در نحوه کار سایت شما شود. بنابراین در این زمینه باید آگاهی لازم را کسب کرده و دقت کافی به خرج داد.

شاید این گونه تصور شود که چون این زبان یک زبان اسکریپتی است، امکانات واقعی یک زبان برنامه‌نویسی را نداشته و کم‌قابلیت است، اما باید بدانیم که این زبان علاوه بر توانایی‌هایی که امروزه به دفعات از آن استفاده می‌شوند، قابلیت‌هایی نیز دارد که از دید بسیاری از برنامه‌نویسان حتی افراد حرفه‌ای پنهان مانده است و انعطاف‌پذیری زیاد آن، باعث شده است که به یک زبان فوق‌العاده تبدیل شود.

newsQrCode
ارسال نظرات در انتظار بررسی: ۰ انتشار یافته: ۰

نیازمندی ها