تبلیغات
مفاهیم آموزشی كامپیوتر - اموزش جاوا (بخش دوم)
:: اموزش جاوا (بخش دوم)
شی گرایی و دینامیكی درمورد زبان JS
در درس قبل آموختیم زبان js با صفحات وب چه ارتباطی دارد و دانستیم كه برنامه های زبان js در میان TAG های زبان HTML قرار میگیرد . اما حال بهتر است چگونگی ارتباط js با صفحات وب را بررسی كنیم .
هر چیزی كه شما در صفحه وب می بینید (و گاهی بعضی چیزهایی كه نمی بینید ) و در تعریف كلی هر چیزی كه صفحه وب را تشكیل می دهد , مثل دكمه ها ( button ) , فرم ها , عكس ها و هزاران چیز دیگر در صفحه وب , شی نام دارند . این اشیاء راه ارتباط JS با صفحات وب هستند و در واقع وظیفه اصلی JS كنترل این اشیاست . خاصیت شی گرایی (object-oriented) در JS باعث شده كه بتواند با بیشتر اشیاء در صفحات وب ارتباط برقرار كند .
یك مثال ساده این مفهوم را آشكارتر می كند . اگر ما دنیای واقعی خود را در نظر بگیریم می توانیم میز ها , كتاب ها , سگ ها , گربه ها , انسان ها و همه و همه را شی بنامیم . در صفحات وب نیز شی به همین معناست البته با این تفاوت كه در صفحات وب بعضی از اشیاء قابل مشاهده نیستند . در صفحات وب هر شی دارای خصوصیات و مشخصه های خاص خودش است كه در زمان بررسی هر شی به ان اشاره خواهم كرد .
همانطور كه گفتم این اشیاء بسیار زیادند . برای راحتی استفاده از آنها , گروه ها و زیر دسته هایی در نظر می گیریم و این اشیاء را در این گروه ها طبقه بندی می كنیم .
زبان HTML به تنهایی نمی تواند با اعمالی كه كاربر در درون صفحه وب انجام می دهد ارتباط برقرار كند . و علاوه بر آن توانایی ایجاد جلوه های ویژه كه باعث جذابیت صفحه وب می شود را ندارد . و چون كاربر نمی تواند به وقایع (Event ) و اشیاء صفحه پاسخ دهد , حالتی كسل كننده برای او ایجاد می شود . زبان JS به خوبی این كمبود در صفحات وب را رفع می كند و به صفحات حالت فعال می دهد . در واقع JS این ویژگی را به وسیله خصلت شی گرایی اش كسب كرده است .
مثلا وقتی شما اطلاعات نادرست به یك فرم در صفحه وب می دهید , JS با پیغامی می تواند به شما اطلاع دهد . به صورت ساده تر می توان گفت JS نوعی امكان انتخاب به كاربر و امكان پاسخ مناسب از طرف خود را می دهد .
با یك مثال ساده تر , مفهوم آشكار تری را در اختیار شما قرار می دهم . شما دوربین عكاسی را در نظر بگیرید كه بدون توجه به نور اطراف خود عكس برداری می كند . این دوربین را می توان مانند حالت غیر فعالی HTML در نظر گرفت . در سوی دیگر دوربینی را در نظر بگیرید كه بنا به نور اطراف خود , شفافیت عكس را تنظیم میكند . این دوربین را میتوان مانند JS در نظر گرفت كه با محیط اطراف خود ارتباط برقرار می كند وتصمیمات لازم را می گیرد و اعمال لازم را انجام می دهد ( البته بر اساس خواست برنامه نویس ) .
حال با مثالی در خود JS بحث را تكمیل می كنم . فرض كنید شما وارد صفحه وبی شده اید . بنا به برنامه ای كه برنامه نویس نوشته است ابتدا پیغامی مبنی بر اینكه (( آیا شما از رنگ صفحه خوشتان می آید ؟ )) توسط JS صادر می شود . در صورت انتخاب جواب مثبت , رنگ صفحه تغییر نمی كند ولی در صورت منفی بودن پاسخ بنا به انتخاب خود شما یا برنامه نویس رنگ صفحه تغییر می كند .
متاسفانه توسط برنامه نویسان مختلف تعاریف اشتباهی درباره مفهوم دینامیك بودن در زبان های برنامه نویسی ارائه می شود . بسیاری به اشتباه , به هر زبانی كه شی گرا باشد دینامیك می گویند.
من ابتدا نحوه اجرای JS را مورد بررسی قرار میدهم تا به نتیجه نهایی برسیم .
دو مفهوم Client side languages و Server side languages به ما كمك فراوانی می كنند .
در اصطلاح به كامپیوتر كاربر یا بیننده صفحه , مشتری ( Client ) و به كامپیوتری كه به كامپیوتر های دیگر جهت مشاهده صفحات وب سرویس می دهد , سرویس دهنده یا میزبان (Server ) می گوییم. برنامه ها و فایل های موجود در كامپیوتر میزبان , به 2 صورت می توانند برای كامپیوتر های مشتری مورد استفاده قرار گیرند . در حالت اول , فایل ها دقیقا به كامپیوتر مشتری انتقال یافته و آنجا ترجمه و اجرا می شوند . در این حالت درخواستی به میزبان فرستاده شده و میزبان این درخواست را پردازش می كند . سپس فایل درخواستی را بدون انجام هیچگونه عملیاتی به مشتری می فرستد . پس از انتقال فایل , مشتری فایل را دریافت میكند . فایل توسط مرورگر ترجمه و اجرا می شود . زبان هایی چون JS و HTML و CSS به این صورت عمل می كنند . زبان هایی كه به این صورت اجرا می شوند را Client side languages ( زبان های طرف مشتری ) می گویند .این زبان ها غیر دینامیكی هستند زیرا سرویس دهنده هیچ نقشی در اجرای آنها ندارد .
در حالت دوم ابتدا فایل توسط مترجمی كه در كامپیوتر میزبان تعبیه شده , در خود میزبان ترجمه می شود و سپس نتایج این پردازش به مشتری ارائه می شود . مرورگرهایی كه در كامپیوتر مشتری قرار دارند , نمی توانند برنامه های نوشته شده توسط اینگونه زبان ها را خودشان ترجمه و ا جرا كنند , بلكه نیاز به نقش اساسی میزبان در ترجمه آن دارند . اینگونه زبان ها را Server side languages یا زبان های طرف میزبان می نامند . این زبان ها به دلیل نقش داشتن میزبان در فرایند ترجمه و در نتیجه امكان تغییر یا استفاده فعال از منابع میزبان , حالت دینامیكی دارند . مهمترین این زبان ها ASP , CGI و PHP هستند .
با استفاده از مفاهیم بالا به راحتی میتوان نتیجه گرفت JS زبانی دینامیكی نیست و فرایند های مربوط به آن روی كامپیوتر مشتری صورت می گیرد .
در بخش بعدی چگونگی برنامه نویسی با JS و چند برنامه ساده را شرح خواهیم داد.
:: نوع مطلب : اموزش جاوا اسکریپت ,

:: نوشته شده توسط : حسینی در دوشنبه 28 شهریور 1384 و ساعت 05:09 ق.ظ

:: ویرایش شده در دوشنبه 29 اسفند 1384 و ساعت 06:03 ق.ظ

لینك ثابت   نظرات ( )

:: مطالب پیشین