SlideShare a Scribd company logo
1 of 20
‫خدا‬ ‫نام‬ ‫به‬
‫موضوع‬:‫اسکریپت‬ ‫جاوا‬
‫استاد‬ ‫نام‬:‫تبار‬ ‫یعقوبی‬ ‫مهندس‬
‫دهنده‬ ‫ارائه‬ ‫نام‬:‫جوادبروجی‬
‫صدرالمتالهین‬ ‫دانشگاه‬(‫صدرا‬)
1399
1
‫چیست؟‬ ‫اسکریپت‬ ‫جاوا‬
Javascript & java
‫چرا‬‫اسکریپت‬ ‫جاوا‬‫یادبگیریم؟‬
‫است؟‬ ‫چگونه‬ ‫اسکریپت‬ ‫بازارکارجاوا‬
‫دارد؟‬ ‫هایی‬ ‫ورک‬ ‫فریم‬ ‫هاو‬ ‫خانه‬ ‫کتاب‬ ‫چه‬
‫است؟‬ ‫چگونه‬ ‫اسکریپت‬ ‫جاوا‬ ‫شدن‬ ‫اجرا‬ ‫نحوه‬
‫دارد؟‬ ‫کاربرد‬ ‫ها‬ ‫بیشترکجا‬
2
‫مقدمه‬
o‫نام‬ ‫به‬ ‫شخصی‬‫ایچ‬ ‫برندان‬
oMocha
oncsa Mosaic
‫؟‬
o61995
oscheme
o
o1995
3
‫تاریخچه‬
‫چیست؟‬ ‫اسکریپت‬ ‫جاوا‬
‫اسکریپت‬ ‫جاوا‬‫دکستاپ‬ ‫سروروهم‬ ‫سمت‬ ‫هم‬ ‫و‬ ‫کاربر‬ ‫سمت‬ ‫هم‬ ‫که‬ ‫است‬ ‫پویا‬ ‫نویسی‬‫برنامه‬ ‫زبان‬,‫موبایل‬ ‫اپلیکشن‬
‫دارد‬ ‫کاربرد‬.
‫اسکریپت‬ ‫جاوا‬‫بر‬ ‫مبتنی‬ ‫محبوب‬ ‫زبان‬ ‫یک‬‫شی‬‫و‬ ‫داینامیک‬ ،‫مفسری‬‫است‬.
‫گرایی‬ ‫شی‬:‫ب‬ ‫طی‬ ‫در‬ ‫و‬ ‫شوند‬‫می‬ ‫بندی‬‫تقسیم‬ ‫تری‬‫کوچک‬ ‫ی‬‫واحدها‬ ‫در‬ ‫کدها‬ ‫گرا‬‫شی‬ ‫نویسی‬ ‫برنامه‬ ‫در‬‫این‬ ‫رنامه‬
‫شود‬ ‫ایجاد‬ ‫نهایی‬ ‫ی‬‫برنامه‬ ‫تا‬ ‫خورند‬‫می‬ ‫پیوند‬ ‫باهم‬ ‫واحدها‬.
‫مفسری‬ ‫زبان‬:‫شوند‬‫می‬ ‫اجرا‬ ‫و‬ ‫ترجمه‬ ‫خط‬ ‫به‬ ‫خط‬ ‫صورت‬ ‫به‬ ‫آن‬ ‫کدهای‬ ‫که‬ ‫است‬ ‫زبانی‬ ‫مفسری‬ ‫زبان‬!‫ز‬ ‫این‬‫بان‬
‫شوند‬‫می‬ ‫اجرا‬ ‫و‬ ‫ترجمه‬ ‫کدها‬ ‫کل‬ ‫یکباره‬ ‫که‬ ‫گیرد‬‫می‬ ‫قرار‬ ‫کامپایلری‬ ‫های‬‫زبان‬ ‫مقابل‬.
4
.1‫دنیاست‬ ‫نویسی‬ ‫برنامه‬ ‫های‬ ‫زبان‬ ‫ترین‬ ‫محبوب‬ ‫جزو‬ ‫اسکریپت‬ ‫جاوا‬
.2‫است‬ ‫آل‬ ‫ایده‬ ‫ها‬ ‫وارد‬ ‫تازه‬ ‫برای‬
.3‫است‬ ‫اسان‬ ‫آن‬ ‫یادگیری‬
.4‫است‬ ‫متونعی‬ ‫زبان‬
.5‫است‬ ‫افزایش‬ ‫درحال‬ ‫آن‬ ‫شغلی‬ ‫پتانسیل‬
.6‫ایجادکنیم‬ ‫صفحاتمان‬ ‫برای‬ ‫زیبایی‬ ‫جلوهای‬ ‫میتوانیم‬ ‫آن‬ ‫با‬
5‫یادبگیریم؟‬ ‫اسکریپت‬ ‫چراجاوا‬
‫اسکریپت‬ ‫جاوا‬ ‫کندبودن‬
‫کرد‬ ‫دیباگ‬ ‫را‬ ‫آن‬ ‫میتوان‬ ‫سخت‬
‫مرورگرها‬ ‫ی‬ ‫درهمه‬ ‫اجرانشدن‬
‫مرورگراجرامیشود‬ ‫بروی‬ ‫فقط‬
‫مرورگر‬ ‫حافظه‬ ‫افزایش‬
6‫معایب‬
‫کامپایلرندارد‬ ‫نیازبه‬ ‫واجرا‬ ‫پردازش‬ ‫برای‬
‫نویسی‬ ‫برنامه‬ ‫های‬‫زبان‬ ‫از‬ ‫خیلی‬ ‫به‬ ‫نسبت‬ ‫اسکریپت‬ ‫جاوا‬ ‫یادگیری‬
‫است‬ ‫تر‬‫راحت‬
‫دهد‬‫می‬ ‫نویسان‬ ‫برنامه‬ ‫به‬ ‫را‬ ‫پویا‬ ‫و‬ ‫تعاملی‬ ‫وب‬ ‫صفحات‬ ‫ایجاد‬ ‫امکان‬
‫در‬ ‫را‬ ‫زیادی‬ ‫بسیار‬ ‫ابزارهای‬ ‫کلی‬ ‫صورت‬ ‫به‬ ‫و‬ ‫ها‬‫ها،کتابخانه‬ ‫ورک‬ ‫فریم‬
‫دهد‬‫می‬ ‫قرار‬ ‫اختیارتان‬
7‫مزایا‬
‫کتابخانه‬:‫از‬ ‫ای‬ ‫مجمو؟ه‬ ‫فقط‬ ‫کتابخانه‬api‫ها‬(‫ها‬ ‫کالس‬ ‫مثله‬,‫متدها‬,‫ها‬ ‫ماژول‬,)...‫به‬ ‫رو‬ ‫اونا‬ ‫که‬ ‫هست‬
‫میکنیم‬ ‫اضافه‬ ‫کدخودمون‬,‫میکنیم‬ ‫استفاده‬ ‫اونا‬ ‫از‬ ‫نویسی‬ ‫کد‬ ‫شدن‬ ‫تر‬ ‫ساده‬ ‫برای‬ ‫و‬.
‫ورک‬ ‫فریم‬:Framework‫جهان‬ ‫نویسان‬ ‫برنامه‬ ‫بهترین‬ ‫توسط‬ ‫که‬ ‫هستند‬ ‫کدنویسی‬ ‫ساختارهای‬ ‫و‬ ‫هاچهارچوب‬
‫و‬ ‫بزارها‬ ‫وا‬ ‫کدها‬ ‫ای‬ ‫مجمو؟ه‬ ‫بصورت‬. ..‫دارند‬ ‫هدف‬ ‫یک‬ ‫تنها‬ ‫که‬ ‫اند‬ ‫شده‬ ‫ِائه‬‫ر‬‫ا‬:‫نویسان‬ ‫برنامه‬ ‫رابرای‬ ‫نویسی‬ ‫برنامه‬
‫راحتروسریعترکنند‬.
8‫ها‬ ‫ورک‬ ‫وفرم‬ ‫ها‬ ‫کتابخانه‬
‫اند‬ ‫بک‬
• ‫اس‬ ‫جی‬ ‫نود‬
• ‫فریمورک‬Express.js
‫اند‬ ‫فرانت‬
• Angular.js
• ‫کتابخانه‬React
• ‫فریمورک‬Vue.js
‫موبایل‬
‫ودکستاپ‬
• ‫فریمورک‬Electron.js
• ‫فریمورک‬React Native
9‫اسکریپت‬ ‫جاوا‬ ‫های‬ ‫ورک‬ ‫وفریم‬ ‫ها‬ ‫کتابخانه‬
React JS‫کتابخانه‬ ‫یک‬JavaScript‫ها‬ ‫سایت‬ ‫وب‬ ‫در‬ ‫تعاملی‬ ‫؟ناصر‬ ‫ساخت‬ ‫برای‬ ‫وب‬ ‫ساخت‬ ‫در‬ ‫که‬ ‫است‬
‫شود‬ ‫می‬ ‫استفاده‬.
‫ایجادشد؟‬ ‫کسی‬ ‫چه‬ ‫توسط‬
‫سال‬ ‫در‬2011‫واک‬ ‫جردن‬ ‫بوک‬ ‫فیس‬ ‫مهندس‬ ،React JS‫توسعه‬ ‫بهبود‬ ‫برای‬ ‫خاص‬ ‫طور‬ ‫به‬ ‫را‬UI‫کرد‬ ‫ایجاد‬.
‫دهندگان‬ ‫توسعه‬ ‫چرا‬JavaScript‫از‬React JS‫کنند؟‬ ‫می‬ ‫استفاده‬
‫از‬ ‫قبل‬React JS،‫از‬ ‫دهندگان‬ ‫توسعه‬"‫اسکریپت‬ ‫جاوا‬ ‫وانیال‬"‫یا‬ ‫و‬jQuery‫میکردند‬ ‫استفاده‬.‫زیادی‬ ‫زمان‬
‫میکردند‬ ‫کردن‬ ‫باگ‬ ‫دی‬ ‫و‬ ‫خطاها‬ ‫رفع‬ ‫نویس‬ ‫برنامه‬.
10react
react
‫کلیدی‬ ‫های‬ ‫ویژگی‬react‫؟‬
Dom:DOM‫دهنده‬ ‫نشان‬UI‫سایت‬ ‫وب‬(‫اپلیکیشن‬)‫است‬.‫وضعیت‬ ‫در‬ ‫که‬ ‫تغییری‬ ‫هر‬UI‫یا‬ ‫اپلیکیشن‬
،‫میدهد‬ ‫رخ‬ ‫سایت‬ ‫وب‬DOM‫دهد‬ ‫نمایش‬ ‫شما‬ ‫به‬ ‫را‬ ‫تغییرات‬ ‫تا‬ ‫شود‬ ‫می‬ ‫بروزرسانی‬.
JSX:‫افزونه‬ ‫یک‬React‫ایجاد‬ ‫برای‬DOM‫های‬Html‫است‬ ‫کامپونت‬ ‫درقالب‬.
virtual DOM‫از‬ ‫مجازی‬ ‫ارائه‬ ‫یک‬ ‫واقعی‬ ‫در‬DOM‫است‬.‫کند‬ ‫می‬ ‫تغییر‬ ‫ما‬ ‫اپلیکیشن‬ ‫وضعیت‬ ‫که‬ ‫زمانی‬ ‫هر‬‫به‬
‫جای‬DOM‫این‬virtual DOM‫شود‬ ‫می‬ ‫رسانی‬ ‫بروز‬ ‫که‬ ‫است‬.
11
const Hello =<h1> Hello world </h1>;
react 12
o‫یک‬ ‫که‬ ‫زمانی‬element‫به‬ ‫جدید‬UI‫یک‬ ،‫شود‬ ‫می‬ ‫اضافه‬virtual DOM‫شود‬ ‫می‬ ‫ایجاد‬.
o‫هر‬element‫است‬ ‫درخت‬ ‫از‬ ‫گره‬ ‫یک‬.
o‫این‬ ‫از‬ ‫یک‬ ‫هر‬ ‫وضعیت‬ ‫اگر‬element‫درخت‬ ‫یک‬ ،‫کند‬ ‫پیدا‬ ‫تغییر‬ ‫ها‬virtual DOM‫می‬ ‫ایجاد‬ ‫جدید‬
‫شود‬.
‫جاوااسکریپت‬ ‫کدهای‬ ‫اجرای‬ ‫برای‬ ‫مختلف‬ ‫مرورگرهای‬ ‫موتور‬:
o.‫موتور‬V8‫کروم‬ ‫و‬ ‫اپرا‬ ‫مرورگرهای‬ ‫برای‬
o‫موتور‬SpiderMonkey‫فایرفاکس‬ ‫برای‬
o‫موتورهای‬Trident‫و‬Chakra‫اکسپلورر‬ ‫اینترنت‬ ‫مختلف‬ ‫های‬‫ورژن‬ ‫برای‬
o‫موتور‬ChakraCore‫مرورگر‬ ‫برای‬Edge
o‫موتورهای‬Nitro‫و‬SquirrelFish‫سافاری‬ ‫مرورگر‬ ‫برای‬
‫مرورگرها؟‬ ‫موتور‬ ‫کار‬ ‫ی‬ ‫نحوه‬
‫کنند‬‫می‬ ‫ترجمه‬ ‫را‬ ‫اسکریپت‬ ‫جاوا‬ ‫کدهای‬ ‫ابتدا‬ ‫در‬ ‫موتورها‬ ‫این‬.‫ک‬‫می‬ ‫کامپایل‬ ‫ماشین‬ ‫زبان‬ ‫به‬ ‫را‬ ‫ها‬‫اسکریپت‬ ‫سپس‬‫تا‬ ‫نند‬
‫شوند‬ ‫اجرا‬ ‫کدها‬ ‫نهایت‬ ‫در‬.
13‫کارمیکند‬ ‫چگونه‬ ‫اسکریپت‬ ‫جاوا‬
:‫میکند‬ ‫راتعریف‬ ‫اطال؟ات‬ ‫فناوری‬ ‫حوزه‬ ‫استاندارهای‬ ‫که‬ ‫است‬ ‫سازمانی‬. Ecma international
.‫استاندارد‬QWERTY
ECMA-262:ECMA-262،‫است‬ ‫شده‬ ‫تعریف‬ ‫المللی‬‫بین‬ ‫اکمای‬ ‫توسط‬ ‫که‬ ‫است‬ ‫دیگری‬ ‫استاندارد‬.‫اس‬ ‫این‬‫تاندارد‬
‫است‬ ‫منظوره‬ ‫همه‬ ‫نویسی‬‫اسکریپت‬ ‫زبان‬ ‫یک‬ ‫برای‬ ‫هایی‬‫شناسه‬ ‫شامل‬.
14Ecma script
Ecma script
‫گیری‬ ‫نتیجه‬:
o‫باشد‬ ‫کرده‬ ‫ا؟مال‬ ‫یا‬ ‫تعریف‬ ‫را‬ ‫آن‬ ‫اسکریپت‬ ‫جاوا‬ ‫که‬ ‫نیست‬ ‫استاندری‬ ‫اسکریپت‬ ‫اکما‬.
o‫نیست‬ ‫جاوا‬ ‫هسته‬ ‫اسکریپت‬ ‫اکما‬.
o‫خواندن‬ ‫با‬ECMASCRIPT‫بسازیم‬ ‫نویسی‬ ‫اسکریپ‬ ‫زبان‬ ‫یک‬ ‫چطور‬ ‫گیرید‬‫می‬ ‫یاد‬.
o‫کنیم‬ ‫استفاده‬ ‫نویسی‬ ‫اسکریپت‬ ‫زبان‬ ‫ازیک‬ ‫چطور‬ ‫یادمیگریم‬ ‫اسکریپت‬ ‫جاوا‬ ‫های‬ ‫ودستورالعمل‬ ‫مستندات‬ ‫باخواندن‬.
15
‫دهنده‬ ‫ارئه‬ ‫نام‬:‫موضوع‬:
ECMAScript 6‫چیست؟‬
ECMAScript 6،‫استاندارد‬ ‫از‬ ‫نسخه‬ ‫ششمین‬ECMA-262‫و‬ ‫تغییر‬ ‫دچار‬ ‫آن‬ ‫اولیه‬ ‫نسخه‬ ‫به‬ ‫نسبت‬ ‫و‬ ‫است‬
‫است‬ ‫شده‬ ‫زیادی‬ ‫تحوالتی‬.ECMAScript 6‫های‬‫نام‬ ‫با‬ ‫را‬ECMA-2015،ES6‫و‬ECMAScript
2015‫شناسند‬‫می‬ ‫نیز‬.
bable‫چیست؟‬
‫کدهای‬ ‫تواند‬‫می‬ ‫که‬ ‫است‬ ‫مبدل‬ ‫یک‬ ،‫بابل‬ES6‫کدهای‬ ‫به‬ ‫را‬ES5‫کند‬ ‫تبدیل‬.‫حتی‬ ‫اسکریپت‬ ‫جاوا‬ ‫وکدهای‬
‫کرد‬ ‫اجراش‬ ‫قدیمی‬ ‫درمروگرهای‬.
16
‫دهنده‬ ‫ارئه‬ ‫نام‬:‫موضوع‬:
ECMASCript 6
Ecmascript6
LibraryModule
Arrow
Functions
Template String
Class
Const
17
‫دهنده‬ ‫ارئه‬ ‫نام‬:‫موضوع‬:
‫اسکریپت‬ ‫کارجاوا‬ ‫بازار‬
Node js
Node js‫ش‬‫می‬ ‫استفاده‬ ‫پذیر‬ ‫مقیاس‬ ‫ی‬‫شبکه‬ ‫تحت‬ ‫های‬‫اپلیکیشن‬ ‫ساختن‬ ‫برای‬ ‫که‬ ‫است‬ ‫پلتفرمی‬‫ود‬.‫ا؟الم‬ ‫طبق‬
stackoverflow‫سال‬ ‫در‬2017‫است‬ ‫بوده‬ ‫تکنولوژی‬ ‫ترین‬‫پراستفاده‬.‫از‬ ‫استفاده‬ ‫با‬node js‫به‬ ‫توانید‬‫می‬
‫بنویسید‬ ‫اسکریپت‬ ‫جاوا‬ ‫با‬ ‫را‬ ‫خود‬ ‫ی‬‫شبکه‬ ‫تحت‬ ‫اپلیکیشن‬ ‫یا‬ ‫سایت‬ ‫اند‬ ‫بک‬ ‫راحتی‬.
Nodejs‫دارد؟‬ ‫هایی‬ ‫ویژگی‬ ‫چه‬
‫باال‬ ‫کارآیی‬ ‫و‬ ‫سر؟ت‬,‫اند‬ ‫بک‬ ‫در‬ ‫جاوااسکریپت‬ ‫از‬ ‫استفاده‬ ‫امکان‬ ‫و‬ ‫بزرگ‬ ‫کاربری‬ ‫ی‬‫جامعه‬.
‫رابا‬ ‫خود‬ ‫اند‬ ‫بک‬ ‫هایی‬ ‫سایت‬ ‫چه‬node js‫کردند؟‬ ‫طراحی‬
‫مثل‬ ‫هایی‬‫وبسایت‬:ebay,‫پال‬ ‫پی‬,‫لینکدین‬,‫گوگل‬,‫اوبر‬,‫مدیوم‬ ‫و‬ ‫هاب‬ ‫گیت‬
18
‫دهنده‬ ‫ارئه‬ ‫نام‬:‫موضوع‬:
Javascript & typescript
Typescript‫میباشد‬ ‫مناسب‬ ‫بسیار‬ ‫بزرگ‬ ‫های‬‫اپلیکیشن‬ ‫برای‬ ‫که‬ ‫میباشد‬ ‫سورس‬ ‫اوپن‬ ‫نویسی‬‫برنامه‬ ‫زبان‬ ‫یک‬.
‫هدفی؟‬ ‫چه‬ ‫شده؟وبا‬ ‫طراحی‬ ‫کسی‬ ‫چه‬ ‫توسط‬
‫سال‬ ‫در‬ ‫زبان‬ ‫این‬ ،‫میشد‬ ‫پیچیده‬ ‫بسیار‬ ،‫بزرگ‬ ‫های‬‫پروژه‬ ‫در‬ ‫اسکریپت‬ ‫جاوا‬ ‫کدهای‬ ‫مدیریت‬ ‫اینکه‬ ‫دلیل‬ ‫به‬2012‫مایکروسافت‬ ‫توسط‬
‫است‬ ‫یافته‬ ‫توسعه‬.
‫میباشد‬ ‫معتبر‬ ‫نیز‬ ‫اسکریپت‬ ‫تایپ‬ ‫در‬ ،‫شما‬ ‫اسکریپت‬ ‫جاوا‬ ‫کدهای‬.
Typescript‫از‬ ‫زیرمجمو؟ه‬ ‫یک‬Javascript‫است‬:
‫اسکریپت‬ ‫جاوا‬+‫بیشتر‬ ‫های‬‫ویژگی‬=‫اسکریپت‬ ‫تایپ‬.
‫دارد؟‬ ‫اسکریپت‬ ‫جاوا‬ ‫با‬ ‫تفاوتی‬ ‫چه‬
Typescript‫و‬ ‫بزرگ‬ ‫های‬‫پروژه‬ ‫در‬ ‫اما‬ ‫ندارد‬ ‫اسکریپت‬ ‫جاوا‬ ‫با‬ ‫تفاوتی‬ ‫هیچ‬large-scale‫میشود‬ ‫استفاده‬.
‫روش‬ ‫به‬ ‫اسکریپت‬ ‫تایپ‬trans compiles‫میشود‬ ‫کامپایل‬ ‫اسکریپت‬ ‫جاوا‬ ‫به‬ ،‫سورس‬ ‫به‬ ‫سورس‬ ‫کامپایلینگ‬ ‫یعنی‬.‫ساخ‬ ‫از‬‫تار‬
‫های‬‫ویژگی‬ ‫از‬ ‫و‬ ‫میکند‬ ‫پیروی‬ ‫گرا‬ ‫شی‬ ‫نویسی‬ ‫برنامه‬OOP،‫اینترفیس‬ ،‫ها‬‫کالس‬ ‫مانند‬namespace‫پشتیبانی‬ ‫وراثت‬ ‫و‬ ‫ها‬
‫میکند‬.
19
https://webramz.com/blog/
https://digiwit.ir/blog/what-is-ecmascript
https://roocket.ir/articles/a-brief-history-of-javascript
https://7learn.com/
https://reactapp.ir/react-virtual-dom-explained/
https://virgool.io/
https://7learn.com/programming/javascript-frameworks
https://fa.wikipedia.org.
https://mag.hostiran.net/emberjs-overview/
20‫منابع‬

