دسته بندی
×
article

مفهوم پلتفرم (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) است، در کتابخانه ها معمولا مجموعه ای از توابع وجود دارند که در هنگام استفاده از آن کتابخانه، صرفا به فراخوانی متد مورد نظر خود می پردازیم (به عبارتی ما متد را صدا می زنیم) و آن بخش از متد اجرا می شود، اما فریم ورک همه چیز را تحت کنترل خود در می آورد و چارچوب خاصی را مشخص می کند که صرفا می توانیم در همان چارچوب، تنظیمات دلخواه خود را اعمال نمائیم (فریم ورک در زمان اجرا، تنظیمات ما را می خواند یا به عبارتی صدا می زند و بر همان اساس نتیجه تولید می شود)، باید مد نظر داشت که استفاده یا عدم استفاده از فریم ورک می تواند بسته به موقعیت و نیاز، امری صحیح و ضروری یا در عین حال زائد و اشتباه تلقی شود، مخصوصا این امر در وب نمود بارزتری دارد، چرا که سرعت پردازش و سبکی برنامه از ارکان کلیدی در موفقیت سایت های وب هستند و فریم ورک ها معمولا به این مقوله آسیب می زنند، با این وجود نیاز به برخی امکانات ویژه، تسریع در روند اجرای پروژه و ایجاد رویه یکسان و هماهنگی در کارهای گروهی می تواند از علل گرایش به استفاده از فریم ورک باشد.
sectionدسته بندی: مهارتهای وب » دانستنی ها
related مطالب بیشتر:
» آموزش کاربردی عبارات با قاعده (Regular Expressions)
» چگونه با برنامه Outlook ایمیل ارسال و دریافت کنیم؟
» لیست کدهای وضعیت HTTP و معنی خطاهای سرور
» حمله DDoS چیست و چگونه از آن جلوگیری کنیم؟
» دلایل بهم ریختن قالب وبلاگ و سایت
commentنظرات (۴۷ یادداشت برای این مطلب ارسال شده است)
more یادداشت های جدید بر اساس تاریخ ارسال در انتهای یادداشت های موجود نمایش داده می شوند.
نویسنده: فرهاد مهریاری
۲۱:۰۲ ۱۳۹۴/۰۹/۲۸
با سلام
مطلب مفیدی بود.
به نظر من هم نوشتن framework شخصی خیلی بهتر از فرم های موجود هست هرچند فرم ورک های موجود قابلیت های بسیاری دارن ولی با نوشتن فرم ورک شخصی باعث افزایش مهارت های بسیار زیادی میشه
نویسنده: مبلمان شهری
۰۹:۱۷ ۱۳۹۴/۱۰/۱۹
ممنون دوست عزیز
مفهوم فریم ورک رو به نسبت جاهای دیگه خیلی شفاف تر توضیح دادید
نویسنده: صابر
۰۱:۱۱ ۱۳۹۴/۱۲/۰۴
ببین فوق العاده است
نویسنده: شروین پاداش پور
۱۷:۲۵ ۱۳۹۴/۱۲/۲۲
با سلام . ممنون از اطلاعات رسانی دقیق در مورد این دو واژه ی تخصصی . و اما در مورد واژه ی "راجع" ، بله حق با شماست که این کلمه عربی ست . اما بسیاری از واژه هایی که در متن بالا درج شده اند، مثل : "ملزومات" "نسخه ، با جمع نُسَخ " "معرف" "مثال" و..... تمام عربی هستند و ریشه ی عربی دارند. در فرهنگ دهخدا نیز در مورد واژه ی "راجب" اینطور نوشته شده :
(املای اشتباه واژه ی "راجع به" بمعنای در مورد). و این که شما در پاسخ آقای "محمد" نوشته اید : "به معنی پیرامون و درباره چیزی...." به هیچ وجه صحیح نیست . بنابراین بهتر بود بجای تعصب، تشکری از این هموطن می کردید و اشتباه تایپی را ویرایش می کردید . این کار از ارزش کار آموزشی شما کم نمی کنه . با احترام
پاسخ: 
ضمن تشکر، حق با شما است! البته پاسخ ارئه شده بدون تعصب و... بوده (اساسا هیچ ادعایی در خصوص تسلط بر نگارش صحیح فارسی و... از طرف ما مطرح نیست :)) و قدردانی نیز در ابتدای پاسخ صورت گرفته! به هر صورت تمرکز ما بر روی مسائل فنی گاهی باعث کم توجهی به اصول نگارش می شود که جای تمرین و توجه بیشتر دارد.
نویسنده: حدیث
۱۱:۵۳ ۱۳۹۵/۰۱/۳۱
سلام ... میبخشید من یه سوال دارم ... یعنی نیاز به کمک دارم ... میخام شروع کنم به کدنویسی تا حدی هم با php ..html...جاوا اشنایی دارم .... برای برنامه نویسی وب همه میگن نشستن و وقت گذاشتن برای cms و طراحی غلطه ... باید از وردپرس و .... استفاده کنی ... اما من مشکلم اینجاست که نمیدونم چکار باید بکنم .... از کجا شروع کنم ... واقعا هم باید وارد بازار کار بشم ... میشه خواهش کنم کمکم کنید
پاسخ: 
پاسخ به این نوع سوالات معمولا نسبی است و بر اساس تجربه شخصی افراد، شرایط و هدف هایی که تعیین می کنند، متفاوت است، در کل اگر بحث کسب درآمد در کوتاه مدت برایتان مهم است و هدف شما مواردی مانند طراحی سایت برای افراد و شرکت ها و... در حد امکانات معمول CMS های رایگان + افزودن برخی قابلیت های اختصاصی با کدنویسی است، بهتر است حداقل در این برهه زمانی سراغ نوشتن CMS شخصی نروید چون علاوه بر اینکه باید یک برنامه نویس حرفه ای باشید، زمان زیادی نیز از شما خواهد گرفت، اما اگر هدفتان ایجاد یک برند و سرمایه گذاری بلند مدت و خلق سایت ها و سرویس های خاص و با امکانات اختصاصی است که به راحتی قابل توسعه و ایجاد قابلیت های سفارشی باشند، همچنین اگر مقوله زمان برایتان اهمیت زیادی ندارد، می توانید بر روی طراحی و برنامه نویسی CMS شخصی کار کنید، در این مسیر داشتن ایده، صبر و حوصله و علاقه به کدنویسی جزء شرایط لازمه است.
نویسنده: mahboob.m
۱۰:۵۷ ۱۳۹۵/۰۳/۰۸
ممنون از مطلبت خوبتون. فقط یک نکته اینکه jQuery یک کتابخونه است نه یک فریمورک. در واقع یک فریمورک مجموعه ای از کتابخونه ها میشه مثلا دات نت.
پاسخ: 
تذکر شما صحیح است! البته برخی منابع jQuery را فریم ورک عنوان کرده اند که ایراد مطلب به همین علت بوده (مطلب اصلاح خواهد شد!).
https://en.wikipedia.org/wiki/Comparison_of_JavaScript_frameworks

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





