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

سه شنبه 13 اسفند 1398

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

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

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


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

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

 فریم ورک های جاوا اسکریپت


کارهایی که خودمان می توانیم انجام دهیم

درخواست های HTTP را در نظر بگیرید، شما کافی است که یک تابع 50 خطی را برای عملکرد GET ساده که هم در فایرفاکس و هم در اینترنت اکسپلورر اجرا می شود بنویسید. به عنوان مثال ما در این جا یک مثال را برای شما آورده ایم که کارکرد ساده POST را برای شما انجام می دهد. ما در حال حاضر بیش از یک سال است که از آن به عنوان React data pump استفاده می کنیم:

function postMe(name, data, callback, onError) {

    var request = new XMLHttpRequest();

    request.onreadystatechange = function() {

        if (request.readyState != 4 || request.status != 200) { return; }

        var body = JSON.parse(request.responseText);

        if (body.error) {

            onError(body.error);

        }

        else {

            callback.(body);

        }

    };

    request.open("POST", '/api/' + name, true);

    request.setRequestHeader("Content-type", "application/json");

    request.send(JSON.stringify(data));

}

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

 فریم ورک های جاوا اسکریپت


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

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

 فریم ورک های جاوا اسکریپت


همه چیز برای همه کس

ما همواره از خدماتی استفاده می کنیم که سعی می کنند موارد مختلفی را برای کاربردهای مختلف در اختیار ما قرار دهند. این مسئله واقعا یک مسئله بسیار مهم است. یکپارچه کردن API ها مزایای بسیار زیادی برای شما دارد و یک چیز کاملا مفید است. به عنوان مثال جی کوئری ساخته شد چرا که مرورگرها کارهای مختلفی را انجام می دهند و API جاوا اسکریپت زیادی را برای آن انجام نمی داد. با این وجود زمانی وجود داشت که هر web dev تنها شامل جی کوئری بود تا بتواند عناصر DOM را برای یک HTML درونی انتخاب کند. اکنون این مثال را در نظر بگیرید:

Author's note, this is mostly for example, don't manipulate DOM unless you know what that means for your app


var el1 = document.getElementById(id_Name);

var el2 = document.getElementsByClass(class_Name); // returns array

var el3 = document.querySelector("div.user-panel.main input[name='login']");


// Want it in a jquery style function name?


var $ = document.querySelector; // Or get fancier if you wish

var el4 = $("div.user-panel.main input[name='login']");

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

 فریم ورک های جاوا اسکریپت


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

در این جا تنها موضوع مهم این نیست که چه زمانی و چگونه از فریم ورک های جاوا اسکریپت استفاده کنیم، نکته مهم دیگری که بسیار تاثیر گذار است این است که چگونه ویژگی ها و افزونه ها را به اپلیکیشن های خود اضافه کنیم. به عنوان مثال ادغام ابزارهای بصری سازی گوگل را در فریم ورک انگولار در نظر بگیرید. در MobilSense ما برای گزارش دادن به تیم های مدیریتی نیاز بسیار زیادی به نمودارها داریم اما می توانیم از انگولار برای این کار استفاده کنیم. بنابراین ما چگونه می توانیم این عملکرد را به نمودار برنامه ها و اپلیکیشن های خود اضافه کنیم؟

گزینه هایی که ما برای این کار داشتیم این بود که یا از angular-google-chart استفاده کنیم و یا این که راه حل خود را به وجود بیاوریم. اگرچه angular-google-chart یک کتابخانه فوق العاده بود که من از آن در جاهای دیگر استفاده کرده بودم و از سازنده آن که آن را به صورت رایگان در اختیار همه قرار داده است تشکر می کنم ولی ما تصمیم گرفتیم تا راه حل خود را به وجود بیاوریم که برای این کار نیز دلایل خاص خود را داشتیم. در این بخش ما چگونه جمع آوری این اطلاعات را برای شما آورده ایم:

 فریم ورک های جاوا اسکریپت

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


چه زمانی ما نباید از فریم ورک های جاوا اسکریپت استفاده کنیم و چه زمانی باید استفاده کنیم؟( بخش اول)

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

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

 فریم ورک های جاوا اسکریپت


چه زمانی باید از فریم ورک ها استفاده کنیم و چه زمانی نباید استفاده کنیم؟( بخش دوم)

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

مانند هر کار دیگری در مهندسی نرم افزار شما می توانید این کار را نیز مانند ساخت و ساز در نظر بگیرید. اگر شما در حال ساخت یک خانه برای سگ خود هستید احتمالا هر کاری که انجام دهید مفید خواهد بود ولی اگر قصد داشته باشید یک آسمان خراش بسازید باید برنامه ریزی بیشتر و دقیق تری داشته باشید.

 فریم ورک های جاوا اسکریپت


جمع بندی و صحبت پایانی

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

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

نویسنده 3355 مقاله در برنامه نویسان
  • C#.net
  • 1k بازدید
  • 2 تشکر

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

در صورتی که در رابطه با این مقاله سوالی دارید، در تاپیک های انجمن مطرح کنید