امروز پنجشنبه ۱۴۰۰/۰۱/۲۶

2021/04/15 GMT +4:30
دسته بندی
×

» مفهوم پلتفرم (Platform) و فریم ورک (Framework)

web-platform-framework

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

پلتفرم (Platform)


پلتفرم (Platform) در واقع بستری است که برنامه های نرم افزاری نوشته شده برای یک وسیله در آن قابل اجرا و استفاده است، این بستر هم شامل ملزومات سخت افزاری (مانند نوع سیستم و CPU) و هم شامل ملزومات نرم افزاری (مانند سیستم عامل) است، به طور مثال برنامه های کاربردی و بازی هایی که همه روزه با آنها سر و کار داریم بدون وجود دستگاه هایی مانند کامپیوترهای شخصی (PC)، تلفن های همراه، لپ تاپ ها، کنسول های بازی و... عملا قابل استفاده نیستند (سخت افزار) و از طرفی هر برنامه ای در یک سیستم عامل خاص (و یا حتی تحت نسخه خاص) قابل اجرا است (نرم افزار) که در مجموع به آنها پلتفرم می گوییم، مانند پلتفرم ویندوز XP 64 Bit، پلتفرم ویندوز 10، پلتفرم ویندوز موبایل، پلتفرم لینوکس، پلتفرم اندروید، پلتفرم جاوا، پلتفرم PC، پلتفرم XBOX و...، یا در حوزه وب در حال حاضر برنامه های نوشته شده به زبان ASP.NET نیاز به سرور با سیستم عامل به فرض ویندوز 2008 دارند (پلتفرم ویندوز سرور 2008)، با دقت در عبارت متوجه می شویم که یک پلتفرم در واقع معرف ملزومات سخت افزاری (سرور) و همچنین ملزومات نرم افزاری (سیستم عامل ویندوز سرور 2008) مورد نیاز برای اجرای یک برنامه کاربردی (ASP.NET) است، همچنین ممکن است به نسخه ویژه یک نرم افزار نیز اشاره شده باشد (نسخه 2008)، یا در مورد PHP می توان به پلتفرم لینوکس سرور یا ویندوز سرور اشاره کرد که در واقع به معنی سروری است که روی آن سیستم عامل لینوکس یا ویندوز نصب و فعال باشد و لذا به طور خلاصه می گوییم PHP با پلتفرم لینوکس سرور یا ویندوز سرور قابل اجرا و سازگار است.

فریم ورک (Framework)