6 × 5
 refresh

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

form متین
در:
سلام و خسته نباشید من بخوام داده ای که از قبل موجوده رو با متد پست به یک فایل ارسال کنم چجور میشه؟ یعنی...
۱۳۹۹/۱۰/۲۷

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

form علی
در:
من در یک سایت سازی سایت ساختم یه بخش داره به نام اسکریپت دلخواه می خوام یه اسکریپتی بذارم که مثلا یه موسیقی وقتی کاربر...
۱۳۹۹/۱۰/۲۷

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

form امیرحسین
در:
ُسلام وقت بخیر این کووری هم چون اول قسمت WHERE انجام میشه بعد قسمت ON پس این کووری هم با حالت کووری قبلی برابره
۱۳۹۹/۱۰/۲۶

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

form محمد بیدل بازه
در:
سلام خسته نباشید ببخشید من توی یک قسمت سایتم تصویری دارم و میخوام سمت راست اون تصویر متن بنویسم ولی نمیشه تا متن رو...
۱۳۹۹/۱۰/۲۵

form سلام
در:
و اینکه یه تگ خوب برای فونت معرفی کنید و یه تگ دیگه که متن رو (تیتر مطلب (تست)) در ادامش بنویسه نه اینکه...
۱۳۹۹/۱۰/۲۴

