۰۹۱۲ ۸۷۲ ۷۸ ۶۲

فریمورک چیست

فریمورک یک مدل پیاده سازی نرم افزار است که در آن امکان تولید و توسعه نرم افزار به صورت مستقل از پلات فرم و نوع دستگاه امکان پذیر است. در واقع دات نت لایه‌ ای میان سیستم‌ عامل و زبان برنامه‌نویسی است.

توجه: Net Framework. یک زبان برنامه نویسی نیست، بلکه چارچوبی است که چندین زبان برنامه نویسی را پشتیبانی می‌کند.
پس اگر در جایی کلمه چارچوب دات نت را شنیدید, منظور همان فریمورک است.
این چارچوب شامل مجموعه‌ای از زبانهای برنامه‌نویسی است که سی شارپ و ویژوال بیسیک مهم‌ترین آن‌ها می‌باشند.
فریمورک بر روی تمامی ویرایش‌های سیستم‌عامل ویندوز مایکروسافت قابل اجراست و در سیستم‌عامل‌های دیگر از جمله لینوکس و مکینتاش نیز وارد شده‌است. هدف از ایجاد دات نت، تسهیل در پیاده سازی نرم افزارهای وب می باشد.

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

تاریخچه فریمورک

مایکروسافت در دهه ۱۹۹۰ میلادی شروع به تولید NET. نمود.
در ژوئن۲۰۰۰، شرکت مایکروسافت ایجاد چهارچوب نرم‌افزاری دات‌نت، به همراه یک زبان برنامه‌نویسی جدید به نام سی‌شارپ را اعلام کرد.

نحوه عملکرد فریمورک

برنامه‌های نوشته‌شده در این چهارچوب، ابتدا به زبان میانی مایکروسافت و متاداده (metadata) ترجمه شده, سپس توسط CLR اجرا می‌شوند.
دات نت باعث شد که قدرت برنامه‌نویسی در زبانهای تحت این چارچوب یکسان شود و تفاوت فقط در نوع کدنویسی باقی بماند. چون ابزار و قدرت در دات نت از خواص دات نت است، نه زبان. تغییر عمده‌ای که در برنامه‌نویسی با دات نت نسبت به گذشته قابل رویت است نحوه اتصال به پایگاه‌های داده است که علاوه بر روش‌های قدیمی مانند DAO و ADO می‌توان از فناوری جدید ADO.NET و Entity Framework استفاده کرد.

CLR چیست؟

سی ال ار (Common Language Runtime) زبان اجرای زبان مشترک می‌باشد.
CLR بخشی از ماشین مجازی چارچوب دات‌نت است که وظیفهٔ مدیریت اجرای برنامه‌های دات‌نت را برعهده دارد.
در فرآیندی که به همگردانی در زمان اجرا شناخته شده‌است، کدهای همگردانی‌شده را تبدیل به دستورهایی که قابل اجرا در واحد پردازش مرکزی (CPU) است می‌کند. همچنین CLR خدمات اضافه‌ای از قبیل مدیریت حافظه، امنیت نوع (Type safety) و مدیریت استثنا را نیز ارائه می‌دهد. همهٔ برنامه‌های نوشته در چارچوب دات‌نت، بدون در نظر گرفتن زبان برنامه‌نویسی‌شان توسط CLR اجرا می‌گردند. CLR، مدیریت استثنا، جمع‌آوری زباله‌ها (garbage collection) و مدیریت نخ‌ها (thread management) را نیز فراهم می‌آورد و بین همهٔ نسخه‌های چارچوب دات‌نت مشترک است.

توجه: هیچوقت NET Core را با CLR اشتباه نگیرید.

NET Core

یک چارچوب چند سکویی و آزاد و متن باز مشابه چارچوب دات نت است که توسط مایکروسافت توسعه داده شده و تحت پروانه ام‌آی‌تی منتشر شده‌است.

کتابخانه فریمورک

