با اسکریپت ها چه کاری می توان انجام داد. جاوا اسکریپت چیست؟ نمونه های جاوا اسکریپت

TL;DR این یک مقاله مروری است. چنین "خلاصه ای از سری قبل". برای مبتدیان یا کسانی که اخیراً این صنعت را دنبال نکرده اند مفید خواهد بود. برای مبتدیان، این اولین قدم به "جهان جاوا اسکریپت" خواهد بود، افراد با تجربه می توانند دانش خود را تازه کنند.
جاوا اسکریپت سرنوشت بسیار شگفت انگیزی دارد. او از اشتباه ترین زبان به شگفت انگیزترین زبان رسید. او دوران کودکی سختی داشت:
در ابتدا، نویسنده می خواست یک زبان کاربردی بنویسد. اما مدیران می خواستند شی گرا "معمولی" داشته باشند. و برای سهولت یافتن توسعه دهندگان برای زبان تازه ساخته شده، آنها تصمیم گرفتند که نحو را شبیه به جاوا کنند و حتی نام را شبیه به آن کردند.
اما داستان به همین جا ختم نمی شود. جاوا، جاوا اسکریپت است علائم تجاریسان (و اکنون اوراکل). مایکروسافت نمی توانست از نام جاوا اسکریپت استفاده کند (Netcape و Sun در برابر مایکروسافت دوستان بودند). در نتیجه، مایکروسافت تصمیم گرفت جاوا اسکریپت را مهندسی معکوس کند و آن را JScript نامید. آنها مهندسی معکوس را انجام دادند و آنقدر خوب این کار را انجام دادند که حتی تمام اشکالات پیاده سازی را از بین بردند. بعداً تصمیم گرفتند استانداردی بسازند و آن را ECMAScript نامیدند.

قسمت های بد

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

یک زبان برنامه نویسی با تایپ ضعیف، با خطاهای پیاده سازی، با میراث سنگین، با ویژگی های یک زبان کاربردی، تنها یک احساس را برمی انگیزد - . لیست "مروارید" به طور مداوم به روز می شود.

برای اینکه هنگام کار با جاوا اسکریپت دیوانه نشوید، باید بدانید که تایپ ضعیف چگونه کار می کند، دامنه متغیر چگونه کار می کند (متغیرهای جهانی بد هستند)، این، نمونه اولیه و سازنده ها چگونه کار می کنند. همچنین jshint به جلوگیری از "قطعات بد" زبان کمک می کند.

این داستان با جزئیات بیشتر در سخنرانی دومداگلاس کراکفورد بهتر است نگاه کنید همه 8 قسمت. زیرنویس هست ;).

چیزهای اساسی برای درک (به دلیل ماهیت کاربردی/ناهمزمان زبان) عبارتند از: یک جریان کنترل چیست و چگونه هنگام کار با یک زبان ناهمزمان کمک می کند و چگونه رسیدگی به خطا کار می کند (امتحان/گرفتن همیشه کمک نمی کند. ).

همه می توانند خودشان این نتیجه را بگیرند، اما من آن را با صدای بلند می گویم و می نویسم: اکنون می توانید یک برنامه وب را از ابتدا تا انتها توسعه دهید، با دانستن فقطجاوا اسکریپت (html و css به حساب نمی آیند).

یک قاشق قیر

  • NodeJS هنوز به نسخه 1 نرسیده است، هنوز تعدادی مشکل باز وجود دارد. یعنی نحوه نوشتن چت در NodeJS واضح است اما پروژه های بزرگ و پیچیده چطور؟ ..
  • هیچ آموزش معمولی وجود ندارد، زیرا فناوری به طور فعال در حال توسعه است و آنها به سرعت قدیمی می شوند.
  • توسعه ماژول ها به صورت خود به خود اتفاق می افتد. بسیاری از ماژول ها رها شده اند. شما به Github بروید و ببینید آخرین commit حدود یک سال پیش بود.
  • هیچ چارچوب "بزرگسال" وجود ندارد. پروژه های امیدوار کننده "جوان" وجود دارد. اما هیچ چارچوب سطح ریلی وجود ندارد.

    انحراف غزلی

به احتمال زیاد اینها "آکنه های نوجوانی" هستند که در نهایت برطرف می شوند. اما در حال حاضر، هنوز هم مرتبط است.

علاوه بر این

توسعه Frontend

سرانجام، توسعه front-end از عصر حجر خارج شد، زمانی که همه چیز با دست انجام می شد. ابزارهایی برای (ابزاری که به طور خاص با js برای این منظور نوشته شده است) و یک مدیر بسته (می دانم که این اولین مدیر نیست، اما امیدواریم همه از آن استفاده کنند) وجود دارد. همه اینها در یک پشته در پروژه جمع آوری شده است. اگر در مورد yeoman صحبت می کنیم، نمی توان به موارد زیر اشاره کرد: html5-boilerplate و

اما کاری که Meteor می تواند انجام دهد، هیچ فناوری دیگری نمی تواند ارائه دهد: استفاده مجدد کامل از کد از سرور به مشتری (یا برعکس)، و یک سبد کوچک جادویی (پیوند داده، بارگذاری مجدد مشتری...).
تنها مزیت آن عیب آن نیز می باشد. کد سرویس گیرنده و سرور ناپیوسته نیستند. Meteor برای مواردی که مشتری با استفاده از فناوری متفاوتی ساخته شده است چندان مناسب نیست. به عنوان مثال، یک کلاینت بومی موبایل یا دسکتاپ.
به هر حال، در نزدیکترین رقیب دربی شهاب، این موضوع را حل می کنیم. از آنجایی که آنها از Express و جادوی بسیار کمتری استفاده می کنند، می توانید یک REST API را به آن وصل کنید.
اگر فکرش را بکنید، این اولین تلاش برای دور شدن از رویکرد کلاسیک مشتری-شمال نیست. قبل از آن، به عنوان مثال، GWT وجود داشت. اما تمام تلاش های قبلی کمتر تماشایی بود و جاوا اسکریپت نبود.

