طراحي سايت و سرآغاز معروفيت جاوا اسكريپت

آشنايي با سبك هاي دكوراسيون داخلي

نكاتي براي نگهداري اقلام دارويي و اجاره انبار براي آنها
تفاوت بين اجاره انبار كانتينر ، كانتينر كشتيراني و كانكس
آشنايي با اصول انبارداري و اجاره انبار
اجاره انبار كوچك در غرب تهران
اجاره انبار خانگي در غرب تهران
اجاره انبار در غرب تهران

طراحي سايت و سرآغاز معروفيت جاوا اسكريپت

سرآغاز معروفيت جاوا اسكريپت

جاوا اسكريپت اولين بار در ماه مي‎ ۱۹۹۵ براي طراحي سايت توسط نت‌اسكيپ  به‌عنوان يك

زبان اسكريپت‌نويسي تك‌رشته‎اي معرفي شد تا كمك حال مرورگر آن‌ها باشد. معروفيت اين

زبان اسكريپت‌نويسي طي ۵ سال اخير به‌واسطه چند عامل توسعه كليدي صورت گرفته است.

نمودار شكل ۱ داده‎هاي جمع‌آوري شده توسط ردمونك را نشان مي‎دهد كه در آن جاوا اسكريپت به نسبت

ساير زبان‎هاي مطرح و برجسته از محبوبيت بيشتري برخوردار بوده است. ابزار بهتر، پشتيباني و پيشرفت

بيشتر در اين زبان سبب شد تا به‌آهستگي موقعيت خود را به‌عنوان يك بازيگر شاخص در صنعت توسعه

نرم‌افزار مستحكم كند. براي نمونه در نمودار شكل ۲ كه توسط Githut ايجاد شده است،

وضعيت حضور زبان‎هاي برنامه‎نويسي در پروژه‎هاي منبع باز را نشان مي‎دهد.

طراحي سايت

دلايل استفاده از جاوا اسكريپت

دليل نخست:

براي معماري‎هاي توزيع‌پذير مناسب‎تر است
يكي از بزرگ‌ترين مشكلات در زمان نوشتن يك نرم‌افزار، ضرورت نياز به دوباره‌نويسي آن است.

به‌محض اينكه دوباره‌نويسي اتفاق مي‎افتد، بلافاصله هزينه‎هاي توسعه نيز افزايش پيدا مي‎كند،

زيرا هر تغييري كه در نسخه اصلي صورت مي‎گيرد بايد دو بار انجام شود. متأسفانه با فراگير شدن

معمار‎ي‎هاي توزيع‌پذير (براي مثال، اپليكيشن‎هاي يك‌صفحه‎اي و ميكروسرويس‎ها) اين دوباره‌نويسي‎ها

شايع‎تر شده است و همين باعث پيچيده‎تر شدن و سخت شدن نگهداري اپليكيشن‎ها مي‎شود.

براي مثال، اجازه دهيد نگاهي به يك اپليكيشن تك‌صفحه‎اي داشته باشيم. در اينجا شما يك رابطه

كلاينت سرور داريد. در سمت كلاينت (همان مرورگر) شما نياز به ذخيره فهرستي از سياست‌گذاري‎هاي امنيتي

در برابر برخي از موارد پيش رو داريد. اين سياست‌گذاري‎هاي امنيتي بسيار حياتي هستند.

آنها ممكن است شامل مواردي باشند كه هم قابل پاك شدن و هم به‎روزرساني هستند.

آن‌ها به اين دليل مهم هستند كه شما نمي‎خواهيد كارهايي كه انجام‌ناپذير هستند

توسط كاربران قابل مشاهده باشد. مشكل اينجا است كه شما بايد اين اطلاعات را روي سرور نيز ذخيره كنيد.

زيرا اگر شما اين سياست‌گذاري‎ها را روي سرور نيز اعمال نكرده باشيد،

هر فردي كه كمي‎ با دانش فني آشنا باشد مي‎تواند درخواست‎هاي جعلي به آن ارسال كند.

بنابراين، شما در وضعيتي قرار داريد كه يك اپليكيشن مرورگر نوشته شده با جاوا اسكريپت داريد

كه سمت انتهايي (سرور) آن با چيزي شبيه جاوا نوشته شده است.

