دسته بندی
×
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 مطالب بیشتر:
» جلوگیری از بلاک یا ارسال ایمیل به اسپم با SPF
» پروتکل امن HTTPS و رمزنگاری SSL چیست؟
» حمله DDoS چیست و چگونه از آن جلوگیری کنیم؟
» اصطلاحات و مفاهیمی که مدیر سایت باید بداند!
» چگونه با برنامه Outlook ایمیل ارسال و دریافت کنیم؟
commentنظرات (۴۷ یادداشت برای این مطلب ارسال شده است)
more یادداشت های جدید بر اساس تاریخ ارسال در انتهای یادداشت های موجود نمایش داده می شوند.
نویسنده: alireza
۱۶:۵۱ ۱۳۹۱/۱۰/۰۱
ممنون از این آموزش مفید .
نویسنده: ansherli
۱۹:۵۱ ۱۳۹۱/۱۰/۰۱
مطلب خوبی بود
من هر روز برای پروژم به این سایت مراجعه می کنم و بسیار عالیه
تشکر از زحمات شما
نویسنده: محمد
۱۶:۱۱ ۱۳۹۱/۱۰/۰۳
ببخشید. قصد جسارت ندارم. در این صفحه و چند صفحه دیگر از عبارت راجب آنها یا راجب آن استفاده کرده اید که از نظر املایی اشتباه است. راجع به صحیح است. ممنون.
پاسخ: 
سلام
از اینکه تا این حد به نگارش مطالب توجه دارید ممنونیم، اما "راجع به" یک کلمه عربی است و به معنی بازگشت و ارجاع به چیزی، اما کلمه "راجب" فارسی است و به معنی پیرامون و درباره چیزی، حال ما راجع به پلتفرم و فریم ورک مطالبی خوانده ایم یا راجب آنها؟
البته پاسخ دقیق را باید از اساتید ادبیات فارسی جویا شد.
نویسنده: احسان
۱۹:۳۲ ۱۳۹۱/۱۰/۱۷
مطلب خیلی مفیدی بود. بسیار عالی و ساده مفهوم پلتفرم و فریم‌ورك رو توضیح دادید.
نویسنده: reza
۲۱:۴۵ ۱۳۹۱/۱۰/۲۴
با عرض سلام و خسته نباشید
بهترین فریم ورک php چیست ؟
آیا لازم است که اصلا از فریم ورک استفاده نماییم ؟
پاسخ: 
سلام
نمی توان گفت کدام یک (zend، cakephp و...) بهترین است چون هر کدام ممکن است در زمینه خاصی بهتر عمل کند، اما در کل zend framework شهرت و کاربرد بیشتری دارد، اما اینکه استفاده از فریم ورک (آماده) لازم است یا خیر؟ به طور کلی خیر، مگر در موارد ضروری، به فرض اگر نتوانید قابلیتی را در php به صورت مستقیم داشته باشید (به عنوان مثال خروجی به صورت pdf برای حروف فارسی) شاید در چنین شرایطی استفاده از فریم ورک صحیح باشد، اما توصیه می شود تا حد امکان از فریم ورک های خود نوشت (شخصی) استفاده شود، چرا که هم باعث افزایش مهارت و دانش برنامه نویسی می شود، هم با ساختار کدها آشناییم و می توانیم آن را به مرور توسعه دهیم، هم از موارد غیر ضروری که ممکن است در فریم ورک های آماده باشد و به آنها نیاز نداریم اجتناب می شود (بهبود سرعت) و...
در کل فریم ورک ها به دلیل ماهیت خاصشان قابلیت های ویژه را به صورت ساده تر در اختیارمان قرار می دهند ولی ممکن است به خیلی از آنها اصلا نیازی نداشته باشیم و مجموعه ای از کلاس ها و توابع را در صفحه وارد کنیم که هیچ کاربردی ندارند و صرفا پردازش برنامه را (کم و بیش) کندتر می کنند.
نویسنده: TheMilad
۱۵:۵۴ ۱۳۹۱/۱۱/۲۱
خیلی ممنون. عالی بود
نویسنده: علی
۱۴:۰۲ ۱۳۹۱/۱۲/۰۴
سلام
ببخشید شاید مورد قابل گفتن نباشه. و ایراد نبایدگرفت اما دیدم دارید به عنوان مرجع کار می کنید لذا غلط املایی گرفتم
راجب = اشتباه
راجع به = درست
در محاوره همون اولی بیان و شنیده میشه
عذر خواهی
پاسخ: 
سلام
خواهش می کنیم، ممنون از اینکه توجه دارید.
نویسنده: علی
۱۴:۰۳ ۱۳۹۱/۱۲/۰۴
ببخشید توضیح و الان دیدم شرمنده . درسته
۱۲:۵۹ ۱۳۹۲/۰۴/۱۳
سلام دوستان به تازگی فریم ورک جدیدی با نام فریم ورک گتنا منتشر شده است که هم راهنمای فارسی دارد و هم فیلم های متعدد رایگان برای آن تولید شده است از طریق سایت www.gtna.net می توانید آن را به رایگان دانلود کنید توجه کنید که دکمه خرید دارد اما محصولات رایگان است و لینک دانلود قابل مشاهده است .
نویسنده: امین
۱۸:۲۶ ۱۳۹۲/۰۴/۲۳
بسیار عالی
ممنونم
نویسنده: narges
۱۹:۲۵ ۱۳۹۲/۰۹/۱۹
ممنون خیلی خوب بود اگه ممکنه در مورد sql server هم توضیح بدید که با هاش چه استفاده هایی می کنند.
پاسخ: 
SQL Server سیستم مدیریت دیتابیس تولید شرکت مایکروسافت است و به همین دلیل مورد استفاده برنامه نویسان زبان هایی مانند ASP.NET قرار می گیرد، به کمک این سیستم می توانید برای برنامه های مایکروسافتی خود پایگاه داده بسازید و آن را مدیریت کنید.
نویسنده: فاطمه
۱۳:۴۸ ۱۳۹۲/۱۱/۲۷
در مورد راجب که فرمودید کلمه ای فارسی است باید بگویم اصل آن همان کلمه عربی راجع به به معنی رجوع به است که در اثر استعمال در فارسی به صورت راجب درآمده و کلا از نظر نگارشی اشتباه است.
پاسخ: 
بله ظاهرا استفاده از این کلمه در کل صحیح نیست نه "راجع به" و نه "راجب"! شاید "پیرامون" بهترین جایگزین باشد، به هر حال ممنون از مشارکت شما.
نویسنده: ابوالفضل
۱۵:۰۰ ۱۳۹۲/۱۱/۲۹
یک پلتفرم که برنامه نیکا در آن درست اجرا نشود
پاسخ: 
منظور واضح نیست!
نویسنده: علیرضا
۲۲:۲۸ ۱۳۹۳/۰۲/۰۲
بنده از یک نظر با فریم ورک مخالفم. خیلی ها فکر میکنن اگر از روز اول برن سمت یک فریم ورک خاص (مثلا zend یا codeigniter برای PHP) میتونن کارها رو سریعتر انجام بدن در حالیکه اگر کسی با اصول اولیه و ساختار پایه ای یک زبان اسکریپت نویسی آشنایی نداشته باشد کار کردن با فریم ورک بیشتر باعث سردرگمی و گیجی شخص خواهد شد. بهترین و اصولی ترین راه برای کار با یک زبان برنامه نویسی، بالازدن آستین ها و داشتن همت عالی و پیدا کردن یک text editor ساده مثل ++notepad است که سنگ بنای آینده شما در زمینه کد نویسی خواهد بود.
وقتی کاملا فهمیدید که دارید چکار می کنید و تمام قسمتهای اسکریپت را خودتان کد بزنید ، اونوقت می فهمید که این اطمینان خاطر و اعتماد به نفس از کاری که می کنید هست که شما رو سریعتر از همه ابزار های دیگه جلو میبره. من اینها رو میگم چون این دقیقا کاری بود که خودم انجام دادم. روزها و هفته های اول خیلی برام سخت بود ولی الان مثل روز برام روشنه که دارم چکار می کنم. من هیچ آشنایی با هیچ کدوم از تکنولوژی های وب نداشتم حتی HTML ولی حالا با PHP MySQL javascript JQuery CSS HTML کار میکنم و لذت میبرم. همه اینها کمی بیشتر از 3 ماه طول کشید. نتیجش هم سایت خودم "بازار روز" هستش که هر روز دارم کاملترش میکنم.
اینم آدرسش: www.bazar-rooz.ir
پیشنهاد من اینه که نترسید و از ساده ترین وسایل و امکانات شروع کنید و برید جلو. اگه هدف داشته باشید از پس هر کاری بر میاید.
پاسخ: 
خیلی ممنون از مشارکت شما در بحث و به اشتراک گذاری تجربیاتتان.
نویسنده: محسن ژوزف
۲۲:۲۷ ۱۳۹۳/۰۲/۰۷
ممنون
عالی بود
more لطفا پیش از ارسال یادداشت نکات زیر را مد نظر داشته باشید:
- موارد غیرمرتبط با مباحث آموزش ها را در فرم منوی "تماس با ما" مطرح و پاسخ را از طریق ایمیل دریافت کنید.
- به سوالات کلی، مبهم و مشکلاتی که تلاشی برای رفع آن نکرده باشید پاسخ مختصر داده خواهد شد.
- کدها و اسکریپت های طولانی را ترجیحا در یک صفحه وب آنلاین قرار دهید تا امکان تست و بررسی وجود داشته باشد.
- از درج عناوین تبلیغاتی در فیلدها خودداری کنید، در صورتی که یادداشت تبلیغاتی تشخیص داده شود حذف خواهد شد.
- تمام یادداشت ها بررسی و زمانی جهت پاسخگویی در نظر گرفته می شود، لطفا از طرح سوالات متعدد خودداری کنید.