فریم ورک (Framework) در لغت به معنی "چارچوب" است و منظور از فریم ورک نرم افزاری، قابلیتی است که معمولا با کمک گرفتن از مجموعه ای از دستورالعمل ها، کتابخانه ها، رابط کاربری، کلاس ها و در کل امکانات فراهم شده از جانب یک نرم افزار یا یک زبان برنامه نویسی، ساختاری جدید ایجاد می کند تا به کارگیری آن نرم افزار یا زبان برنامه نویسی در راستای اهداف ایجاد فریم ورک، ساده تر و نتیجه با سهولت بیشتری محقق گردد، به عبارتی هدف از ایجاد فریم ورک ها معمولا فراهم نمودن ساز و کاری است که بتوان از امکانات یک نرم افزار یا زبان برنامه نویسی به نحو سریع تر و در برخی موارد کاملتر و حرفه ای تر استفاده کرد، فریم ورک ها در مقایسه با کتابخانه های نرم افزای، به لحاظ مفهومی از وسعت بیشتری برخوردارند (هرچند به دلایلی مانند تجملی بودن اصطلاح فریم ورک، برخی سازندگان کتابخانه ها، محصول خود را با اصطلاح فریم ورک نیز می نامند)، به طور مثال یک کتابخانه (مانند jQuery برای JavaScript) صرفا یک کتابخانه است اما فریم ورک (مانند Zend یا CakePHP برای PHP) خود می تواند مجموعه ای از کتابخانه ها و ملزومات دیگر باشد، کتابخانه ها معمولا به صورت بسته هستند و قابلیت توسعه پذیری ندارند، یک متد از کتابخانه بر اساس API آن فراخوانده شده و نتیجه برگردانده می شود، اما فریم ورک ها معمولا ساختار خاص خود را تحمیل می کنند که در چارچوب آن، قابلیت توسعه پذیری فراهم می شود، وجه تمایز دیگر این دو در اصطلاحی به نام معکوس بودن کنترل (Inversion of Control) است، در کتابخانه ها معمولا مجموعه ای از توابع وجود دارند که در هنگام استفاده از آن کتابخانه، صرفا به فراخوانی متد مورد نظر خود می پردازیم (به عبارتی ما متد را صدا می زنیم) و آن بخش از متد اجرا می شود، اما فریم ورک همه چیز را تحت کنترل خود در می آورد و چارچوب خاصی را مشخص می کند که صرفا می توانیم در همان چارچوب، تنظیمات دلخواه خود را اعمال نمائیم (فریم ورک در زمان اجرا، تنظیمات ما را می خواند یا به عبارتی صدا می زند و بر همان اساس نتیجه تولید می شود)، باید مد نظر داشت که استفاده یا عدم استفاده از فریم ورک می تواند بسته به موقعیت و نیاز، امری صحیح و ضروری یا در عین حال زائد و اشتباه تلقی شود، مخصوصا این امر در وب نمود بارزتری دارد، چرا که سرعت پردازش و سبکی برنامه از ارکان کلیدی در موفقیت سایت های وب هستند و فریم ورک ها معمولا به این مقوله آسیب می زنند، با این وجود نیاز به برخی امکانات ویژه، تسریع در روند اجرای پروژه و ایجاد رویه یکسان و هماهنگی در کارهای گروهی می تواند از علل گرایش به استفاده از فریم ورک باشد.
دسته بندی: مهارتهای وب » دانستنی ها
related مطالب بیشتر:
» حمله DDoS چیست و چگونه از آن جلوگیری کنیم؟
» آموزش کاربردی عبارات با قاعده (Regular Expressions)
» دلایل بهم ریختن قالب وبلاگ و سایت
» اصطلاحات و مفاهیمی که مدیر سایت باید بداند!
» لیست کدهای وضعیت HTTP و معنی خطاهای سرور
commentنظرات (۴۸ یادداشت برای این مطلب ارسال شده است)
more یادداشت های جدید بر اساس تاریخ ارسال در انتهای یادداشت های موجود نمایش داده می شوند.
نویسنده: بیتا
۲۲:۵۶ ۱۳۹۳/۰۲/۱۲
خیییییییییییییلییییییییییییییییییی عالللللللللللی بود
ممنونم و برای همتون آرزوی موفقیت دارم
از علیرضا هم خیلی ممنونم بسیار به من انگیزه دادی مرسی
نویسنده: احسان
۰۰:۴۰ ۱۳۹۳/۰۵/۰۳
الان یه سوال برام ایجاد شده ، مثلا وردپرس و جوملا و کلا cms ها، پلتفرم که نیستن و به اشتباه پلتفرم نامیده میشن
اما میشه اونا رو فریم ورک نامید؟
پاسخ: 
همان طور که خودتان عنوان کردید اینها CMS یا content management system هستند، لذا نه پلتفرم و نه فریم ورک هستند!
نویسنده: امین
۱۶:۰۱ ۱۳۹۳/۰۵/۲۷
سلام، عالی بود و دستتون طلا
نویسنده: fateme
۲۳:۲۳ ۱۳۹۳/۰۸/۰۱
سلام.
میشه در مورد فریم ورک لاراول هم توضیح بدین ؟
و یه مرجع خوب هم برای اموزش میخام (فارسی باشه)
ممنون.
پاسخ: 
سلام
متاسفانه در حال حاضر امکان آموزش فریم ورک ها وجود ندارد، لطفا در وب جستجو کنید!
http://laravel.ir
نویسنده: امیرحسین
۱۶:۰۸ ۱۳۹۳/۰۸/۲۴
با سلام، سوالی داشتم در باب فریم ورک، شما گفتید فریم ورک با توجه به امکاناتی که در اختیار ما میذاره معایبی داره، من جمله باعث کاستن سرعت میشه، حالا سوال من اینه که میشه برنامه رو که نوشتیم، تموم شد یه تکنیکی یه حالتی که برنامه وقتی به طور کامل تموم شد کدهای اضافی رو پاک کنه مثلا ما یک سری کامپوننت اضافه کردیم که در هنگام کامپایل، کامپایلر تمام کامپوننت ها رو اضافه میکنه. نمیشه کاری کرد که اونا رو اضافه نکنه، سرعت هم خیلی بالا میره.
پاسخ: 
سلام
امکان جزئی سازی یا همان ایجاد امکانات به صورت کامپوننت وجود دارد که می توان موارد غیر ضروری را به صورت تنظیمات دستی یا بررسی سیستماتیک غیر فعال کرد (برنامه های بهینه اصولا باید اینچنین باشند)، اما خاصیت فریم ورک طوری است که حتی با این کار نیز برای در دسترس بودن یک امکان، مجموعه ای از موارد باید در کنار هم (از جمله هسته فریم ورک) وجود داشته باشند که ممکن است به بخشی از آنها هیچ نیازی نباشد، ذکر این نکته ضروری است که این مسائل در برنامه نویسی اپلیکیشن چندان مشکل ساز نیست و بحث سرعت و... عمدتا در برنامه نویسی وب اهمیت پیدا می کند.
نویسنده: سارا
۱۸:۱۱ ۱۳۹۳/۰۹/۲۰
خدا خیرتون بده عالی بود
نویسنده: امیر خان
۱۶:۲۸ ۱۳۹۳/۱۰/۰۴
عالی بود. مر30
نویسنده: saeed
۱۶:۰۶ ۱۳۹۳/۱۰/۰۹
با تشکر فراوان.
مطالب بسیار کاربردی رو با زبانی ساده بیان میکنید.
شاد و سلامت باشید.
نویسنده: م ج ت ب ی
۱۳:۱۳ ۱۳۹۳/۱۰/۲۱
اون آقایی که گفته راجب کلمه ی فارسی است لطف بفرمایند سند رو هم بنویسند ممنون میشم.
پاسخ: 
اگر ادامه یادداشت ها را مطالعه می کردید نتیجه این شد که نه "راجع به" و نه راجب" هیچ کدام کلمه ای فارسی نیست، ظاهرا راجب املای اشتباه همان کلمه "راجع به" است، البته در اینجا هدف آموزش برنامه نویسی و مباحث مربوطه است و تمرکز بیشتر روی این موضوعات است، نه آموزش و بحث پیرامون اصول نگارش زبان فارسی! :-)
نویسنده: Amin
۲۰:۰۶ ۱۳۹۴/۰۴/۱۲
با مفهوم اینا مشکل داشتم. خیلی واضح و شفاف بود توضیحات. مچکرم و خسته نباشید
نویسنده: آرتین راد
۱۰:۵۲ ۱۳۹۴/۰۴/۱۵
نویسنده عزیز ،
متاسفانه خیلی از کلماتی که ما استفاده می کنیم ، مصطلح غلط هستند ، همانند همین کلمه "راجب" که پس از عامیانه شدنه ادبیات کاربران اینترنتی از "راجع به" تغییر داده شده است.
درست کلمه "راجع به" است !
لینک اثبات:
http://parsi.wiki/dehkhodaworddetail-5ce6ea8c159343f5a00450ceceed5ecb-fa.html
نویسنده: pasha
۰۰:۰۹ ۱۳۹۴/۰۵/۲۸
آقا جان،
jQuery یک کتاب خانه (library) هست نه یک فریم ورک.
پاسخ: 
تذکر شما صحیح است! البته برخی منابع jQuery را فریم ورک عنوان کرده اند که ایراد مطلب به همین علت بوده (مطلب اصلاح خواهد شد!).
https://en.wikipedia.org/wiki/Comparison_of_JavaScript_frameworks