برای سهولت در تولید و توسعه نرم افزار، مایکروسافت در دات نت مجموعه ای از کتابخانه های قوی ایجاد نموده است که در آن از فناوری های ADO.NET و ASP.NET استفاده شده است.
NET Framework Class Library. مجموعه ای از کلاس ها و توابع می باشد که قبلا توسط مایکروسافت نوشته شده اند. کتابخانه ها، امکان استفاده مجدد از کدها برای اکثر عملیات متداول نظیر دستیابی به داده ها، پیاده سازی سرویس های وب XML ، فرم های وب و یا ویندوز را فراهم می نماید و بدین ترتیب برنامه نویسان می توانند برای پیاده سازی عملیات تکراری، از توابع و کلاس های موجود در این کتابخانه استفاده کرده و راحت تر برنامه نویسی نمایند.

JQUERY، یک کتابخانه کلاسیک قدیمی

در جهان جاوا اسکریپت، jQuery هنوز هم یکی از پرطرفدارترین و محبوب‌ترین کتابخانه‌ها است.
jQuery در سال 2006 توسط جان ریزک (John Resig) منتشر شد و در وب‌سایت‌های سراسر جهان مورداستفاده قرارگرفت.
تخمین زده میشه 50٪ وب‌سایت‌های شناخته‌شده از jQuery استفاده می‌کنند. این ‌رقم، صدها میلیون وب‌سایت‌ را شامل می‌شود.
بنابراین، jQuery یک کتابخانه است که عمدتا برای مدل شیءگرای سند (Document Object Model, DOM) استفاده می‌شود.
DOM یک ساختار درخت مانند است که تمام عناصر را در یک صفحه وب نشان می‌دهد.
درواقع، DOM یک رابط برنامه‌نویسی برای سندهای XML و Html است. با استفاده از DOM، نحوه دستیابی و انجام پردازش‌های لازم در رابطه با سند‌های XML و Html فراهم می‌گردد. برنامه‌نویسان با استفاده از DOM، قادر به ایجاد یک سند، حرکت در طول ساختار سند، افزودن، اصلاح یا حذف المان‌های یک سند XML و یا Html هستند.

نکته: jQuery می تواند عناصر DOM را انتخاب کند، انیمیشن بسازد، رخدادها را مدیریت کند و ...
هدف از خلق این کتابخانه، ساده‌سازی، گسترش و واضح‌تر شدن کارها اعلام‌شده است.
جی‌کوئری از ناسازگاری متقابل مرورگرها جلوگیری می‌کند و موجب تفکیک HTML و جاوا اسکریپت می‌شود.

کتابخانه Underscore and Lodash

در سال 2009، جرمی اشکناس (Jeremy Ashkenas) کتابخانه Underscore را ایجاد کرد که بیش‌از 100 تابع را پوشش می‌د‌هد.
این توابع به شما کمک می‌کنند تا آرایه‌ها، اشیاء و سایر توابع را دستکاری کنید.
یکی از قوی‌ترین ویژگی‌های Underscore کمک‌های برنامه‌نویسی کاربردی آن است.
به‌عنوان‌مثال، نقشه (map)، فیلتر (filter) و کاهش (reduce)، برخی از محبوب‌ترین کمک‌ها به شمار می‌روند. برنامه‌نویسی کاربردی (Functional Programming, FP) یک پارامتر برنامه‌نویسی است که از تغییر وضعیت و تغییر ‌داده‌ها جلوگیری می‌کند. در چند سال اخیر، FP بسیار محبوب‌ شده است.

کتابخانه D3.JS

D3.js یک کتابخانه جاوا اسکریپت برای تجسم داده است. این کتابخانه به‌منظور تحلیل و به نمایش گذاشتن داده‌های پویا و تعاملی در مرورگرهای وب مورداستفاده قرار می‌گیرد. این کتابخانه دارای یک API قدرتمند است که از انتخاب‌گرها (selectors) استفاده می‌کند، بسیار شبیه به آنهایی که شما در jQuery می‌بینید. پس از انتخاب یک عنصر در DOM، می‌توانید تمام انواع انتقال و دست‌کاری را انجام دهید.
توجه: D3.js یک ابزار عالی برای ایجاد تصاویر سفارشی است.
اگر به ‌دنبال هر نوع تجسم‌ سازی هستید، این کتابخانه می‌تواند انتخاب اول شما باشد.

REACT، کتابخانه مورد‌علاقه فیس‌بوک