7 × 1
 refresh

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

form شهریار صادقی
در:
من سه تا صفحه در php storm درست کردم یکی برای html یکی برای جاوا اسکریپت و جی کوِئری و یکی هم برای css اول...
۱۳۹۹/۰۹/۰۱

form دوست خوب
در:
اگر بخواهیم برای رفتن به مرورگر و باز کردن یک صفحه لینک دهیم؟
۱۳۹۹/۰۹/۰۱

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

form Alireza
در:
خیلی ممنون از پاسخگویی سریع! بله خوشبختانه سرور هاست دانلود LiteSpeed هست و از جدیدترین PHP هم پشتیبانی میکنه. تو قسمت path هم دایرکتوری...
۱۳۹۹/۰۸/۲۹

form Alireza
در:
عرض سلام و خسته نباشید از مطالب استفاده کردم و نظرات هم خوندم واقعا مفید بودن. یکی دو نفر مشکلی شبیه بنده داشتن. من...
۱۳۹۹/۰۸/۲۹

form امیرحسین
در:
سلام استاد عزیز وقت بخیر من یه سوال در مورد function use داشتم اگه ممکنه با مثالی کاربردی توضیح بدید که کارش چیه :...
۱۳۹۹/۰۸/۲۷

form Amin Eskandari
در:
سلام عالی بود ممنون
۱۳۹۹/۰۸/۲۷