http://www.w3schools.com/js/js_libraries.asp
نویسنده: hasti
۱۰:۵۱ ۱۳۹۴/۰۷/۱۹
ممنون
نویسنده: محمد پورمحمدی فلاح
۲۰:۰۵ ۱۳۹۴/۰۹/۰۷
سلام.
ممنون از اطلاعات خوبتون.
نویسنده: عاطفه
۱۹:۳۹ ۱۳۹۴/۰۹/۲۱
ببخشید پلت فرم چه نقشی تو استخراج اینترنت اشیا داره؟
پاسخ: 
منظور از "استخراج اینترنت اشیا" مشخص نیست؟!
more لطفا پیش از ارسال یادداشت نکات زیر را مد نظر داشته باشید:
- موارد غیرمرتبط با مباحث آموزش ها را در فرم منوی "تماس با ما" مطرح و پاسخ را از طریق ایمیل دریافت کنید.
- به سوالات کلی، مبهم و مشکلاتی که تلاشی برای رفع آن نکرده باشید پاسخ مختصر داده خواهد شد.
- کدها و اسکریپت های طولانی را ترجیحا در یک صفحه وب آنلاین قرار دهید تا امکان تست و بررسی وجود داشته باشد.
- از درج عناوین تبلیغاتی در فیلدها خودداری کنید، در صورتی که یادداشت تبلیغاتی تشخیص داده شود حذف خواهد شد.
- تمام یادداشت ها بررسی و زمانی جهت پاسخگویی در نظر گرفته می شود، لطفا از طرح سوالات متعدد خودداری کنید.