سیار

JS نه تنها به مرورگرهای موبایل راه پیدا کرد و از فلش جان سالم به در برد، بلکه ادعا می کند که محل برنامه های بومی است. این به لطف امکان پذیر شد

منبع Creative Bloq مطلبی را منتشر کرد که در آن نویسندگان آن بهترین نمونه ها را با خوانندگان به اشتراک گذاشتند. استفاده از جاوا اسکریپتبرای ایجاد وب سایت ها CPU 30 منبع جالب را انتخاب کرد.

1. نمونه کارها توسط Mike Kus

ویراستاران Creative Bloq می نویسند که مجموعه مایک کوس، طراح وب، به شیوه ای تمیز و کم بیان انجام می شود. این تصاویر بزرگ را با عناصر رابط کاربری ساده ترکیب می کند.

من به کارم به عنوان یک برند فکر می کنم. نیازی به اضافه کردن عناصر طراحی اضافی به سایت من نیست.» Kus می گوید.

پیمایش نمونه کارها Kus در همه انواع صفحه نمایش به همان اندازه آسان است - او خاطرنشان می کند که دستیابی به این اثر دشوارترین بود. هر یک از پروژه های طراح با یک تصویر یا عکس ارائه می شود تا کاربر بخواهد در مورد کار بیشتر بداند.

2. سلام دوشنبه

نویسندگان مقاله خاطرنشان می کنند که سایت آژانس خلاق Hello Monday دستخوش تغییرات قابل توجهی شده است. توسعه دهندگان این شرکت کار بزرگی انجام داده اند. آنها موفق شدند رابط کاربری را کاربر پسند کنند.

وب سایت قدیمی آژانس سلام دوشنبه

اکنون این سایت حاوی نمونه‌هایی از سفارش‌هایی است که قبلاً توسط آژانس انجام شده است - هر پروژه صفحه مخصوص به خود را دارد که تاریخچه آن را توصیف می‌کند و به کاربر درک عمیق‌تری از آنچه Hello Monday انجام می‌دهد می‌دهد.

وب سایت به روز شده سلام دوشنبه

کتی هرتل، رئیس پروژه طراحی مجدد صفحه وب Hello Monday می گوید: «ما در تلاش بودیم از این کلیشه دور شویم که یک وب سایت آژانس خلاق چگونه باید باشد. نویسندگان مطالب سایت را بسیار جذاب و پاسخگو می دانند که با سازماندهی پروژه ها در صفحه اصلی تسهیل می شود: هنگام اسکرول کردن به پایین به طور خودکار با کارهای جدید آژانس تکمیل می شود.

3. مولتیور

مولتیور یک بازی چندنفره آنلاین است که در جاوا اسکریپت با استفاده از عنصر بوم HTML5 نوشته شده است. طراحی آن توسط Arjen de Vries و Philidor Weise انجام شده و توسط Arthur van Hoog طراحی شده است. وظیفه اصلی کاربر در بازی کنترل سقوط شهاب‌سنگ‌ها و گرفتن امتیاز برای تخریب آنهاست.

این بازی از سرور Node.js برای مدیریت ارتباط بین دسکتاپ و دستگاه های تلفن همراهبا با استفاده از وبپریز برق.

وایز تاکید می کند که توسعه مولتیور از کتابخانه های بازی موجود استفاده نکرده است:

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

4 جدول زمانی جنایت

Crime Timelime یک جمع‌آوری کننده است که داده‌های جرم و جنایت را در بریتانیا با استفاده از APIهای عمومی جمع‌آوری می‌کند. این به کاربران اجازه می دهد تا از وضعیت موجود در منطقه خود مطلع شوند.

الکس میلر، توسعه‌دهنده پروژه، می‌گوید: «ما سایت را به گونه‌ای سازماندهی کردیم که نقشه منطقه و صحنه‌های جرم را برای ماه انتخاب شده توسط کاربر در پانل زیر نشان دهد.

این منبع از API استفاده می کند نقشه های گوگلبرای ایجاد پنل ماه از jQuery و jQRangeSlider استفاده شد. هنگامی که کاربر با نقشه تعامل می کند، مانند کلیک بر روی یک مکان خاص روی نقشه، سایت تصویر را با استفاده از جاوا اسکریپت به روز می کند. "حباب" نشان دهنده تعداد جنایات با ایجاد شد با استفاده از CSSو با jQuery متحرک شده است.

وب سایت Here is Today از جاوا اسکریپت برای ایجاد انیمیشن استفاده می کند. خالق منبع، طراح لوک توایمن، ایده خود را اینگونه توضیح می دهد: «من می خواستم چیزی بسازم که به همه حسی از مقیاس زمانی بدهد. اینجا است امروز کمک می کند تا بفهمیم تاریخ جهان چقدر گسترده است.»

Twyman اشاره می کند که او از همان ابتدا تصمیم گرفت که اندازه گیری استاندارد - پیکسل ها را کنار بگذارد و اندازه خود را بر اساس ابعاد صفحه نمایش توصیف کرد. این کار برای اینکه سایت در همه دستگاه ها یکسان به نظر برسد انجام شد.