More Related Content

Similar to Javascript

Java script
Java scriptJava script
Java scriptM Nemati
 
مقایسه دو زبان جاوا و لیسپ درس پی ال
مقایسه دو زبان  جاوا و لیسپ درس پی المقایسه دو زبان  جاوا و لیسپ درس پی ال
مقایسه دو زبان جاوا و لیسپ درس پی الAli Ghaeni
 
اسلاید های شروع برنامه نویسی اندروید با جاوا - مهندس سید وحید هاشمی
اسلاید های شروع برنامه نویسی اندروید با جاوا - مهندس سید وحید هاشمیاسلاید های شروع برنامه نویسی اندروید با جاوا - مهندس سید وحید هاشمی
اسلاید های شروع برنامه نویسی اندروید با جاوا - مهندس سید وحید هاشمیVahid Hashemi
 
blockchain.ostad yaghubitabar.
blockchain.ostad yaghubitabar.blockchain.ostad yaghubitabar.
blockchain.ostad yaghubitabar.faeze13
 
مفاهیم اولیه داکر
مفاهیم اولیه داکرمفاهیم اولیه داکر
مفاهیم اولیه داکرAli Rasoulian
 
Mohamady zahedy c#
Mohamady zahedy c#Mohamady zahedy c#
Mohamady zahedy c#danesh_fd
 