form فاطمه
در:
چگونه در حلقه ها اعداد را جمع کنیم و در خروجی مجموع انان را نشان دهد مثلا جواب
۱۳۹۹/۰۸/۲۶

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

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

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

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

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

form ar
در:
سلام ممنون از سایت خوبتون ببخشید من تازه دارم زبان برنامه نویسی جاوااسکریپت رو یاد میگیرم و لپتاپم لپتاپ نسبتا ضعیفی هست من...
۱۳۹۹/۰۸/۲۰
form saba
در:
سلام من این کد رو در قسمت کد های اختصاصی کاربر وارد کردم اما هیچ تغییری ایجاد نشد ممکنه راهنمایی کنید؟
۱۳۹۹/۰۸/۱۹
form مینا
در:
سلام. من میخوام از regex توی ماشین حساب استفاده کنم ممنون میشم منو راهنمایی کنین
۱۳۹۹/۰۸/۱۹
form intal
در:
سلام خسته نباشید من واقعا از وبگو ممنونم که این آموزش های ارزشمند رو در اختیار کاربران قرار میده راستش من هرکاری می کنم پوزیشن...
۱۳۹۹/۰۸/۱۷
form بهروز
در:
مهندس جان خیلی عالی بود دستت درد نکنه درست شد.
۱۳۹۹/۰۸/۱۷
form اصغر
در:
خوندمش خیلی ممنون مفید بود
۱۳۹۹/۰۸/۱۵
form بهروز
در:
ممنون، خیلی لطف کردید، چشم امتحان میکنم خبر میدم فقط یه موری رو یادم رفت عرض کنم اینکه مثلا لینک exm.ir/m/yyyy به...
۱۳۹۹/۰۸/۱۴
form بهروز
در:
ممنون از پاسخگویی سریعتان در سوال فوق yyyy متغیر هست یعنی هرسری یه عددی کلیک میشه مثلا exm.ir/1234 حالا میخوام ریدایرکت بشه به آدرس...
۱۳۹۹/۰۸/۱۴
form بهروز
در:
سلام اگه بخوام ادرس 1 رو به ادرس دو ریدایرکت کنم چطور انجام دهم:
۱۳۹۹/۰۸/۱۴
form Mori
در:
سلام. میخواستم بدونم که چگونه در html میشه چند لیست عمودی رو کنار هم قرار داد. یعنی در واقع لیست ها زیر هم نباشند. ...
۱۳۹۹/۰۸/۱۰
form مبین
در:
با سلام من می خواستم دستوری در دیتابیس بنویسم که بر اساس قد افراد نتایج را مرتب و چاپ کند و اگه قد برار بود...
۱۳۹۹/۰۸/۰۹
form عباس علیمردانی
در:
سلام. من یک سوال یا بهتر بگم خواهش داشتم ایا شما میتوانید وبلاگ رو فیلتر کنید؟ یعنی با حکم قضایی فیلتر بشه. وبلاگ برایه...
۱۳۹۹/۰۸/۰۹
form ابوالفضل
در:
سلام استاد اومدم امروز بعد از سالها سوالاتی که از شما استاد بزرگوارم میپرسیدم رو زیر این پست مرور می کردم واقعا چقدر مبتدی...
۱۳۹۹/۰۸/۰۹
form mahtab
در:
سلام وقتتون بخیر ببخشید من میخوام یه آهنگی رو بزارم وبم کدش تو اینترنت زدم اما نیاورد بی زحمت میشه راهنمایی کنین چجوری...
۱۳۹۹/۰۸/۰۸
form Mori
در:
بهترین سایت برنامه نویسی در ایران هستید
۱۳۹۹/۰۸/۰۷
form Mori
در:
سلام. چگونه باید در لیست برای هر کدام از اعضا به صورت جداگانه لینک بگذاریم؟؟
۱۳۹۹/۰۸/۰۷
form جیهوپ
در:
سلام استاد عزیز من میخواستم صفحه وبی ایجاد کنم مثل این صفحه وبی ایجاد کنید که مشخصات شما را در 3 پاراگراف با ویژگی...
۱۳۹۹/۰۸/۰۶
  در انتظار بررسی: ۲
 پاسخگویی به سوالات ممکن است تا 24 ساعت زمان ببرد.