این دومین پروژه جاوا اسکریپت است که توسط طراح ایجاد شده است و او عناصری را در آن اعمال کرده است که در مورد قبلی از آنها استفاده نکرده است. با این حال، Twyman شباهت های زیادی در زبان با سایر زبان های برنامه نویسی سطح بالا پیدا می کند، علاوه بر این، به گفته او، جاوا اسکریپت دارای مستندات کاملاً دقیق است و تعداد زیادی از نمونه ها در اینترنت (از جمله در فرم های موضوعی) مرتب شده اند.

6. توییت مپ

توییت مپ کشورها را بر روی نقشه به نسبت تعداد توییت های ارسال شده از آنها نشان می دهد. توسعه‌دهنده این سرویس، راب هاکس، چندین فناوری مورد استفاده برای ایجاد آن را فهرست می‌کند: TopoJSON، D3.js، Node.js، PhantomJS، و الگوریتم‌های ویژه برای ساختن کارتوگرام‌های مجاور در زمان واقعی.

ما Node.js را انتخاب کردیم زیرا قبلاً تجربه استفاده از آن را داشتیم و به دلیل ساده، سریع و انعطاف پذیر بودن آن. برای متحرک سازی نقشه (در قالب TopoJSON)، از D3، یک کتابخانه تجسم داده فوق العاده استفاده می کنیم. به طور خاص، ما به طور گسترده از ماژول جغرافیایی استفاده می کنیم که به ما امکان می دهد محاسبات و تبدیل های جغرافیایی پیچیده را انجام دهیم.

برای جلوگیری از مشکلات ارائه نقشه ها در مرورگر مشتری، سیستم با استفاده از D3 نقشه ها را روی سرور ایجاد می کند، آنها را با استفاده از موتور PhantomJS راه اندازی و ارائه می کند و تنها پس از آن آنها را به کاربر منتقل می کند - این به شما امکان می دهد از ایجاد "حفره ها" جلوگیری کنید. هنگام نمایش نقشه ها

7. سفر

The Trip یک فیلم تعاملی است که با جاوا اسکریپت و HTML5 (بدون فلش) ساخته شده است. Otto Nascarella، خالق این پروژه، معتقد است که کار توسعه چنین سرویسی بسیار دشوار است:

بیشتر مشکلاتی که با آن مواجه شدیم به این دلیل بود که HTML5 در زمان نوشتن سایت ابزاری برای توسعه مرورگرهای متقابل نداشت. سپس تصمیم گرفتیم که به مشتریان توصیه کنیم از Chrome استفاده کنند.

کد سایت جاوا اسکریپت تقریباً برای همه چیز از جی کوئری استفاده می کند. توسعه دهندگان همچنین از TextBlur و TextDrop برای محو کردن و متحرک سازی متن استفاده کردند.

8. SiDigital

این صفحه نوشته شده با جاوا اسکریپت، نمونه کارها و وبلاگ جدید آژانس طراحی و بازاریابی Si Digital است. رهبر پروژه، الکس کروک، انیمیشن را در صفحه اصلی به این صورت توضیح می دهد: "سیال در حال حرکت در لوله ها کاربران را از طریق نمونه کار ما راهنمایی می کند - انیمیشن های تصویر را در هر مرحله از کاوش مشتری در سایت فعال می کند."

برای موفقیت اثر مشابهکروک از متد ()jQuery.animate استفاده کرد. علاوه بر این، او می‌افزاید، لازم بود سرعت مناسبی برای پر کردن لوله‌ها با مایع انتخاب شود - بالاخره همه با سرعت‌های مختلف می‌خوانند.

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

9. وب سایت Jean Halfstein

ژان هالفستاین یک طراح وب است. در کارنامه او، نویسندگان مقاله بیشتر از همه جذب شدند صفحه اصلی- و انیمیشن روی آن. "من واقعاً اوقات خوبی را سپری کردم که با جلوه های مختلف دست و پنجه نرم می کردم. من واقعاً عاشق استفاده از فن‌آوری‌های جدید هستم، بنابراین تصمیم گرفتم صفحه اصلی سایت خود را به نوعی جعبه شنی تبدیل کنم - جایی که با Three.js و عنصر بوم HTML5 سرگرم می‌شوم.

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

10. نمونه کارها از نیک جونز

در حین توسعه سایت، جونز گفت که تجربه بیشتری با فلش نسبت به جاوا اسکریپت دارد، اما می‌خواست چیز جدیدی را امتحان کند تا ببیند چه کاری می‌تواند انجام دهد. جونز فرآیند کدنویسی را توضیح می‌دهد: «من فوراً متوجه شدم که نحو جاوا اسکریپت تقریباً همان نحو اکشن اسکریپت است - بنابراین به سرعت آن را به دست آوردم.

جونز به یاد می آورد که فلش به او امکان دسترسی به کار با حرکات ماوس را نداد - این یک تجربه جدید بود که او واقعاً آن را دوست داشت. توسعه دهنده می خواست به یک پاسخگویی سایت دست یابد که با استفاده از انتقال کلاس CSS نمی توانست به آن دست یابد. جونز از نتیجه راضی است:

اگر قصد تغییر از ActionScript به JavaScript را دارید، دریغ نکنید. در حین ساختن سایتم، می خواستم بفهمم که آیا جاوا اسکریپت قادر به انجام آن چیزی است که Flash می تواند انجام دهد. و من خیلی تحت تاثیر قرار گرفتم.

11. MapsTD

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