Oracle نوشته مهندس اسمعیل دخت
Oracle  نوشته مهندس اسمعیل دختOracle  نوشته مهندس اسمعیل دخت
Oracle نوشته مهندس اسمعیل دختYashar Esmaildokht
 

Similar to Javascript (20)

Oracle ADF Presentation
Oracle ADF PresentationOracle ADF Presentation
Oracle ADF Presentation
 
Docker
DockerDocker
Docker
 
Lecture2
Lecture2Lecture2
Lecture2
 
MongoDB
MongoDBMongoDB
MongoDB
 
programing.pptx
programing.pptxprograming.pptx
programing.pptx
 
Java script
Java scriptJava script
Java script
 
Scrum Presentation
Scrum PresentationScrum Presentation
Scrum Presentation
 
مقایسه دو زبان جاوا و لیسپ درس پی ال
مقایسه دو زبان  جاوا و لیسپ درس پی المقایسه دو زبان  جاوا و لیسپ درس پی ال
مقایسه دو زبان جاوا و لیسپ درس پی ال
 
J query
J queryJ query
J query
 
مقدمه ای بر F#
مقدمه ای بر F#مقدمه ای بر F#
مقدمه ای بر F#
 
اسلاید های شروع برنامه نویسی اندروید با جاوا - مهندس سید وحید هاشمی
اسلاید های شروع برنامه نویسی اندروید با جاوا - مهندس سید وحید هاشمیاسلاید های شروع برنامه نویسی اندروید با جاوا - مهندس سید وحید هاشمی
اسلاید های شروع برنامه نویسی اندروید با جاوا - مهندس سید وحید هاشمی
 