طراحي سايت در شكل ۳ نموداري را مشاهده مي‎كنيد كه هم سرور (در بالا) و هم كلاينت (در پايين) اطلاعاتي

يكسان را نگهداري مي‎كنند. از آنجا كه آن‌ها با دو زبان مختلف نوشته شده‎اند، اين اطلاعات بايد دوباره‌نويسي شوند.

به سياست‌گذاري‎هاي امنيتي قرمز رنگ در هر دو ناحيه توجه كنيد.

 

طراحي سايت

يادگيري جاوااسكريپت براي توسعه‌دهندگان وب از نان شب واجب‌تر است!

وقتي مرورگر و سرور اطلاعات يكساني را ذخيره مي‎كنند، ناخودآگاه مشكل دوباره‌نويسي پيش مي‎آيد

كه اغلب ناشي از استفاده از زبان‎هاي مختلف در سيستم‎هاي توزيع شده است.

تنها راه حل اين مشكل اين است كه در هر دو سمت از كدهاي مشترك استفاده كنيد.

اما چنين امكاني وجود ندارد، زيرا ما آن‌ها را با زبان‎هاي مختلف نوشته‎ايم و جاوا اسكريپت

تنها زبان قابل فهم توسط مرورگر است.

طراحي سايت
شكل ۳

راه نجات:

جاوا اسكريپت سمت سرور

اكوسيستم جاوا اسكريپت به‌سرعت در حال رشد است و اين سرعت با ظهور يك ابزار ميزباني سمت سرور

به‌نام Node.js كه تحت موتور Google Chrome v8 اجرا مي‎شود، شتاب بيشتري گرفته است. نود به جاوا اسكريپت

اجازه مي‎دهد تا روي يك وب سرور اجرا شود. چنين قابليتي نه‌تنها گزينه‎هاي طراحي و معماري نرم‌افزار را افزايش

مي‎دهد، بلكه با توجه به ماهيت عملكرد اين زبان مشخص شده است كه بسيار گسترش‎پذير است. خيلي از

شركت‎هاي بزرگ مثل نتفليكس و وال‎مارت تصميم گرفتند به‌جاي استفاده از گزينه‎هاي معمول سمت سرور

مثل رابي، پي‎اچ‎پي، سي شارپ، جاوا وغيره معماري‎هاي پايه خود را با نود انجام دهند.

با در اختيار داشتن گزينه استفاده از جاوا اسكريپت در هر دو سمت معماري نرم‌افزار شما مي‎توانيد

سيستم‎هاي توزيع‌پذيري را توسعه دهيد كه مي‎توانند از ماژول‎هاي مشترك استفاده كنند.

در شكل ۴ نمودار قبلي گسترده شده است و نشان مي‎دهد اين سياست‌گذاري‎ها (قرمز رنگ) حالا

در يك مكان واحد تثبيت شده‎اند. استفاده از جاوا اسكريپت سمت سرور همچنين به طراحي ميكروسرويس‎ها

نيز كمك مي‎كند، زيرا همان تكنيك يكسان را مي‎توان براي ساخت ميكروسرويس‎هايي كه از كدهاي مشترك استفاده

مي‎كنند به كار گرفت.

 

طراحي سايت
شكل ۴

دليل دوم:

براي استفاده در سكو‎هاي مختلف بسيار كارآمد است

امروزه طرح تحول ديجيتال در بين سكو‎هاي مختلف به يك موضوع مهم تبديل شده است.

حالا ديگر برنامه‌نويس بايد بتواند يك بار كدنويسي و اپليكيشن خود را در هر محيطي مستقر كند.

جاوا اسكريپت به‌آرامي‎ در حال سازگار شدن با خيلي از سكو‎ها است. حتي در سال ۲۰۰۷ جف آتوود

در يك پست وبلاگي معروف اعلام كرده بود كه جاوا اسكريپت درنهايت به هر اپليكيشني كه به آن اجازه دهد

وارد خواهد شد. او گفته بود: «هر اپليكيشني را كه بتوان با جاوا اسكريپت نوشت، سرانجام با جاوا اسكريپت

نوشته خواهد شد.»

جاوا اسكريپت در حال تبديل شدن به يك ابزار كامل است و از سه ناحيه عمده مورد علاقه توسعه‌دهندگان

يعني وب، دسكتاپ و موبايل پشتيباني مي‎كند. در ادامه نگاهي اجمالي به تنها چند نمونه از فريم‌ورك‎هايي كه