خالق پروژه دانکن بارکلی توضیح می دهد که چگونه کار می کند: «ما از Google Maps API، MooTools و JavaScript استفاده کردیم. سخت ترین قسمت پیدا کردن مسیری است که دشمنان کاربر دنبال خواهند کرد. هنگامی که بازیکن نقطه شروع را انتخاب کرد، سرویس طول و عرض جغرافیایی را جستجو می کند و محاسبه می کند راه های ممکنبا کمک گوگل

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

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

12. کاتالوگ های Glimpse

منبع Glimpse به طور مشترک توسعه یافته است تیم ویندوزپروژه IE و TheFind، و ترکیبی از موتور جستجوی TheFind و همان برنامه خرید فیس بوک توسعه دهندگان است. به عنوان بخشی از Glimpse، برنامه نویسان چارچوب خود را بر اساس Turn.js منتشر کرده اند.

هدف تیم از همان ابتدا این بود که Glimpse را به یک برنامه تحت وب تبدیل کند، نه یک وب سایت معمولی. توسعه دهندگان از پارادایم مدل-نما-رفتار استفاده کردند که مدل داده را به سه جزء مجزا جدا می کند. رابط کاربریو تعامل با مشتری بسته به این، این سرویس از الگوهای ارائه مدل سمت سرویس گیرنده Thrift یا JSON استفاده می کند قدرت پردازشمشتری.

کتابخانه Turn.js نیز در توسعه کاتالوگ ها استفاده شد. با CSS و مدل های جاوا اسکریپت، ارائه شده در سایت، حجم داده می شود - به دلیل اعمال سایه ها بر روی تصویر.

13. رادیو آکادمی موسیقی ردبول

RBMA Radio از ابزار Modernizr استفاده می کند که توسعه HTML5 و CSS بین مرورگرها را امکان پذیر می کند. Modernizr به طور مداوم به روز می شود، بنابراین سازندگان سایت می توانند کد را با معرفی ویژگی های جدید بهبود بخشند.

علاوه بر این، هنگام اجرای سرویس، از کتابخانه Backbone.js استفاده شد - با کمک آن، کاشی ها برای ایجاد جلوه یک صفحه بی پایان بارگذاری می شوند.

14 Nouvelle Vague

Nouvelle Vague یک وب سایت از آژانس طراحی فرانسوی Ultranoir است. این سرویس به شما این امکان را می‌دهد که توییت‌ها را برای یک هشتگ مشخص «ردیابی» کنید. با JavaScript، WebGL و HTML5 پیاده سازی شده است. با این حال، HTML5 تنها در هنگام باز کردن منبع مسئول تیزر است.

یکی از توسعه دهندگان آژانس گفت که ساخت سایت چهار ماه طول کشید و سه نفر روی آن کار کردند. او توضیح می دهد: «ما بسیار علاقه مند بودیم که WebGL را امتحان کنیم.

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

15. همگرایی

The Convergence یک بازی مرورگر با گرافیک رترو است که یادآور Super Mario Bros است. این قدرت شگفت انگیز جاوا اسکریپت و HTML5 را به نمایش می گذارد و ثابت می کند که HTML5 می تواند کار را به خوبی فلش انجام دهد.

سازندگان قول داده اند در آینده سطوح صوتی و جدیدی را به بازی اضافه کنند و همچنین از API Mozilla Gamepad پشتیبانی کنند.

16. Kindle Cloud Reader

این برنامه وب کلمات "یک بار خرید، در همه دستگاه ها را بخوانید" را به واقعیت تبدیل می کند. از فناوری های HTML5، JavaScript API، کتابخانه های جی کوئریو jQuery UI و چندین پلاگین jQuery، از جمله jScrollPane برای پیمایش صفحه و jQuery Templates. علاوه بر این، تیم توسعه از WebSQL برای پشتیبانی آفلاین استفاده کرده است.

17. Les Enfants Terrible

سایتی که توسط استودیو WeFail راه اندازی شده است، به گفته نویسندگان یادداشت، ترسناک به نظر می رسد، اما هنوز هم بسیار جالب است. منبع به سبک نسبتاً تیز ساخته شده است. جاوا اسکریپت برای متحرک سازی تعامل بین کاربر و سیستم استفاده می شود. برای اینکه پیمایش فقط برای عناصر جداگانه رابط انجام شود، از دستور استفاده می شود پلاگین جی کوئری ScrollTo. برای اینکه ویدیو نه در پنجره های پاپ آپ، بلکه مستقیماً در سایت ظاهر شود، از کتابخانه Shadowbox.js استفاده شد.

علاوه بر این، کد Les Enfants از پلاگین jQuery Cycle استفاده می کند - وظیفه نمایش تصاویر و نمونه هایی از کار آژانس را بر عهده دارد.

ما Les Enfants را اجرا کردیم تا از قابلیت‌های عملکرد جاوا اسکریپت مطلع شویم. معلوم شد که در ترکیب با CSS Transform، می توانید به آن دست پیدا کنید نتایج عالیتوسعه دهنده مارتین هیو می گوید.

نه چندان دور، هیو اشاره می کند، شما فقط می توانستید این نوع کارها را با فلش انجام دهید، اما اکنون یک جایگزین مناسب دارد: جاوا اسکریپت.

18. Pinterest

Pinterest نمونه بارز استفاده از جاوا اسکریپت برای ایجاد افکت صفحه بی پایان است. برای ایجاد یک سایت، ابزارهای جی کوئری، رابط کاربری جی کوئری و پلاگین PageLess مورد نیاز بود.

