جاوااسکریپت (JavaScript) محبوبترین زبان برنامهنویسی Client Side مبتنی بر شیگرایی میباشد که به وسیله NetScape آمریکا در سال 1995 ارائه و باECMAScript استاندارد سازی شده است. نام انتخاب شده اولیه این زبان Mochaو سپس LiveScript بود که با پشتیبانی از جاوا در NetScape Navigator بهJavaScript تغییر پیدا کرد.
کدهای جاوااسکریپت در هنگام اجرا درون Html وب سایت قرار میگیرند و در مرورگر کاربر اجرا میشوند؛ این موضوع باعث شده است برخی کاربران برای افزایش سرعت لود سایتها، اجرای این اسکریپت را در مرورگر خود بلاک کنند.
کاربردها
Node.js
زبانهای برنامهنویسی به دو دسته Client Side و Server Side تقسیم میشوند. دسته اول ارتباطی با server ندارند و هیچگونه درخواستی از جانب آنها به server فرستاده نمیشود. کاربرد اصلی این زبانها برای گسترش و طراحی صفحات است و مانند جاوااسکریپت در مرورگر کاربر اجرا میشوند. از طرف دیگر دسته دوم، زبانهای server side با ارسال درخواست به server پردازش را به آن میسپارند و برای ارتباط با پایگاهداده و پویا کردن وب سایتها استفاده میشوند.
ویژگیهای جاوااسکریپت:
ادامه دارد....!
لازم به ذکر است که این نامگذاری مبتنی بر ارتباط جاوااسکریپت با جاوا نیست و شاید به گونهای انتخاب این نام ابزاری برای استفاده از محبوبیت جاوا و جذب مخاطب بیشتر برای جاوااسکریپت باشد. جاوا زبان پیشرفته Server Side ای است که به وسیله شرکت Sun Microsystem ارائه شده است؛ در حالیکه از جاوااسکریپت برای پردازش Client Side استفاده میشود. از جمله تفاوتهای دیگر این دو زبان میتوان به عدم کامپایل کدهای جاوااسکریپت بر خلاف جاوا اشاره کرد.
کدهای جاوااسکریپت در هنگام اجرا درون Html وب سایت قرار میگیرند و در مرورگر کاربر اجرا میشوند؛ این موضوع باعث شده است برخی کاربران برای افزایش سرعت لود سایتها، اجرای این اسکریپت را در مرورگر خود بلاک کنند.
جاوااسکریپت یکی از زبانهای Client Side scripting language است و در نتیجه امکان دسترسی به شیهای Html و تغییر آنها در سطح Client را دارد. همانند بیشتر زبانهای برنامهنویسی، ساختار اصلی این زبان نیز تا حدودی به C++ شباهت دارد. این زبان Prototype-based محسوب میشود و در آن شیها به عنوان مدل در نظر گرفته و به صورت وراثتی استفاده میشوند.
کاربردها
علاوه بر سادگی ساختار و امکانات بسیاری که این زبان برای برنامهنویسان ایجاد میکند، با ظهور Ajax کاربرد و ارزش جاوااسکریپت روز به روز بیشتر و توجه برنامهنویسان حرفهای به آن جلب شد. هر چند کاربرد اولیه این زبان برای صفحات وب بوده است اما امروزه در برنامههای موبایل هم جای خود را باز کرده است. سیستمعاملهای موبایل Android, IOS, BlackBerry و غیره، قابلیت اجرای برنامههای نوشته شده با جاوااسکریپت را دارند. همچنین از آن در طراحی بازیها و برنامهنویسی شبکه (Server Side(Node.js نیز استفاده میشود.
Node.js
زبانهای برنامهنویسی به دو دسته Client Side و Server Side تقسیم میشوند. دسته اول ارتباطی با server ندارند و هیچگونه درخواستی از جانب آنها به server فرستاده نمیشود. کاربرد اصلی این زبانها برای گسترش و طراحی صفحات است و مانند جاوااسکریپت در مرورگر کاربر اجرا میشوند. از طرف دیگر دسته دوم، زبانهای server side با ارسال درخواست به server پردازش را به آن میسپارند و برای ارتباط با پایگاهداده و پویا کردن وب سایتها استفاده میشوند.
همانطور که بیان شد جاوااسکریپت یک زبان Client Side است اما پلتفرم node.js با بهرهگیری از یک کتابخانه HTTP server بدون نیاز به نرمافزارهای جانبی به برقراری ارتباط با server میپردازد و از جاوااسکریپت به عنوان زبان پیادهسازی اسکریپتهای خود استفاده میکند. پیشرفتهای اخیر node.js باعث افزایش چشمگیر کاربرد آن به عنوان یک زبان Server Side به جای .Net و PHP شده است.
ویژگیهای جاوااسکریپت:
پس از Html و Css، جاوااسکریپت اصلیترین زبان مورد نیاز برای طراحی سایت است. بدیهی است با توجه به دامنه گسترده امکانات جاوااسکریپت و پشتیبانی تمامی مرورگرها از آن، امروزه علاوه بر استفاده از Html و Css یادگیری این زبان نیز برای هر طراح و برنامهنویس وب الزامی است. از جمله امکانات و ویژگیهای این زبان میتوان به نکات زیر اشاره کرد:
- امکان ویرایش کدها در هر نوع ویرایشگر متن بدون نیاز به نرمافزار خاص.
- پشتیبانی از بیشتر ساختارهای کنترلی مانند if, if-else, for, while, switch و غیره.
- حساسیت به حروف کوچک و بزرگ. (Case Sensitive)
- عدم نیاز به مشخص کردن تایپ متغیر در هنگام تعریف متغیر. (نوع هر متغیر با توجه به مقدار منتسب شده به آن در نظر گرفته میشود.)
- عدم نیاز به کامپایل و در نتیجه تغییر سریع خروجی به محض تغییر کد و Reload صفحه.
- انجام محاسبات ریاضی.
- دسترسی به مشخصههای هر قسمت از کد Html و حتی Cssهای آنها. (مانند تغییر در رنگ، فونت، اندازه متنها، ویژگیهای تصاویر و غیره)
- قابلیت تولید پویای کد Html در صورت نیاز.
- انیمیشنسازی و پویایی محتویات سایت.
- سادهسازی برخی از کدها نسبت به استفاده از Css. (مانند ایجاد منو، اسلایدر و غیره)
- کاهش بار ترافیک سرور به علت وجود امکان بررسی اطلاعات سیستمی کاربر بدون نیاز به یک زبان Server Side.
- کنترل مرورگر کاربر، تشخیص خصوصیات آن و نمایش مطالب سایت بر اساس اطلاعات به دست آمده.
- اعتبار سنجی نوع دادههای وارد شده به وسیله کاربر.
- تولید cookie مورد نیاز در سیستم کاربر و استفاده از آن.
- کنترل رویدادها و امکان تعریف کد در ازای اتفاق افتادن یک رویداد. (Event handle)
- ایجاد پیام و هشدار به کاربر بر مبنای دستور برنامهنویس.
ادامه دارد....!
http://academyit.net
آکادمی آی تی مرجع آموزش در زمینه های مختلف آی تی از جمله : آموزش طراحی سایت ،آموزش شبکه و ...
کانال رسمی آکادمی آی تی در تلگرام
https://telegram.me/joinchat/BjNmOzwQWxi32yY2mP7Q2w
http://academyit.net
آکادمی آی تی مرجع آموزش در زمینه های مختلف آی تی از جمله : آموزش طراحی سایت ،آموزش شبکه و ...
کانال رسمی آکادمی آی تی در تلگرام
https://telegram.me/joinchat/BjNmOzwQWxi32yY2mP7Q2w
http://academyit.net