از جاوا اسكريپت به‌عنوان يك زبان چندسكويي‎ قدرت مي‎گيرند خواهيم داشت.

سكو موبايل (IOS و آندرويد) – React Native و NativeScript دو نمونه از فريم‌ورك‎هاي اصلي هستند

كه اجازه مي‎دهند كدهاي جاوا اسكريپت روي موبايل اجرا شود. React توسط فيسبوك براي سكوي موبايل

استفاده مي‎شد. سكوي دسكتاپ (مك و ويندوز) – NW.js و Electron به توسعه‌دهندگان اجازه مي‎دهد تا

مجموعه‎اي از ابزارهاي مورد نياز براي اپليكيشن‎هاي وب تحت سكوي دسكتاپ را در اختيار داشته باشند.

وب (تمام مرورگرها) – Angular و Meteor مثال‎هايي از فريم‌ورك‎هاي اپليكيشن تك‌صفحه‎اي هستند

كه از جاوا اسكريپت استفاده مي‎كنند و به اپليكيشن‎هاي تجاري پيچيده اجازه مي‎دهد تا داخل مرورگر اجرا شوند.

 

دليل سوم:

كاملاً گسترش‌پذير است

طراحي سايت جالب اينجا است كه بزرگ‌ترين نقطه ضعف جاوا اسكريپت حالا به يك قدرت چشمگير

براي آن تبديل شده است. تفاوت اصلي بين جاوا اسكريپت با اغلب زبان‎هاي ديگر مثل Ruby, Java و C# در

تك‌رشته‎اي بودن آن است. اگر شما توسعه‌دهنده نباشيد، اين مسئله چندان اهميتي براي شما ندارد.

به همين دليل ما سعي مي‎كنيم تنها به توضيح مختصري درباره آن بسنده كنيم.

اغلب زبان‎ها قابليتي دارند كه به آن‌ها اجازه مي‎دهد تا بيش از يك مورد از خود را اجرا كنند. آن‌ها دستورالعمل‎ها

را در يك فهرست بلند از كارهايي كه بايد انجام شود قرار مي‎دهند. سپس در فرآيند پردازشي اين دستورالعمل‎ها

يك به يك اجرا مي‎شوند. به چنين ساختاري فرآيند چندرشته‎اي گفته مي‎شود و برنامه‌نويس در هنگام كدنويسي

مي‎تواند از مزاياي اين قابليت استفاده كند. از جمله قابليت‎هاي چندرشته بودن مي‎توان به نوشتن وب سرورهايي كه

نياز به پردازش هم‌زمان تعداد بسيار زيادي كاربر دارند اشاره كرد.

اما چنين امكاني معايب خاص خود را هم دارد: تمام اين جابه‌جايي‎ بين پردازش‎ها به‌دليل نياز به ورود و خروج

مداوم دستورالعمل‎ها و وظايف به حافظه زمان پردازنده را هدر مي‎دهد.

جاوا اسكريپت ذاتاً يك ساختار تك‌رشته‎اي دارد. به اين معنا كه برنامه‌نويس امكان بهره‌مندي از قابليت

پردازش چندرشته‎اي را از دست مي‎دهد و تمام كدهاي جاوا اسكريپت در يك رشته اجرا مي‎شوند.

از آنجا كه چنين ساختاري طراحان سيستم را محدود مي‎كند، آن‌ها بايد كدها را به‌گونه‎اي بنويسند كه فرآيند

پردازش را مختل نكند. نام اين راهكار معماري non-blocking است. چنين ساختاري كار را براي برنامه‌نويس مشكل‎تر

مي‎كند، زيرا آن‌ها بايد كدهايي را بنويسند كه به‌جاي دستورات خطي با رويدادها سر و كار دارد. نتيجه كار اين گونه

خواهد شد كه برنامه‌نويس به‌جاي محيط‎هاي چندرشته‎اي كه منابع در آن در يك صف پردازش قرار مي‎گيرند،

كدهايي را مي‎نويسد كه بلافاصله منابع را آزاد و از مسدود شدن رشته توسط جاوا اسكريپت جلوگيري مي‎كند.

اين كار باعث افزايش قابل توجه عملكرد اپليكيشن‎هايي كه پردازش‎هاي سنگين را اجرا مي‎كنند مي‌شود