به گفته نویسندگان یادداشت، PageLess برای پینترست حیاتی است، زیرا پیمایش و بارگذاری بی‌پایان پین‌های جدید در حفظ توجه کاربر بسیار مؤثرتر از عملکردهای اجتماعی مانند اظهار نظر در پست‌ها است.

19. سازنده بمب عشق

Love Bobm Builder به کاربران کمک می کند عشق یا قدردانی خود را به کسی ابراز کنند. این یک سایت منظم و ساده است که به شما امکان ایجاد و ارسال پیام بمب را می دهد.

این منبع از ابزار Modernizr برای به روز رسانی به موقع کدهای جاوا اسکریپت و HTML5 استفاده می کند.

20 میشل برگر بووز

هنگامی که یک کاربر وارد یک سایت می شود، اولین چیزی که می بیند به اصطلاح "preloader" است - ممکن است به نظر برسد که با استفاده از Flash ساخته شده است، اما اینطور نیست. HTML5 و جاوا اسکریپت مسئول پر کردن لیوان با آبجو در هنگام بارگیری هستند.

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

با کلیک بر روی ماسک های حیوانات، مشتری به صحنه های دیگر فرستاده می شود - تمام جلوه های انیمیشن که در آنها با استفاده از jQuery.animate () انجام می شود.

21. ترلو

Trello یک برنامه برنامه ریزی مشترک یا فردی است که در آن کاربران می توانند لیستی از کارهای تکمیل شده و برجسته ایجاد کنند و پیشرفت را در زمان واقعی به اشتراک بگذارند. این سایت با استفاده از Node.js، MongoDB و Backbone.js توسعه یافته است.

دانیل لی سرمیناند، یکی از خالقان Trello توضیح می دهد که استفاده از تنها یک زبان هنگام نوشتن یک سایت به اعضای تیم جدید کمک می کند تا به سرعت در فرآیند توسعه ادغام شوند.

ارتباط بین کاربران با استفاده از سوکت های وب اجرا می شود - le Cherminand خاطرنشان می کند که این کافی است تکنولوژی جدید، بنابراین در راه اندازی آن مشکلاتی وجود داشت.

22. جستجوی مرورگر

این بازی به سبک یکپارچهسازی با سیستمعامل که توسط Little Workshop ایجاد شده است برای به نمایش گذاشتن قدرت HTML5، جاوا اسکریپت و به ویژه Web Sockets طراحی شده است. این می تواند تعامل بین هزاران کاربر را به طور همزمان پشتیبانی کند.

«ایجاد یک بازی چند نفره راهی عالی برای نشان دادن اینکه چگونه این فناوری‌ها می‌توانند با هم کار کنند، است. Guillaume Lecolnay، توسعه‌دهنده استودیو می‌گوید BrowserQuest به سرورهای Node.js متکی است، که هر کدام می‌توانند چندین نمونه از دنیای بازی را اجرا کنند.

23.JS1k

JS1k یک مسابقه سالانه است که وظیفه آن ایجاد یک صفحه جاوا اسکریپت در یک موضوع خاص (اغلب تصاویر متحرک) است. وزن آن نباید بیش از 1 کیلوبایت باشد.

موضوع امسال «اینجا اژدها باش» است.

اثر برنده مسابقه در سال 2012 است. نویسنده - فیلیپ بوکانان، موضوع - "عشق"

کار برنده 2012 در ابتدا 8 کیلوبایت وزن داشت - اما در یک روز، فیلیپ توانست با بهینه سازی الگوریتم تولید درخت، اندازه آن را به 1 کیلوبایت مورد نیاز کاهش دهد:

تاکتیک من این بود که کامپایلر را صادقانه تقلب کنم. به عنوان مثال، با استفاده از ساختار "a ? b: c" به جای "if (a) b else c" 8 بایت ذخیره می کند.

24. جدول زمانی

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

25. یک Stickman بکشید

ایده اصلی این سرویس این است که با شرکت در یک داستان تعاملی به کاربر فرصتی برای سرگرمی ارائه دهد - کمک به فرد کشیده شده برای غلبه بر موانع مختلف. طرح ها در سایت با ماوس انجام می شود.

این بازی با استفاده از jQuery و یک کتابخانه برای کار با آن ساخته شده است گرافیک برداری Raphael.js اجرای پروژه با Raphal به توسعه دهندگان کمک کرد تا از مشکلات عملکرد در اکثر دستگاه ها و همه مرورگرها جلوگیری کنند.

حاشیه نویسی: این سخنرانی در مورد معایب و مزایای جاوا اسکریپت بحث می کند. کاربردهای رایج زبان . کاربردهای مدرن جاوا اسکریپت

معرفی

اکنون که ماهیت مفاهیم اولیه برنامه نویسی را پوشش دادیم، بیایید یک گام از جزئیات به عقب برگردیم و سعی کنیم یک ایده کلی از آنچه می توانید با جاوا اسکریپت انجام دهید به دست آوریم - چرا برای یادگیری چنین موضوع پیچیده ای وقت بگذارید و از آن در صفحات وب استفاده کنید؟

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

بیایید به جلو برویم - این سخنرانی ساختار زیر را دارد:

  • چقدر من عاشق جاوا اسکریپت شدم
  • معایب جاوا اسکریپت
  • آنچه جاوا اسکریپت می تواند انجام دهد
  • برنامه های رایج جاوا اسکریپت
    • مقدمه ای بر DOM Scripting
  • نتیجه

چقدر من عاشق جاوا اسکریپت شدم