در مارس 2013، جوردن والکه (Jordan Walke) در هنگام کار با فیس‌بوک، React را منتشر کرد.
ازآن‌به‌بعد، React به یکی‌از محبوب‌ترین کتابخانه‌های فوری تبدیل شد و در صدها‌ هزار وب‌سایت در سراسر جهان مورداستفاده قرارگرفت.
React، که گاهی آن را React.js نیز می‌نامند یک کتابخانه متن‌باز (open-source) است که توسط فیس‌بوک پشتیبانی می‌شود. این کتابخانه به شما کمک می‌کند تا برنامه‌های کاربردی وب را در مقیاس کوچک و بزرگ ایجاد کنید. با استفاده از این کتابخانه می‌توانید سایت‌های تعاملی قدرتمندی بسازید. این کتابخانه از مولفه‌هایی استفاده می‌کند که به‌منظور کپسوله کردن کدها و حالت‌ها به‌کار گرفته می‌شوند. با استفاده از این مولفه‌ها، ساختن رابط کاربری پیچیده، آسان می‌شود.
اگر می‌خواهید وب‌سایت‌های front-end را توسعه‌ دهید، چاره‌ای جز تسلط بر این کتابخانه ندارید.
نکته: هرچیزی که‌با ایده‌های کاربر از‌جمله طراحی‌ها و زبان‌های برنامه‌نویسی مثل css  ,html ,javascript درگیر باشد را front-end می‌گویند.

کتابخانه GLIMMER.JS

Glimmer.js یک تازه‌وارد به اکوسیستم کتابخانه‌های جاوا اسکریپت به ‌شمار می‌رود. این کتابخانه به‌دست توسعه‌دهندگانی که Ember.js را طراحی کرده‌اند در اوایل سال 2017 وارد دنیای فناوری شد.
صفتی که‌به‌این کتابخانه دادند، مولفهUIسریع و سبک‌وزن برای وب (Fast and light-weight UI components for the web) است.

چه تفاوتی بین کتابخانه و فریم‌ورک وجود دارد؟

به‌طورکلی، کتابخانه، یک قطعه کد، باقابلیت استفاده مجدد است که در ابتدای کار مورداستفاده قرار می‌گیرد. یک کتابخانه می‌تواند از چندین توابع (functions)، اشیاء (objects) و متد (methods) وابسته به زبان، تشکیل‌شده باشد. (منظور از زبان در اینجا زبان برنامه‌نویسی هدف است؛ مثلا شما با زبان برنامه‌نویسی جاوا اسکریپت (JAVA SCRIPT)، جاوا (JAVA)، ویژوال‌بیسیک (VISUAL BASIC) یا پی‌اچ‌پی (PHP) برنامه‌ای را می‌نویسید.) برنامه‌ای که شما می‌نویسید برای استفاده از قابلیت‌های یک کتابخانه باید به آن لینک کند. از سوی دیگر، یک فریم‌ورک یا چهار‌چوب، کنترل بیشتری روی برنامه شما دارد. اگر بخواهیم دقیق‌تر به این موضوع بپردازیم، یک فریم‌ورک، برنامه عظیم از پیش نوشته‌شده‌ای است که می‌تواند برای حل مشکلی که در یک ناحیه خاص وجود دارد، به کار گرفته شود. فریم‌ورک‌ها شامل چندین کتابخانه هستند.

اکر یک کتابخانه کلاس یکپارچه داشته باشیم چه اتفاقی می افتد؟

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

بررسی کتابخانه‌ها به پایان رسید. در آخر نباید فوت کوزه گیری (تست فریمورک) را از یاد ببریم !

تست فریمورک

تست یکی از اجزای مهم در تولید نرم‌افزار است. در دات‌نت نیز مانند سایر فناوری‌ها نیاز به تست وجود دارد.
نیاز به ابزار قدرتمندی برای پروفایل کردن برنامه‌های کاربردی دات-نت همیشه احساس می‌شود. در تست باید میزان و نحوه استفاده از پردازنده، ورودی/خروجی و حافظه را در سطح برنامه مشخص نماییم. ابزارهای profiler، برخلاف ابزارهای monitoring، اشکالات کارایی و کندی سیستم را در سطح برنامه‌نویسی مشخص می‌کنند.

آژانس خلاقیت وب پیشتاز با ارائه‌ی خدمات طراحی وب در خدمت شماست.
برای مشاوره، برآورد هزینه و ثبت سفارش می توانید از طریق صفحه ی تماس با ما اقدام نمایید.

Share