1 × 3
 refresh

آخرین دیدگاه ها
more برای دسترسی سریع به یادداشت مربوطه می توانید از لینک مطلب در کادر زیر استفاده کنید.
form شریفی
در:
سلام مجدد. من یه سوال خیلی تخصصی دارم. ممنون میشم پاسخ بدین. برای پروژه پایان نامه. دارم روی موتورهای جستجوگر تحقیق میکنم. فرض...
۱۴۰۰/۰۱/۲۵

form شریفی
در:
سلام استاد. من از متد file_get_contents استفاده می کنم برای دریافت اطلاعات از سایت های مختلف. بعضی وقتها سایت ها دیر لود میشه. آیا...
۱۴۰۰/۰۱/۲۵

form hh
در:
سلام خدمت شما بنده یه سوال داشتم تمام مراحل شما رو انجام دادم و نتیجه گرفتم و لازمه یه تشکرم بکنم. وبسایت من،...
۱۴۰۰/۰۱/۲۵

form erfan
در:
سلام من واسه یه دکمه یه محتوایی تعریف کردم که وقتی کلیک شد محتوا رو نشون بده اما تو دوجاش موندم یک اینکه چیکار کنم...
۱۴۰۰/۰۱/۲۱

form mahdi
در:
سلام استاد عزیز ، بازم معذرت میخوام سوالام زیاد شد ولی همشون در یک موضوع هستن ، تونستم که با این روش برای هر اسلایدر...
۱۴۰۰/۰۱/۱۸

form mahdi
در:
سلام استاد عزیز عذر میخوام بار سومه پیام میزارم ، مشکلش از ست اینترول بود که قطع نمیشد و با هم تداخل داشتند ولی بدون...
۱۴۰۰/۰۱/۱۸

form mahdi
در:
سلام وقت بخیر استاد عزیز ، یک تابع رو چطور میشه در جاوا اسکریپت اورراید کرد؟ که مثلا با هر فراخوانی مجدد ، قبلی ها...
۱۴۰۰/۰۱/۱۸

form متین
در:
سلام چجوری برای خود صفحه ادرس بسازیم که سایتی که رو ساختیم رو با دستگاه دیگه پیداش کنیم
۱۴۰۰/۰۱/۱۶