blockchain.ostad yaghubitabar.
blockchain.ostad yaghubitabar.blockchain.ostad yaghubitabar.
blockchain.ostad yaghubitabar.
 
Odbc in linux
Odbc in linux Odbc in linux
Odbc in linux
 
Rbdmap ceph realease 0.2
Rbdmap ceph realease 0.2Rbdmap ceph realease 0.2
Rbdmap ceph realease 0.2
 
مفاهیم اولیه داکر
مفاهیم اولیه داکرمفاهیم اولیه داکر
مفاهیم اولیه داکر
 
Pg autoscaling in ceph
Pg autoscaling in  cephPg autoscaling in  ceph
Pg autoscaling in ceph
 
Mohamady zahedy c#
Mohamady zahedy c#Mohamady zahedy c#
Mohamady zahedy c#
 
IranOUG_Oracle_Multitenant
IranOUG_Oracle_MultitenantIranOUG_Oracle_Multitenant
IranOUG_Oracle_Multitenant
 
Oracle نوشته مهندس اسمعیل دخت
Oracle  نوشته مهندس اسمعیل دختOracle  نوشته مهندس اسمعیل دخت
Oracle نوشته مهندس اسمعیل دخت
 
jQuery
jQueryjQuery
jQuery
 

Javascript

  • 1. ‫خدا‬ ‫نام‬ ‫به‬ ‫موضوع‬:‫اسکریپت‬ ‫جاوا‬ ‫استاد‬ ‫نام‬:‫تبار‬ ‫یعقوبی‬ ‫مهندس‬ ‫دهنده‬ ‫ارائه‬ ‫نام‬:‫جوادبروجی‬ ‫صدرالمتالهین‬ ‫دانشگاه‬(‫صدرا‬) 1399 1
  • 2. ‫چیست؟‬ ‫اسکریپت‬ ‫جاوا‬ Javascript & java ‫چرا‬‫اسکریپت‬ ‫جاوا‬‫یادبگیریم؟‬ ‫است؟‬ ‫چگونه‬ ‫اسکریپت‬ ‫بازارکارجاوا‬ ‫دارد؟‬ ‫هایی‬ ‫ورک‬ ‫فریم‬ ‫هاو‬ ‫خانه‬ ‫کتاب‬ ‫چه‬ ‫است؟‬ ‫چگونه‬ ‫اسکریپت‬ ‫جاوا‬ ‫شدن‬ ‫اجرا‬ ‫نحوه‬ ‫دارد؟‬ ‫کاربرد‬ ‫ها‬ ‫بیشترکجا‬ 2 ‫مقدمه‬
  • 3. o‫نام‬ ‫به‬ ‫شخصی‬‫ایچ‬ ‫برندان‬ oMocha oncsa Mosaic ‫؟‬ o61995 oscheme o o1995 3 ‫تاریخچه‬
  • 4. ‫چیست؟‬ ‫اسکریپت‬ ‫جاوا‬ ‫اسکریپت‬ ‫جاوا‬‫دکستاپ‬ ‫سروروهم‬ ‫سمت‬ ‫هم‬ ‫و‬ ‫کاربر‬ ‫سمت‬ ‫هم‬ ‫که‬ ‫است‬ ‫پویا‬ ‫نویسی‬‫برنامه‬ ‫زبان‬,‫موبایل‬ ‫اپلیکشن‬ ‫دارد‬ ‫کاربرد‬. ‫اسکریپت‬ ‫جاوا‬‫بر‬ ‫مبتنی‬ ‫محبوب‬ ‫زبان‬ ‫یک‬‫شی‬‫و‬ ‫داینامیک‬ ،‫مفسری‬‫است‬. ‫گرایی‬ ‫شی‬:‫ب‬ ‫طی‬ ‫در‬ ‫و‬ ‫شوند‬‫می‬ ‫بندی‬‫تقسیم‬ ‫تری‬‫کوچک‬ ‫ی‬‫واحدها‬ ‫در‬ ‫کدها‬ ‫گرا‬‫شی‬ ‫نویسی‬ ‫برنامه‬ ‫در‬‫این‬ ‫رنامه‬ ‫شود‬ ‫ایجاد‬ ‫نهایی‬ ‫ی‬‫برنامه‬ ‫تا‬ ‫خورند‬‫می‬ ‫پیوند‬ ‫باهم‬ ‫واحدها‬. ‫مفسری‬ ‫زبان‬:‫شوند‬‫می‬ ‫اجرا‬ ‫و‬ ‫ترجمه‬ ‫خط‬ ‫به‬ ‫خط‬ ‫صورت‬ ‫به‬ ‫آن‬ ‫کدهای‬ ‫که‬ ‫است‬ ‫زبانی‬ ‫مفسری‬ ‫زبان‬!‫ز‬ ‫این‬‫بان‬ ‫شوند‬‫می‬ ‫اجرا‬ ‫و‬ ‫ترجمه‬ ‫کدها‬ ‫کل‬ ‫یکباره‬ ‫که‬ ‫گیرد‬‫می‬ ‫قرار‬ ‫کامپایلری‬ ‫های‬‫زبان‬ ‫مقابل‬. 4
  • 5. .1‫دنیاست‬ ‫نویسی‬ ‫برنامه‬ ‫های‬ ‫زبان‬ ‫ترین‬ ‫محبوب‬ ‫جزو‬ ‫اسکریپت‬ ‫جاوا‬ .2‫است‬ ‫آل‬ ‫ایده‬ ‫ها‬ ‫وارد‬ ‫تازه‬ ‫برای‬ .3‫است‬ ‫اسان‬ ‫آن‬ ‫یادگیری‬ .4‫است‬ ‫متونعی‬ ‫زبان‬ .5‫است‬ ‫افزایش‬ ‫درحال‬ ‫آن‬ ‫شغلی‬ ‫پتانسیل‬ .6‫ایجادکنیم‬ ‫صفحاتمان‬ ‫برای‬ ‫زیبایی‬ ‫جلوهای‬ ‫میتوانیم‬ ‫آن‬ ‫با‬ 5‫یادبگیریم؟‬ ‫اسکریپت‬ ‫چراجاوا‬
  • 6. ‫اسکریپت‬ ‫جاوا‬ ‫کندبودن‬ ‫کرد‬ ‫دیباگ‬ ‫را‬ ‫آن‬ ‫میتوان‬ ‫سخت‬ ‫مرورگرها‬ ‫ی‬ ‫درهمه‬ ‫اجرانشدن‬ ‫مرورگراجرامیشود‬ ‫بروی‬ ‫فقط‬ ‫مرورگر‬ ‫حافظه‬ ‫افزایش‬ 6‫معایب‬
  • 7. ‫کامپایلرندارد‬ ‫نیازبه‬ ‫واجرا‬ ‫پردازش‬ ‫برای‬ ‫نویسی‬ ‫برنامه‬ ‫های‬‫زبان‬ ‫از‬ ‫خیلی‬ ‫به‬ ‫نسبت‬ ‫اسکریپت‬ ‫جاوا‬ ‫یادگیری‬ ‫است‬ ‫تر‬‫راحت‬ ‫دهد‬‫می‬ ‫نویسان‬ ‫برنامه‬ ‫به‬ ‫را‬ ‫پویا‬ ‫و‬ ‫تعاملی‬ ‫وب‬ ‫صفحات‬ ‫ایجاد‬ ‫امکان‬ ‫در‬ ‫را‬ ‫زیادی‬ ‫بسیار‬ ‫ابزارهای‬ ‫کلی‬ ‫صورت‬ ‫به‬ ‫و‬ ‫ها‬‫ها،کتابخانه‬ ‫ورک‬ ‫فریم‬ ‫دهد‬‫می‬ ‫قرار‬ ‫اختیارتان‬ 7‫مزایا‬
  • 8. ‫کتابخانه‬:‫از‬ ‫ای‬ ‫مجمو؟ه‬ ‫فقط‬ ‫کتابخانه‬api‫ها‬(‫ها‬ ‫کالس‬ ‫مثله‬,‫متدها‬,‫ها‬ ‫ماژول‬,)...‫به‬ ‫رو‬ ‫اونا‬ ‫که‬ ‫هست‬ ‫میکنیم‬ ‫اضافه‬ ‫کدخودمون‬,‫میکنیم‬ ‫استفاده‬ ‫اونا‬ ‫از‬ ‫نویسی‬ ‫کد‬ ‫شدن‬ ‫تر‬ ‫ساده‬ ‫برای‬ ‫و‬. ‫ورک‬ ‫فریم‬:Framework‫جهان‬ ‫نویسان‬ ‫برنامه‬ ‫بهترین‬ ‫توسط‬ ‫که‬ ‫هستند‬ ‫کدنویسی‬ ‫ساختارهای‬ ‫و‬ ‫هاچهارچوب‬ ‫و‬ ‫بزارها‬ ‫وا‬ ‫کدها‬ ‫ای‬ ‫مجمو؟ه‬ ‫بصورت‬. ..‫دارند‬ ‫هدف‬ ‫یک‬ ‫تنها‬ ‫که‬ ‫اند‬ ‫شده‬ ‫ِائه‬‫ر‬‫ا‬:‫نویسان‬ ‫برنامه‬ ‫رابرای‬ ‫نویسی‬ ‫برنامه‬ ‫راحتروسریعترکنند‬. 8‫ها‬ ‫ورک‬ ‫وفرم‬ ‫ها‬ ‫کتابخانه‬
  • 9. ‫اند‬ ‫بک‬ • ‫اس‬ ‫جی‬ ‫نود‬ • ‫فریمورک‬Express.js ‫اند‬ ‫فرانت‬ • Angular.js • ‫کتابخانه‬React • ‫فریمورک‬Vue.js ‫موبایل‬ ‫ودکستاپ‬ • ‫فریمورک‬Electron.js • ‫فریمورک‬React Native 9‫اسکریپت‬ ‫جاوا‬ ‫های‬ ‫ورک‬ ‫وفریم‬ ‫ها‬ ‫کتابخانه‬
  • 10. React JS‫کتابخانه‬ ‫یک‬JavaScript‫ها‬ ‫سایت‬ ‫وب‬ ‫در‬ ‫تعاملی‬ ‫؟ناصر‬ ‫ساخت‬ ‫برای‬ ‫وب‬ ‫ساخت‬ ‫در‬ ‫که‬ ‫است‬ ‫شود‬ ‫می‬ ‫استفاده‬. ‫ایجادشد؟‬ ‫کسی‬ ‫چه‬ ‫توسط‬ ‫سال‬ ‫در‬2011‫واک‬ ‫جردن‬ ‫بوک‬ ‫فیس‬ ‫مهندس‬ ،React JS‫توسعه‬ ‫بهبود‬ ‫برای‬ ‫خاص‬ ‫طور‬ ‫به‬ ‫را‬UI‫کرد‬ ‫ایجاد‬. ‫دهندگان‬ ‫توسعه‬ ‫چرا‬JavaScript‫از‬React JS‫کنند؟‬ ‫می‬ ‫استفاده‬ ‫از‬ ‫قبل‬React JS،‫از‬ ‫دهندگان‬ ‫توسعه‬"‫اسکریپت‬ ‫جاوا‬ ‫وانیال‬"‫یا‬ ‫و‬jQuery‫میکردند‬ ‫استفاده‬.‫زیادی‬ ‫زمان‬ ‫میکردند‬ ‫کردن‬ ‫باگ‬ ‫دی‬ ‫و‬ ‫خطاها‬ ‫رفع‬ ‫نویس‬ ‫برنامه‬. 10react
  • 11. react ‫کلیدی‬ ‫های‬ ‫ویژگی‬react‫؟‬ Dom:DOM‫دهنده‬ ‫نشان‬UI‫سایت‬ ‫وب‬(‫اپلیکیشن‬)‫است‬.‫وضعیت‬ ‫در‬ ‫که‬ ‫تغییری‬ ‫هر‬UI‫یا‬ ‫اپلیکیشن‬ ،‫میدهد‬ ‫رخ‬ ‫سایت‬ ‫وب‬DOM‫دهد‬ ‫نمایش‬ ‫شما‬ ‫به‬ ‫را‬ ‫تغییرات‬ ‫تا‬ ‫شود‬ ‫می‬ ‫بروزرسانی‬. JSX:‫افزونه‬ ‫یک‬React‫ایجاد‬ ‫برای‬DOM‫های‬Html‫است‬ ‫کامپونت‬ ‫درقالب‬. virtual DOM‫از‬ ‫مجازی‬ ‫ارائه‬ ‫یک‬ ‫واقعی‬ ‫در‬DOM‫است‬.‫کند‬ ‫می‬ ‫تغییر‬ ‫ما‬ ‫اپلیکیشن‬ ‫وضعیت‬ ‫که‬ ‫زمانی‬ ‫هر‬‫به‬ ‫جای‬DOM‫این‬virtual DOM‫شود‬ ‫می‬ ‫رسانی‬ ‫بروز‬ ‫که‬ ‫است‬. 11 const Hello =<h1> Hello world </h1>;
  • 12. react 12 o‫یک‬ ‫که‬ ‫زمانی‬element‫به‬ ‫جدید‬UI‫یک‬ ،‫شود‬ ‫می‬ ‫اضافه‬virtual DOM‫شود‬ ‫می‬ ‫ایجاد‬. o‫هر‬element‫است‬ ‫درخت‬ ‫از‬ ‫گره‬ ‫یک‬. o‫این‬ ‫از‬ ‫یک‬ ‫هر‬ ‫وضعیت‬ ‫اگر‬element‫درخت‬ ‫یک‬ ،‫کند‬ ‫پیدا‬ ‫تغییر‬ ‫ها‬virtual DOM‫می‬ ‫ایجاد‬ ‫جدید‬ ‫شود‬.
  • 13. ‫جاوااسکریپت‬ ‫کدهای‬ ‫اجرای‬ ‫برای‬ ‫مختلف‬ ‫مرورگرهای‬ ‫موتور‬: o.‫موتور‬V8‫کروم‬ ‫و‬ ‫اپرا‬ ‫مرورگرهای‬ ‫برای‬ o‫موتور‬SpiderMonkey‫فایرفاکس‬ ‫برای‬ o‫موتورهای‬Trident‫و‬Chakra‫اکسپلورر‬ ‫اینترنت‬ ‫مختلف‬ ‫های‬‫ورژن‬ ‫برای‬ o‫موتور‬ChakraCore‫مرورگر‬ ‫برای‬Edge o‫موتورهای‬Nitro‫و‬SquirrelFish‫سافاری‬ ‫مرورگر‬ ‫برای‬ ‫مرورگرها؟‬ ‫موتور‬ ‫کار‬ ‫ی‬ ‫نحوه‬ ‫کنند‬‫می‬ ‫ترجمه‬ ‫را‬ ‫اسکریپت‬ ‫جاوا‬ ‫کدهای‬ ‫ابتدا‬ ‫در‬ ‫موتورها‬ ‫این‬.‫ک‬‫می‬ ‫کامپایل‬ ‫ماشین‬ ‫زبان‬ ‫به‬ ‫را‬ ‫ها‬‫اسکریپت‬ ‫سپس‬‫تا‬ ‫نند‬ ‫شوند‬ ‫اجرا‬ ‫کدها‬ ‫نهایت‬ ‫در‬. 13‫کارمیکند‬ ‫چگونه‬ ‫اسکریپت‬ ‫جاوا‬
  • 14. :‫میکند‬ ‫راتعریف‬ ‫اطال؟ات‬ ‫فناوری‬ ‫حوزه‬ ‫استاندارهای‬ ‫که‬ ‫است‬ ‫سازمانی‬. Ecma international .‫استاندارد‬QWERTY ECMA-262:ECMA-262،‫است‬ ‫شده‬ ‫تعریف‬ ‫المللی‬‫بین‬ ‫اکمای‬ ‫توسط‬ ‫که‬ ‫است‬ ‫دیگری‬ ‫استاندارد‬.‫اس‬ ‫این‬‫تاندارد‬ ‫است‬ ‫منظوره‬ ‫همه‬ ‫نویسی‬‫اسکریپت‬ ‫زبان‬ ‫یک‬ ‫برای‬ ‫هایی‬‫شناسه‬ ‫شامل‬. 14Ecma script
  • 15. Ecma script ‫گیری‬ ‫نتیجه‬: o‫باشد‬ ‫کرده‬ ‫ا؟مال‬ ‫یا‬ ‫تعریف‬ ‫را‬ ‫آن‬ ‫اسکریپت‬ ‫جاوا‬ ‫که‬ ‫نیست‬ ‫استاندری‬ ‫اسکریپت‬ ‫اکما‬. o‫نیست‬ ‫جاوا‬ ‫هسته‬ ‫اسکریپت‬ ‫اکما‬. o‫خواندن‬ ‫با‬ECMASCRIPT‫بسازیم‬ ‫نویسی‬ ‫اسکریپ‬ ‫زبان‬ ‫یک‬ ‫چطور‬ ‫گیرید‬‫می‬ ‫یاد‬. o‫کنیم‬ ‫استفاده‬ ‫نویسی‬ ‫اسکریپت‬ ‫زبان‬ ‫ازیک‬ ‫چطور‬ ‫یادمیگریم‬ ‫اسکریپت‬ ‫جاوا‬ ‫های‬ ‫ودستورالعمل‬ ‫مستندات‬ ‫باخواندن‬. 15 ‫دهنده‬ ‫ارئه‬ ‫نام‬:‫موضوع‬:
  • 16. ECMAScript 6‫چیست؟‬ ECMAScript 6،‫استاندارد‬ ‫از‬ ‫نسخه‬ ‫ششمین‬ECMA-262‫و‬ ‫تغییر‬ ‫دچار‬ ‫آن‬ ‫اولیه‬ ‫نسخه‬ ‫به‬ ‫نسبت‬ ‫و‬ ‫است‬ ‫است‬ ‫شده‬ ‫زیادی‬ ‫تحوالتی‬.ECMAScript 6‫های‬‫نام‬ ‫با‬ ‫را‬ECMA-2015،ES6‫و‬ECMAScript 2015‫شناسند‬‫می‬ ‫نیز‬. bable‫چیست؟‬ ‫کدهای‬ ‫تواند‬‫می‬ ‫که‬ ‫است‬ ‫مبدل‬ ‫یک‬ ،‫بابل‬ES6‫کدهای‬ ‫به‬ ‫را‬ES5‫کند‬ ‫تبدیل‬.‫حتی‬ ‫اسکریپت‬ ‫جاوا‬ ‫وکدهای‬ ‫کرد‬ ‫اجراش‬ ‫قدیمی‬ ‫درمروگرهای‬. 16 ‫دهنده‬ ‫ارئه‬ ‫نام‬:‫موضوع‬: ECMASCript 6
  • 18. ‫اسکریپت‬ ‫کارجاوا‬ ‫بازار‬ Node js Node js‫ش‬‫می‬ ‫استفاده‬ ‫پذیر‬ ‫مقیاس‬ ‫ی‬‫شبکه‬ ‫تحت‬ ‫های‬‫اپلیکیشن‬ ‫ساختن‬ ‫برای‬ ‫که‬ ‫است‬ ‫پلتفرمی‬‫ود‬.‫ا؟الم‬ ‫طبق‬ stackoverflow‫سال‬ ‫در‬2017‫است‬ ‫بوده‬ ‫تکنولوژی‬ ‫ترین‬‫پراستفاده‬.‫از‬ ‫استفاده‬ ‫با‬node js‫به‬ ‫توانید‬‫می‬ ‫بنویسید‬ ‫اسکریپت‬ ‫جاوا‬ ‫با‬ ‫را‬ ‫خود‬ ‫ی‬‫شبکه‬ ‫تحت‬ ‫اپلیکیشن‬ ‫یا‬ ‫سایت‬ ‫اند‬ ‫بک‬ ‫راحتی‬. Nodejs‫دارد؟‬ ‫هایی‬ ‫ویژگی‬ ‫چه‬ ‫باال‬ ‫کارآیی‬ ‫و‬ ‫سر؟ت‬,‫اند‬ ‫بک‬ ‫در‬ ‫جاوااسکریپت‬ ‫از‬ ‫استفاده‬ ‫امکان‬ ‫و‬ ‫بزرگ‬ ‫کاربری‬ ‫ی‬‫جامعه‬. ‫رابا‬ ‫خود‬ ‫اند‬ ‫بک‬ ‫هایی‬ ‫سایت‬ ‫چه‬node js‫کردند؟‬ ‫طراحی‬ ‫مثل‬ ‫هایی‬‫وبسایت‬:ebay,‫پال‬ ‫پی‬,‫لینکدین‬,‫گوگل‬,‫اوبر‬,‫مدیوم‬ ‫و‬ ‫هاب‬ ‫گیت‬ 18 ‫دهنده‬ ‫ارئه‬ ‫نام‬:‫موضوع‬:
  • 19. Javascript & typescript Typescript‫میباشد‬ ‫مناسب‬ ‫بسیار‬ ‫بزرگ‬ ‫های‬‫اپلیکیشن‬ ‫برای‬ ‫که‬ ‫میباشد‬ ‫سورس‬ ‫اوپن‬ ‫نویسی‬‫برنامه‬ ‫زبان‬ ‫یک‬. ‫هدفی؟‬ ‫چه‬ ‫شده؟وبا‬ ‫طراحی‬ ‫کسی‬ ‫چه‬ ‫توسط‬ ‫سال‬ ‫در‬ ‫زبان‬ ‫این‬ ،‫میشد‬ ‫پیچیده‬ ‫بسیار‬ ،‫بزرگ‬ ‫های‬‫پروژه‬ ‫در‬ ‫اسکریپت‬ ‫جاوا‬ ‫کدهای‬ ‫مدیریت‬ ‫اینکه‬ ‫دلیل‬ ‫به‬2012‫مایکروسافت‬ ‫توسط‬ ‫است‬ ‫یافته‬ ‫توسعه‬. ‫میباشد‬ ‫معتبر‬ ‫نیز‬ ‫اسکریپت‬ ‫تایپ‬ ‫در‬ ،‫شما‬ ‫اسکریپت‬ ‫جاوا‬ ‫کدهای‬. Typescript‫از‬ ‫زیرمجمو؟ه‬ ‫یک‬Javascript‫است‬: ‫اسکریپت‬ ‫جاوا‬+‫بیشتر‬ ‫های‬‫ویژگی‬=‫اسکریپت‬ ‫تایپ‬. ‫دارد؟‬ ‫اسکریپت‬ ‫جاوا‬ ‫با‬ ‫تفاوتی‬ ‫چه‬ Typescript‫و‬ ‫بزرگ‬ ‫های‬‫پروژه‬ ‫در‬ ‫اما‬ ‫ندارد‬ ‫اسکریپت‬ ‫جاوا‬ ‫با‬ ‫تفاوتی‬ ‫هیچ‬large-scale‫میشود‬ ‫استفاده‬. ‫روش‬ ‫به‬ ‫اسکریپت‬ ‫تایپ‬trans compiles‫میشود‬ ‫کامپایل‬ ‫اسکریپت‬ ‫جاوا‬ ‫به‬ ،‫سورس‬ ‫به‬ ‫سورس‬ ‫کامپایلینگ‬ ‫یعنی‬.‫ساخ‬ ‫از‬‫تار‬ ‫های‬‫ویژگی‬ ‫از‬ ‫و‬ ‫میکند‬ ‫پیروی‬ ‫گرا‬ ‫شی‬ ‫نویسی‬ ‫برنامه‬OOP،‫اینترفیس‬ ،‫ها‬‫کالس‬ ‫مانند‬namespace‫پشتیبانی‬ ‫وراثت‬ ‫و‬ ‫ها‬ ‫میکند‬. 19