form سلام
در:
سلام وبسایتم را نگاه کنید از چه تگی استفاده کنم تا فاصله بین تیتر مطلب جدید را کاهش دهم؟ (از خطی به خط...
۱۳۹۹/۱۰/۲۴

form وطن
در:
سلام. خسته نباشید. خیلی گشتم درباره یک خطا یا ایراد فنی که چند روز هست در سایت نوشته شده با پی اچ پی (اسکریپت اولوشن)...
۱۳۹۹/۱۰/۲۴

form حورارمی
در:
سلام. من هنوز نمیدونم تو تنظیمات باید کجا رو بگردم تا قالب وبلاگم رو با عکس مورد علاقه ام تغییر بدم. یا نمیتونم...
۱۳۹۹/۱۰/۲۳

form راشد
در:
این روش خیلی طولانیه در فروشگاه من یک برنامه گرفتم که یه عکس توش اپلود کن بهت یک لینک میده در ظرف چند ثانیه و...
۱۳۹۹/۱۰/۲۱

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

form محمود
در:
سلام و عرض ادب من در سایتم یک قسمت تب ایجاد کردم، متن ها را که در تب می نویسم پاراگراف بندی نمی شوند....
۱۳۹۹/۱۰/۲۱
form علی آقابیگی
در:
سلام خسته نباشید ببخشید من می خواستم کد جدید در وبلاگم بزارم بعد اشتباهی رفتم در قسمت ویرایش کدها و بعد بیشتر کدها را پاک...
۱۳۹۹/۱۰/۲۰
form محمد
در:
سلام. من میخوام با جاوا اسکریپت یک کدی بنویسم که وقتی کاربر روی یک دکمه ‏ای کلیک کرد، یک کد تصادفی برای شمارش ارسال...
۱۳۹۹/۱۰/۲۰
form پوریا
در:
سلام خسته نباشید، ممنونم بابت توضیحات خوبتون، یه مشکلی داشتم میخواستم ببینم امکانش هست راهنمایی کنید؟ فرض کنید یه اینطور متنی داریم: ...
۱۳۹۹/۱۰/۱۹
form seyedsobhanmansouri
در:
سلام خسته نباشید من سایتمو طراحی کردم اما به این مشکلات بر میخورم اول اینکه هدر سایتم نمایش داده نمیشه اصلا و بعد...
۱۳۹۹/۱۰/۱۹
form رضا
در:
سلام. ممنون بابت مطالب مفیدتون. این نوع جستجو به سئو سایت لطمه نمیزنه؟؟؟ چون در این مدل جستجو، مقدار impression میره بالا ولی...
۱۳۹۹/۱۰/۱۹
form mahdi
در:
سلام استاد عزیز ، پس بنظرتون بجای وقت گذاشتن برای یادگیری لاراول و وردپرس ، وقت بزارم که عمیق تر php و ساختار mvc...
۱۳۹۹/۱۰/۱۹
form علی
در:
سلام و ممنون بابت وبسایت عالیتون داخل بعضی سایت ها دیدید مثلا یه متنی شروع به تایپ شدن می کنه و وقتی کامل شد...
۱۳۹۹/۱۰/۱۸
form محمد
در:
سلام خدمت شما دوست عزیز سوالم این بود میخاستم چندتا مثال از این تابع و چند تابع دیگه از خودتون رو برام مثال بزنید...
۱۳۹۹/۱۰/۱۸
form محمود رنجبر
در:
سلام برادر مشکل من تو همین سایتی هست که فرستادم وقتی گزینه خانه رو کلیک میکنم و بعد دکمه بک گوشی رو میزنم بالای صفحه...
۱۳۹۹/۱۰/۱۷
form mahdi
در:
سلام استاد عزیز ، بعد از آموزس php با لاراول کار کنیم بهتره ؟
۱۳۹۹/۱۰/۱۶
form رضا
در:
آدرس رو براتون گذاشتم دامنه قبلا روی یه وبلاگ میهن بلاگ بود چند ماه میشه که از میهن بلاگ خداحافظی کردم ولی هنوز که هنوزه...
۱۳۹۹/۱۰/۱۴
form نیلو
در:
سلام... ببخشید بعد طراحی قالب قالب شیشه ایم هست یا نه؟؟؟
۱۳۹۹/۱۰/۱۳
form مجتهدزاده
در:
سلام من یه فرمی طراحی کردم که توش قراره تعداد زیاد (حدود 10 الی 50) فیلد رو تو دیتابیس اینسرت کنم. آیا باید...
۱۳۹۹/۱۰/۰۸
form مجتهدزاده
در:
سلام لطفا راهنمایی بفرمایید که چه زمانی قبل از متغیر @ استفاده می شه و کاربردش چیه؟ با تشکر
۱۳۹۹/۱۰/۰۶
form ali
در:
سلام چجوری میشه با php بازی هوب رو طراحی کرد
۱۳۹۹/۱۰/۰۶
form رضا
در:
سلام ممنون از سایت خوبتون ایکون سایتم رو توی دسکتاپ درست نشون میده ولی تو گوشی مشکل داره طبق اموزش شما هم انجام دادم...
۱۳۹۹/۱۰/۰۶
form فرانک دستان
در:
سلام من خیلی دوست دارم روی وبلاگم کد اهنگ بزارم ولی هیچ کدوم نمی یاد بهم گفتن از این کدها دیگه پشتیبانی نمی شه شما...
۱۳۹۹/۱۰/۰۵
form مصطفی
در:
سلام. عملگر @ چه زمانی قبل از یک متغییر میاد؟
۱۳۹۹/۱۰/۰۵
form سما
در:
سلام من وقتی میزنم روی مشاهده وبلاگ صفحه فیلتر برام میاد و نمیتونم وبلاگمو ببینم
۱۳۹۹/۱۰/۰۵
form مجتبی
در:
سلام من وبلاگ بلاگفا دارم کدها و جاوا استیکرها رو میزارم تو قسمتشون ولی همه ی کدها رو یکطرف وبلاگ نشون میده چطوری سمت...
۱۳۹۹/۱۰/۰۵
form matin asadi
در:
سلام ممنون بابت سایت خوبتو من یه مشکلی دارم می خواستم کدی برای این مثال زیر بنویسم ولی بلد نیستم ممنون میشم کمک کنید. ...
۱۳۹۹/۱۰/۰۲
form sahar1999
در:
سلام وقت بخیر چطور میتونم در برنامه نویسی سی شارپ هنگام ایجاد پایگاه داده ی MySql نام پایگاه داده رو از txetbox دریافت کنم؟
۱۳۹۹/۱۰/۰۱
  در انتظار بررسی: ۰
 پاسخگویی به سوالات ممکن است تا 24 ساعت زمان ببرد.