زمانی که من برای اولین بار با جاوا اسکریپت مواجه شدم، کامپیوترها کند بودند، مرورگرها آن را بد تفسیر کردند، و به نظر ایده بدی بود. من از دنیای توسعه سرور آمده ام - از همه ویژگی های پرل پشتیبانی کنید و در امنیت خواهید بود.

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

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

معایب جاوا اسکریپت

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

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

آنچه جاوا اسکریپت می تواند انجام دهد

بیایید یک قدم به عقب برگردیم و مزایای جاوا اسکریپت را فهرست کنیم:

  • پیاده سازی جاوا اسکریپت بسیار آسان است. فقط باید کد را وارد کنید سند HTMLو به مرورگر بگویید که جاوا اسکریپت است.
  • جاوا اسکریپت روی رایانه های کاربران وب کار می کند - حتی زمانی که آنها آفلاین هستند!
  • جاوا اسکریپت به شما این امکان را می دهد که رابط های سریعی ایجاد کنید که تجربه کاربر را بهبود می بخشد و عملکرد پویا را بدون نیاز به منتظر ماندن برای پاسخ سرور و ارائه صفحه دیگری ارائه می دهد.
  • جاوا اسکریپت می تواند در صورت نیاز کاربر، بدون بارگیری مجدد کل صفحه - که معمولاً به آن Ajax می گویند، محتوا را در یک سند بارگذاری کند.
  • جاوا اسکریپت می‌تواند آنچه را که می‌توان در مرورگر اجرا کرد بررسی کند و بر اساس آن واکنش نشان دهد - این اصول جاوا اسکریپت محجوب نامیده می‌شود (به "اصول جاوا اسکریپت محجوب" مراجعه کنید) یا گاهی اوقات اسکریپت نویسی ایمن.
  • جاوا اسکریپت می‌تواند به رفع مشکلات مرورگر یا بستن شکاف‌های پشتیبانی مرورگر کمک کند - برای مثال، مشکلات طرح‌بندی CSS را در برخی مرورگرها برطرف کنید.

این در حال حاضر برای زبانی که تا همین اواخر توسط برنامه نویسان، طرفداران "زبان های برنامه نویسی بیشتر" مورد تمسخر قرار می گرفت بسیار است. سطح بالایکی از دلایل تجدید حیات جاوا اسکریپت این است که امروزه بیشتر و بیشتر می شود برنامه های کاربردی پیچیدهوب، و بالا تعاملنیاز به استفاده از فلش (یا سایر پلاگین ها) یا اسکریپت دارد. جاوا اسکریپت احتمالا بهترین راه است زیرا در وب استاندارد است و به صورت بومی پشتیبانی می شود. مرورگرهای مختلف(کم و بیش - برخی چیزها در مرورگرهای مختلف متفاوت است و این تفاوت ها در مکان های مناسب در سخنرانی های بعدی پوشش داده می شود) و با دیگران سازگار است. استانداردهای بازوب

برنامه های رایج جاوا اسکریپت

دامنه جاوا اسکریپت در طول سال هایی که از آن استفاده می شود تغییر کرده است. در ابتدا، تعامل جاوا اسکریپت با سایت بیشتر به تعامل با فرم ها محدود می شد و به کاربر امکان می داد بازخوردو ردیابی زمانی که آنها کارهای خاصی را انجام دادند. توابع ()alert برای اطلاع دادن به کاربر از چیزی استفاده شد (شکل 2.1 را ببینید). تائیدیه()برای درخواست مجوز برای انجام برخی اقدامات، و prompt() یا یک فیلد فرم برای دریافت ورودی کاربر.


برنج. 2.1.

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

علاوه بر این، تابع document.write() برای افزودن محتوا به سند استفاده شد. ما همچنین با پنجره‌ها و قاب‌ها کار می‌کردیم و اعصاب زیادی را خرج می‌کردیم و موهای زیادی را در تلاش برای برقراری ارتباط آنها با یکدیگر می‌کشیدیم. فقط فکر کردن به بیشتر این فناوری‌ها باید هر توسعه‌دهنده‌ای را وادار کند که با انزجار زمزمه کند "بگذارید ناپدید شوند"، پس بیایید روی چنین چیزهایی تمرکز نکنیم - راه های بهتربا استفاده از جاوا اسکریپت!

مقدمه ای بر DOM Scripting

