کتاب آموزش برنامه نویسی Ext JS
برای اولین بار در ایران
Ext JS
در مورد Ext JS بیشتر بدانید
خرید کتاب
ابزارها و کتابخانه هایی که هر توسعه دهنده ی جاوااسکریپت باید با آنها آشنا باشد – قسمت سوم
۲۸ آبان ۱۳۹۴
1707 بازدید
جعبه ابزار وب

جعبه ابزار وب

در این مقاله به سومین و آخرین قسمت از مبحث “نیازهای یک برنامه نویس جاوااسکریپت” می پردازیم، پیشنهاد می کنیم که برای داشتن ذهنیت بهتر دو قسمت قبلی این مقاله را در لینک های زیر بررسی بفرمایید :


 

ابزارها و کتابخانه هایی که هر توسعه دهنده ی جاوااسکریپت باید با آنها آشنا باشد – قسمت اول

ابزارها و کتابخانه هایی که هر توسعه دهنده ی جاوااسکریپت باید با آنها آشنا باشد – قسمت دوم


 

ک ) استفاده از فریم ورک های تولید کننده ی single page application

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

فریم ورک هایی مانند Angular JS، Backbone، Ember، React و KnockoutJS این کار را برای برنامه نویس انجام می دهند. وبسایت ها و وب اپلیکیشن های تولید شده توسط این فریم ورک ها بسیار قوی و مدرن هستند.

اگر می خواهید به طور کامل بدانید که وب اپلیکیشن چیست، این لینک را مطالعه کنید:

وب اپلیکیشن های مدرن یا برنامه های وب تک صفحه ای

 

ل ) استفاده از تمپلت های Html به صورت داینامیک

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

فریم ورک ها و ابزارهایی مانند Handlebars یا Mustache و یا حتی Jade در این زمینه بسیار قدرتمند عمل می کنند.

در مقاله ی قبلی در همین وبسایت که با عنوان “نگاهی به انواع موتورهای تمپلت سازی در جاوااسکریپت” به طور کامل موتورهای مدیریت کننده ی تمپلت ها را در اپلیکیشن های جاوااسکریپت توضیح دادیم.

 

م ) کتابخانه هایی که سرعت کد نویسی را بالا می برند!!!

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

کتابخانه هایی مانند Underscore و یا Loadash از آن دسته ابزارهایی هستند که توابع بیشماری را در خود دارند. توابعی که خود جاوااسکریپت آنها را نداشت و اگر قرار بود شما آنها را بنویسید مدت زمان زیادی باید وقت صرف می کردید.

به عنوان نمونه کتابخانه ی Underscore که خود من در پروژه هایم خیلی زیاد ازش استفاده می کنم بیشتر از ۸۰ تابع از پیش ساخته برای شما فراهم می آورد. مثلا تابع each باعث می شود بتوانید یک حلقه ی کامل مثل زبان Php داشته باشید. به همین راحتی. یا تابع isArray چک می کند که آیا یک متغیر جنسش آرایه است یا نه.

کتابخانه ی Lodash هم در واقع همین کتابخانه ی Underscore است اما کمی پیشرفته تر و بهتر. توابع بیشتری دارد و همچنین Performance بهتری نیز دارد.

 

ن ) کتابخانه های Utility

این کتابخانه ها صرفا یک هدف خاص دارند و غیر از آن هم کار دیگری انجام نمی دهند. پس می توانید حدس بزنید که ما در هر پروژه ای به یک یا چند کتابخانه ی Utility نیاز داریم. بذارید بحث را شفاف تر کنیم: من در یک پروژه ای قرار بود یک کامپوننت تقویم بنویسم، پس از مدتی جستجو و تحقیق فهمیدم که نوشتن کدهای یک تقویم بسیار زیاد و پیچیده است و همین کار را با استفاده از کتابخانه ی moment js ظرف یک روز انجام دادم. هم نتیجه ی کار حرفه ای تر بود هم من زیاد درگیر نشدم.

ما تقریبا برای تمام کارهایی که فکرش را بکنید کتابخانه ی Utility داریم. مثلا برای کار با اعمال currency کتابخانه ی قدرتمند Accounting.js وجود دارد و یا برای کاهش حجم فایل جاوااسکریپت و رمزینه کردن آن می توانید از Uglify JS بهره ببرید.

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

جالب است بدانید که امروزه مجبور نیستیم که برای تولید کد جاوااسکریپت فقط کد جاوااسکریپت بنویسیم!!

خب این یعنی چه!؟ امروزه زبان های دیگری هم به بازار آمده اند که گرامر و syntax دیگری غیر از آنچه در جاوااسکریپت مرسوم است را دارند. این یعنی شما می توانید در آن زبان کدهای خود را بنویسید و سپس آن کد را به جاوااسکریپت تبدیل کنید.

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

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

زبان های حرفه ای که می توانید در آن اسکریپت بنویسید و تبدیل به جاوااسکریپت کنید Typescript و Babel JS هستند که خود من هم جدیدا از آنها استفاده می کنم. استفاده ی شخصی خودم Babel JS است ولی شما Typescript را هم تست کنید.


 

قسمت سوم و آخر “ابزارهای لازم برای یک برنامه نویس جاوااسکریپت” به پایان رسید. سعی کردیم در سه قسمت هر آنچه که یک کدنویس javascript نیاز دارد را معرفی کنیم.

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


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

ابزارها و کتابخانه هایی که هر توسعه دهنده ی جاوااسکریپت باید با آنها آشنا باشد – قسمت اول

ابزارها و کتابخانه هایی که هر توسعه دهنده ی جاوااسکریپت باید با آنها آشنا باشد – قسمت دوم

 




نظراتتان را با ما در میان بگذارید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

  1. java گفت:

    سلام ، کتاب sencha Ext JS از کجا باید تهیه کرد؟

    1. Summit گفت:

      سلام
      داریم تو همین سایت درگاه الکترونیکی میذاریم که از همین جا بشه خرید کرد. متاسفانه روال اداری و گرفتن eNamad سخت شده واحتمالا تا ۱۰ روز دیگه آماده بشه. ان شالله eNamad که گرفتیم اطلاعیه اش رو توی سایت میزنیم.

  2. java گفت:

    چرا نمیشه خلاصه کتاب رو دانلود کرد؟؟؟؟

  3. Alireza گفت:

    سلام
    لطفا در مورد فریمورک های React Native و NativeScript هم بنویسید. آیا میتونن به قدرت و کیفیت swift و java برسن؟

    1. Summit گفت:

      سلام دوست عزیز، چشم حتما، شما موارد مورد نظرتون رو میتونید از قسمت تماس با ما ارسال کنید تا در موردش بتونیم مطلب بنویسیم.