و آن را براي محيط وب ايده‎آل مي‎كند. اين بار نيز چنين شيوه‎اي با معايبي همراه است. به همين دليل است

كه جاوا اسكريپت در انجام درخواست‎هايي كه نياز به نگه داشتن پردازنده براي انجام وظايف طولاني مدت دارند

خوب نيست. (براي مثال نوشتن داده‎هاي استريم شده طولاني روي ديسك يا پردازش گرافيك لحظه‎اي از قبيل

بازي‎هاي آنلاين)

ماهيت تك‌رشته‎اي جاوا اسكريپت شيوه‎اي از طراحي نرم‌افزار را فراهم مي‎كند كه درنهايت باعث افزايش عملكرد و گسترش‌پذيري خيلي از پروژه‎هاي نرم‌افزاري و خدمات تحت وب خواهد شد. چنين قابليتي جاوا اسكريپت را به يك ابزار قدرتمند براي استفاده در سازمان‎هايي كه به گسترش ترافيك خود با حداقل قيمت را دارند، تبديل كرده است

نتيجه‎گيري

در اين مقاله ما نگاهي به جاوا اسكريپت و سه قابليت جالب توجه در آن داشتيم. همين قابليت‎ها بودند

كه اين زبان برنامه‌نويسي را تا اين اندازه معروف و محبوب كرده است. اين ويژگي‎ها را مي‎توان اين گونه خلاصه كرد.

جاوا اسكريپت سمت سرور: مي‎توان آن را با استفاده از Node.js روي سرور اجرا كرد و امكان يكپارچه‌سازي

اپليكيشن‎ها را به‌شكل يك كد واحد فراهم ساخت. اين كار پيچيده شدن اپليكيشن‎هاي بزرگ را كم مي‎كند. طراحي و

معماري‎هاي پيچيده با اين روش بهتر قابل انجام است، زيرا ديگر مشكل دوباره‌نويسي كدها را نخواهيم داشت.

پشتيباني ذاتي از چند سكو: با پيشرفت اين زبان حالا امكان پشتيباني از سكو‎هاي IOS، آندرويد و حتي محيط

دسكتاپ ويندوز و مك نيز فراهم شده است و حالا برنامه‌نويسان مي‎توانند محدوديت‎هاي سازگاري برنامه‎هاي خود

را كمتر كنند.

گسترش‌پذيري طراحي سايت در محيط‎هاي پرتراكم و سنگين: ماهيت تك‌رشته‎اي جاوا اسكريپت شيوه‎اي

از طراحي نرم‌افزار را فراهم مي‎كند كه درنهايت باعث افزايش عملكرد و گسترش‌پذيري خيلي از پروژه‎هاي نرم‌افزاري

و خدمات تحت وب خواهد شد. چنين قابليتي جاوا اسكريپت را به يك ابزار قدرتمند براي استفاده در سازمان‎هايي

كه به گسترش ترافيك خود با حداقل قيمت را دارند، تبديل كرده است.

چرا باید جاوا اسکریپت یاد بگیرید؟

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

  • جاوا اسکریپت محبوب ترین زبان برنامه نویسی در جهان است و به همین دلیل یک انتخاب بسیار خوب برای برنامه نویسان میباشد. جاوا اسکریپت با استفاده از چارچوب های مختلف خود مانند jQuery، Node.JS و … به شما کمک می کند تا در هر دو سمت فرانت اند و بک اند، نرم افزارهای فوق العاده ای توسعه دهید.
  • جاوا اسکریپت همه جا هست و تقریبا روی هر مرورگری نصب می شود. بنابراین برای یادگیری آن نیاز به تنظیم و یا نصب محیط خاصی ندارید. کروم، فایرفاکس، سافاری و بسیاری از مرورگرهای دیگر از جاوا اسکریپت پشتیبانی می کنند.
  • جاوا اسکریپت امکان ساخت وب سایت های بسیار زیبا و سریع را فراهم می کند. می توانید ظاهر و ملموس پذیری وب سایت خود را بهبود داده و بهترین تجربه کاربری گرافیکی را به کاربران ارائه دهید. زبان برنامه نویسی پایتون بهتر است یا جاوا؟
ارسال نظر آزاد است، اما اگر قبلا در رویا بلاگ ثبت نام کرده اید می توانید ابتدا وارد شوید.