چه زمانی مرورگرها شروع به پشتیبانی و پیاده سازی کردند مدل شیسند- DOM (http://www.w3.org/DOM/)، که به شما امکان می دهد تعامل بسیار پیشرفته تری با صفحات وب داشته باشید، جاوا اسکریپت شروع به جالب تر شدن کرد.

DOMاست بازنمایی شیسند پاراگراف قبلی، برای مثال، در زبان DOM یک گره عنصری است که nodeName آن p باشد. این شامل سه گره فرزند است - یک گره متنی حاوی «زمانی که مرورگرها شروع به پشتیبانی و پیاده‌سازی کردند» و مقدار nodeValue آن، یک گره عنصر با nodeName برابر با a، و یک گره متنی دیگر با nodeValue برابر با «که امکان تعامل بسیار پیشرفته‌تری را فراهم می‌کند. با صفحات وب، جاوا اسکریپت جالب تر شده است." گره فرزند a نیز دارای یک گره ویژگی به نام href با مقدار "http://www.w3.org/DOM/" و یک گره فرزند است که یک گره متنی با nodeValue برابر است با " مدل شیء سند- DOM".

این پاراگراف همچنین می تواند به صورت بصری با استفاده از نمودار درختی نشان داده شده در شکل 2.2 نمایش داده شود.

به زبان انسانی، می توان گفت که DOM انواع، ارزش ها و سلسله مراتب کل سند را توضیح می دهد - در این لحظهچیز بیشتری برای دانستن لازم نیست DOM با جزئیات بیشتر در "حرکت به DOM"، مقدمه کلی بر DOM، این دوره مورد بررسی قرار خواهد گرفت.

با DOM می توانید:

  • به هر عنصری در سند دسترسی داشته باشید و آن را تغییر دهید ظاهر، محتوا و صفات.
  • عناصر و محتوای جدید ایجاد کنید و در صورت نیاز و در صورت نیاز آنها را در سند وارد کنید.

این بدان معناست که دیگر نیازی به استفاده از پنجره، قاب، فرم و زشت نیست پیام های هشدار دهنده، و می توانید همانطور که در شکل 2.3 نشان داده شده است، پاسخ را در یک سند با فرمت مناسب به کاربر ارسال کنید.

همراه با مدیریت رویداد، این یک زرادخانه قدرتمند برای ایجاد رابط های تعاملی و جذاب می شود.

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

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

رویدادها به طور مفصل در مدیریت رویدادها با جاوا اسکریپت، مدیریت رویدادها در جاوا اسکریپت، در آینده در این دوره پوشش داده شده است.

سایر کاربردهای مدرن جاوا اسکریپت

این اساساً همان کاری است که امروزه با جاوا اسکریپت انجام می شود. رابط های وب قدیمی، آزمایش شده و واقعی را بهبود بخشید - کلیک کردن روی پیوندها، وارد کردن اطلاعات و ارسال فرم ها و غیره. - برای پاسخ سریعتر به درخواست های کاربر نهایی. مثلا:

  • فرم ثبت نام می تواند در حین تایپ شما بررسی کند که نام کاربری موجود است و از ناامیدی بد هنگام بارگیری مجدد صفحه جلوگیری کند.
  • کادر جستجو ممکن است در حین تایپ کردن، بر اساس آنچه قبلاً وارد شده است، انتخاب هایی را ارائه دهد (به عنوان مثال، تایپ کردن "bi" ممکن است گزینه هایی را برای کلمات حاوی آن رشته، مانند "bird"، "big" و "bike" نمایش دهد). این مدل استفاده تکمیل خودکار نامیده می شود.
  • اطلاعاتی که دائما در حال تغییر هستند را می توان به صورت دوره ای بدون نیاز به تعامل کاربر دانلود کرد، مانند امتیازات ورزشی یا قیمت های بورس.
  • اطلاعاتی که در اختیار داشتن آنها خوب است و خطر زائد بودن آنها برای برخی از کاربران وجود دارد، می توانند در زمان و در صورت تمایل کاربر به آن دسترسی پیدا کنند. به عنوان مثال، یک منوی پیمایش در یک سایت ممکن است 6 پیوند داشته باشد، اما زمانی که کاربر آیتم منو را فعال می کند، پیوندهایی به صفحات عمیق تر در صورت درخواست نمایش داده می شود.
  • جاوا اسکریپت می تواند مشکلات طرح بندی را برطرف کند. با استفاده از جاوا اسکریپت، می توانید موقعیت و مساحت هر عنصر را در صفحه و همچنین ابعاد پنجره مرورگر را بیابید. با استفاده از این اطلاعات می توان از همپوشانی عناصر و سایر مشکلات از این دست جلوگیری کرد. به عنوان مثال، فرض کنید که یک منو با چندین سطح وجود دارد، با بررسی قبل از خروجی که فضایی برای ارائه منوهای فرعی وجود دارد، می‌توان از اسکرول‌بارها یا موارد همپوشانی منو جلوگیری کرد.
  • جاوا اسکریپت می تواند رابط هایی را که HTML ارائه می دهد بهبود بخشد. در حالی که داشتن یک فیلد ورودی متن راحت است، حتی بهتر است یک فیلد ورودی داشته باشید که به شما امکان می دهد از لیست مقادیر از پیش تعریف شده انتخاب کنید یا مقدار خود را وارد کنید. با استفاده از جاوا اسکریپت، می توانید فیلد ورودی معمولی را متناسب با آن افزایش دهید.
  • جاوا اسکریپت را می توان برای متحرک سازی عناصر در یک صفحه استفاده کرد - به عنوان مثال، برای نمایش و پنهان کردن اطلاعات، یا برای برجسته کردن بخش های خاصی از صفحه - این را می توان برای دستیابی به یک رابط کاربری راحت تر و پیشرفته تر انجام داد. اطلاعات تکمیلیدر مورد چنین احتمالاتی در "انیمیشن در جاوا اسکریپت" ارائه شده است، انیمیشن جاوا اسکریپت، در ادامه این دوره

استفاده محتاطانه و مسئولانه از جاوا اسکریپت

کار زیادی نمی توانید با جاوا اسکریپت انجام دهید - به خصوص وقتی با فناوری های دیگری مانند Canvas یا SVG جفت می شود. با این حال، زمانی که فرصت های بزرگمسئولیت زیادی دارد و همیشه هنگام استفاده از جاوا اسکریپت موارد زیر را در نظر داشته باشید.

  • جاوا اسکریپت ممکن است در دسترس نباشد - بررسی آن آسان است و بنابراین مشکلی نیست. با این حال، چیزهایی که به جاوا اسکریپت بستگی دارند باید با در نظر گرفتن این موضوع ساخته شوند، و باید مراقب بود که در صورت در دسترس نبودن جاوا اسکریپت، سایت کار خود را متوقف نکند (یعنی عملکرد اصلی در دسترس نباشد).
  • اگر استفاده از جاوا اسکریپت به کاربر کمک نمی کند تا سریعتر و کارآمدتر به هدف خود برسد، احتمالاً به اشتباه استفاده می شود.
  • استفاده از جاوا اسکریپت اغلب قراردادهایی را که مردم در طول سال‌های استفاده از وب از آن استفاده کرده‌اند را زیر پا می‌گذارد (مانند کلیک کردن بر روی پیوندی برای رفتن به صفحه دیگر، و نماد سبد خرید کوچک به معنای "سبد خرید"). در حالی که این الگوهای استفاده ممکن است قدیمی و ناکارآمد باشند، با این حال تغییر آنها کاربر را مجبور می‌کند تا عادت‌های خود را تغییر دهد - و این باعث می‌شود افراد احساس اضطراب کنند. ما دوست داریم همه چیز را تحت کنترل داشته باشیم، و زمانی که چیزی را درک می کنیم، گاهی اوقات مقابله با تغییر ممکن است دشوار باشد. تصمیمات جاوا اسکریپت به طور طبیعی باید بهتر از تعامل قبلی باشد، اما نه آنقدر عالی که کاربر نتواند آن را از طریق تجربه قبلی خود درک کند. اگر می‌توانید بازدیدکننده‌ای از سایت را وادار کنید که بگوید، "بله - این بدان معناست که من مجبور نیستم منتظر بمانم" یا "عالی است - اکنون مجبور نیستم آن مرحله آزاردهنده اضافی را انجام دهم" - کاربرد بسیار خوبی برای جاوا اسکریپت پیدا کرده‌اید. .
  • css با کمک افزونه های مناسب مرورگر (مانند Google Gears یا Yahoo Browser Plus)، جاوا اسکریپت حتی می تواند برای در دسترس قرار دادن سیستم های آنلاین در آفلاینو هنگامی که رایانه به شبکه متصل می شود، به طور خودکار همگام سازی می شود.

    جاوا اسکریپت به مرورگرها نیز محدود نمی شود. سرعت و حافظه کم مورد نیاز جاوا اسکریپت در مقایسه با سایر زبان های برنامه نویسی به آن اجازه می دهد تا همه کاربردهای جدید را پیدا کند - از خودکارسازی کارهای تکراری در برنامه هایی مانند Illustrator گرفته تا استفاده از آن به عنوان یک زبان سمت سرور با تجزیه کننده مستقل. آینده کاملاً باز است. مهم نیست که در آینده نزدیک به عنوان یک توسعه دهنده وب چه کاری انجام می دهید، مطمئنم دیر یا زود باید با جاوا اسکریپت کار کنید.

    درباره نویسنده

    کریس هیلمن از زمانی که روزنامه نگاری رادیویی را رها کرد، ده سال است که یک توسعه دهنده وب بوده است. او برای یاهو کار می کند! در انگلستان به عنوان یک مربی و توسعه دهنده اصلی، و بر کیفیت کد نمای خارجی برای اروپا و آسیا نظارت می کند.

    کریس یک وبلاگ در Wait till I come (http://wait-till-i.com/) دارد و در بسیاری از سایت ها موجود است. در شبکه های اجتماعیبا نام مستعار "codepo8".

    عکس با احترام: Bluesmoon (

برنامه های کاربردی مشتری

از جاوا اسکریپت می توان برای توسعه یک برنامه کلاینت کامل استفاده کرد. در حالی که جاوا اسکریپت به اندازه جاوا جامع نیست، با این وجود قدرت قابل توجهی در برخورد با برچسب های HTML و اشیاء مرتبط با آنها نشان می دهد. یکی از معروف ترین برنامه های کاربردی جاوا اسکریپت، hJdaho Design's ColorCenter (http://v.e-du.ru/?http://www.hidaho.com/c3)، در شکل 1.12 نشان داده شده است. این نرم افزاربرای انتخاب رنگ عناصر قابل مشاهده در مرورگر، با امکان آنها استفاده می شود پیش نمایشدر یک قاب جداگانه ایجاد یک برنامه مشابه با جاوا به دلیل نیاز به تعامل با HTML بسیار پیچیده تر است. بدیهی است که در برخی موارد، جاوا اسکریپت یک چارچوب تقریبا ایده آل برای توسعه اپلیکیشن فراهم می کند.

اعتبار سنجی داده ها

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

ایجاد فرم های تعاملی

جاوا اسکریپت همچنین برای "انیمیشن" استفاده می شود فرم های HTML. یکی از وظایف احیا مربوط به اعتبارسنجی داده ها است. دیگری شامل اجرا می شود ویژگی های اضافی، در HTML موجود نیست، مانند پشتیبانی از اطلاعات در نوار وضعیت، باز کردن پنجره دوم مرورگر برای نمایش، مثلاً، اطلاعات پس زمینهو غیره

جداول جستجوی مشتری

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

حمایت دولتی

در یک محیط وب غیر حالتی، جاوا اسکریپت برای حفظ حالت هنگام برقراری ارتباط بین سرور و مشتری استفاده می شود. اصلی

Statefulness با استفاده از کوکی ها (اطلاعات ذخیره شده توسط مرورگر در سمت مشتری) مرتبط است. جاوا اسکریپت هم بازیابی و هم ذخیره کوکی ها را در سمت کلاینت فراهم می کند.

کار با اپلت های جاوا، کنترل های ActiveX و پلاگین ها

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

منبع "جاوا اسکریپت بر اساس مثال"