form امیرحسین برزویی
در:
من یک وبلاگ دارم و 9 سالمه من در وبلاگم مداحی می گذارم ولی وقتی قاب گذاشتم از این سایت من دیگه فیلم...
۱۴۰۰/۰۱/۱۶

form بنده خدا
در:
سلام خسته نباشین، خدا قوت. یه سوال دارم. چرا در بخش نظردهی وبلاگ به جای عنوان پست می نویسه مطلب مورد نظر یافت نشد؟!...
۱۴۰۰/۰۱/۱۵

form روح الله
در:
موقعی میخواهم وارد سایت ایران خودرو بشم پیام میده از Ip داخلی استفاده کنید دلیلش چیست
۱۴۰۰/۰۱/۱۴

form غریب
در:
تشکر از شما مشکلم حل شد امیدوارم موفق و پیروز باشید هر جا که هستید
۱۴۰۰/۰۱/۱۱

form غریب
در:
سلام مجدد ممنون و تشکر از کمکتون کد به خوبی کار میکنه اما همچنان من مشکلی دارم که حل نتونستم کنم...
۱۴۰۰/۰۱/۱۰

form غریب
در:
سلام مجدد این کدی که دادید خوب هست ولی من بد و ناقص توضیح دادم توجه کنید کد این هست تقریبا ممنون...
۱۴۰۰/۰۱/۱۰

form غریب
در:
سلام خسته نباشید من کدی دارم که میخوام داخل یه بخشیش نتیجه یه رویداد رو فراخوانی کنم و راهش و نمیدونم اگر میشه کمک...
۱۴۰۰/۰۱/۱۰

form محسن
در:
سلام ، سوال من مربوط به پنل کارگزاری هاست ، وقتی اسم یک سهم (نماد) را در قسمت جست و جو سرچ میکنم...
۱۴۰۰/۰۱/۰۸

form ترجمه
در:
باسلام همه صفحات من دارای دو url می باشد که یکی با حروف کوچک است و دیگری با حروف بزرگ چجوری این مشکل را...
۱۴۰۰/۰۱/۰۸

form سهیل ملکی
در:
سلام خسته نباشید ببخشید من میخوام از تابع navigator.online توی جاوا اسکریپت استفاده کنم تا باهاش بفهمم کاربر آنلاین هست یا نه و اگه بود...
۱۴۰۰/۰۱/۰۴

form Rabbiten
در:
سلام. من چند ماه است که دنبال کد استایل تصویر مثل تبلیغات بالای سایت شما هستم. اما هیچ جا پیدایش نمی کنم. لطف می...
۱۴۰۰/۰۱/۰۱

form mahdi
در:
سلام استاد عزیز سال نو رو تبریک میگم بهتون ، امیدوارم که خودتون و خانوادتون همیشه سالم و سلامت باشید و امسال پر از...
۱۳۹۹/۱۲/۳۰

form korosh abbasy
در:
سلام وقت بخیر ببخشید در مورد این مطلب سوالی پرسیدم شما در مورد output buffering توضیح دادید کد کار نمیکنه میخواستم ببینم نیازی هست من...
۱۳۹۹/۱۲/۲۹

form احمد
در:
سلام مجدد عذرخواهی میکنم یه موردی دیگه بود فراموش کردم در مورد سوال هدر بگم اینکه روی لوکال به هدر ارسال میشه ولی روی هاست...
۱۳۹۹/۱۲/۲۸

form احمد
در:
با سلام خسته نباشید ببخشید قبلا یه سری دستورات جی کوری رو از خودتون گرفتم وقتی فیلدهای فرمم تکمیل شده است توسط هدر بره به...
۱۳۹۹/۱۲/۲۸

form korosh abbasy
در:
سلام دم شما گرم این دستور برای خوندن فایل هم استفاده میشه؟ من میخوام دسترسی تعیین کنم که اگر یک متغییر true...
۱۳۹۹/۱۲/۲۷
  در انتظار بررسی: ۱
 پاسخگویی به سوالات ممکن است تا 24 ساعت زمان ببرد.