“Framework – چارچوب – فریم ورک” کلمه ای است که در رابطه با کد بسیار استفاده می شود. بنابراین، یک چارچوب وب چیست؟ وقتی در مورد فریم ورک ها صحبت می کنیم، آن فریم ورک ها معمولاً به سه دسته مختلف تقسیم می شوند – فرانت اند، بک اند، و CSS یا چارچوب های رابط کاربری. اما حتی زمانی که بدانید فریمورک ها چیست، کدام یک را باید یاد بگیرید یا استفاده کنید و چرا؟ این پست به این موضوع می پردازد که یک فریم ورک چیست، چه فریم ورک هایی وجود دارد و چگونه می توان در مورد نوع چارچوبی که باید برای پروژه های خود استفاده کنید، تصمیم گیری کرد!
فریم ورک چیست؟
اگر به چند برنامه مختلف وب نگاه کنیم، می بینیم که ویژگی های تکراری زیادی وجود دارد. بسیاری از آنها احراز هویت کاربر، صفحاتی که رندر میشوند، به پایگاههای داده متصل میشوند، نمایههایی دارند که میتوانید به آنها نگاه کنید، همه آنها دارای فیدهای سبکسازی شده از اطلاعات و غیره هستند. و اگر بخواهیم ، می توانیم هر بار که میخواهیم یک برنامه جدید بسازیم، تمام این منطق را خودمان بنویسیم. با این حال، ابزارهای زیادی نیز وجود دارد که میتوانند این کار را برای ما انجام دهند.
علاوه بر این، بسیاری از مواقع زمانی که ما برنامههای کاربردی میسازیم، میخواهیم کد خود را به روشهای خاصی قالببندی کنیم که به ما کمک میکند کارآمدتر شویم و به توسعهدهندگان دیگر کمک کند تا کد ما را درک کنند. چارچوب های وب به ما کمک میکنند تا ساختار برنامههایمان را به دست آوریم، و ویژگیهای دیگری را به ما میدهند که میتوانیم بدون کار اضافی به آنها اضافه کنیم. چارچوبها مکانی برای شروع به ما میدهند تا بتوانیم به جای جزئیات پیکربندی، روی ویژگیها تمرکز کنیم.
کد چندین بار بیشتر از آنچه نوشته شده خوانده می شود و زمانی که با توسعه دهندگان دیگر کار می کنید بسیار مهم است که آنها بدانند کد برای کارهای خاص کجا نوشته می شود تا بتوانند از آن در کد خود استفاده کنند. چارچوب ها همچنین دارای قراردادهایی برای نحوه نگارش و ساختار کد هستند که نحوه نوشتن کدهای توسعه دهندگان را استاندارد می کند.
اکثر وب سایت ها ساختار بسیار مشابهی (یکسان نیستن!) دارند. هدف فریمورک ها ارائه یک ساختار مشترک است تا توسعه دهندگان مجبور نباشند آن را از ابتدا دوباره انجام دهند و بتوانند از کد ارائه شده مجددا استفاده کنند. به این ترتیب، فریمورک ها به ما این امکان را می دهند که بسیاری از کارها را حذف کرده و در زمان زیادی صرفه جویی کنیم.
به صورت خلاصه: نیازی به اختراع مجدد نیست.
بک اند در مقابل فرانت اند
- قسمت فرانت اند (frontend) یک برنامه وب بخشی است که شما می بینید و با آن تعامل دارید. این شامل طراحی وب و تعامل سایت است. از نظر زبان های برنامه نویسی، این تقریباً همیشه از CSS، HTML و جاوا اسکریپت صفحه تشکیل شده است.
- بک اند (Backend) شامل سرور، پایگاه داده و کدی است که با آنها تعامل دارد. این همچنین شامل کدهایی است که داده های پویا را به قسمت جلوی سایت می دهد. این را می توان در اکثر زبان های برنامه نویسی انجام داد. مواردی که امروز به صورت عمده در مورد آنها صحبت خواهیم کرد، پایتون، روبی و نود جاوا اسکریپت هستند، اما تعداد بیشماری از موارد دیگر وجود دارد.
چارچوب های رابط کاربری
چارچوب های رابط کاربری به ایجاد برنامه های کاربردی وب سبک و حرفه ای کمک می کند. اکثر آنها نوعی سیستم شبکه ای را شامل می شوند تا عناصر را تراز کنید، آنها دارای طرح های رنگی هستند که برای شما قابل استفاده است و اجزای HTML شما را با استفاده از CSS استایل دهی می کنند تا تمیز و حرفه ای به نظر برسند. اینها در دامنه frontend هستند. با این حال، معمولاً وقتی به فریمورکهای frontend اشاره میکنیم، در مورد چارچوبهای جاوا اسکریپت صحبت میکنیم.
برخی از چارچوب های رابط کاربری عبارتند از:
- Bootstrap
- بسیار شناخته شده و توسط توییتر ساخته شده است
- یادگیری آسان و حرفه ای به نظر می رسد
- به راحتی می توان “سایت های بوت استرپ” را شناسایی کرد
- سفارشی کردن اجزا ممکن است دشوار باشد
- Materialize
- ظاهری تمیز
- کمی “سرگرم کننده” تر از بوت استرپ
- بسیاری از گزینه های یک ظاهر طراحی شده و رنگ
- از راهنمای سبک متریال گوگل پیروی می کند
- Foundation
- مثال های زیاد
- ظاهر حرفه ای
- Semantic UI
- تعداد زیادی ساخته شده است
- قابل تنظیم است
- Grommet
- تمرکز زیادی بر دسترسی دارد
- واقعا تمیز به نظر می رسد
- به اندازه برخی دیگر استفاده نمی شود
- ساخته شده برای React JS (فریمورک دیگری که در ادامه به آن خواهیم پرداخت)
انتخاب چارچوب UI
انتخاب یک چارچوب رابط کاربری بیشتر به ترجیحات شخصی در ظاهر و اهداف سایت بستگی دارد. سبک های مختلف ممکن است برای صنایع مختلف جذاب باشد یا ممکن است پیام متفاوتی را به کاربران منتقل کند.
فریم ورک های فرانت اند
فریم ورک های فرانت اند، در بیشتر موارد، با جاوا اسکریپت نوشته شده اند و برای سازماندهی عملکرد، تعامل وب سایت شما هستند. برخی از این موارد عبارتند از:
- Vue
- آسان برای یادگیری
- خیلی سریع
- تمام ابزارهای مرتبط با آن به خوبی بسته بندی شده اند
- قطعاتی را از Angular و React می گیرد و آنها را بهینه می کند
- کمتر از برخی دیگر پذیرفته شده است
- انعطاف پذیر – شما می توانید از آن به روش های مختلف استفاده کنید
- AngularJS
- ساخته شده توسط گوگل
- به خوبی پشتیبانی می شود
- تعداد زیادی از ویژگی ها
- مقیاس پذیری برنامه را بهبود می بخشد
- اشکال زدایی مشکل است
- منحنی یادگیری بزرگ
- Angular 2+
- ساخته شده توسط گوگل
- به خوبی پشتیبانی می شود
- استفاده مجدد را تشویق می کند
- مقیاس پذیری برنامه را بهبود می بخشد
- منحنی یادگیری بزرگ
- React
- ساخته شده توسط فیس بوک
- کدهای ظاهری را در اجزای مختلف قرار می دهد
- کد و داده را سازماندهی می کند تا کد را قابل استفاده مجدد تر کند
- منحنی یادگیری بزرگ
- Ember
- مقدار زیادی از عملکرد را خارج از جعبه می دهد
- منحنی یادگیری شیب دار
انتخاب یک فریم ورک فرانت اند
دنیای فریمورکهای فرانتاند سریع در حال پیشرفت است، به نظر میرسد هر چند ماه یک بار یک فریمورک فرانتاند جدید در حال افزایش است. یاد بگیرید که چه چیزی برای شما منطقی است و زیاد نگران نباشید که در حال حاضر “بهترین” کدام است.
برخی افراد استدلال می کنند که React و Vue به جای فریمورک، کتابخانه هستند، اما بسیاری از مردم آنها را چارچوب می دانند، بنابراین ما آنها را درج کردیم!
فریم ورک های بک اند
چارچوب های بک اند بسیار متنوع تر هستند. آنها به زبان های برنامه نویسی مختلفی نوشته شده اند و دارای ویژگی های بسیار متنوعی هستند. در زیر، مانند لیست بالا، لیستی از برخی از فریمورک های موجود برای نوشتن بک اند برنامه ها وجود دارد:
- Spring MVC
- جاوا (زبان سخت تر برای یادگیری)
- خیلی سریع
- Django
- پایتون (زبان ساده تر برای یادگیری)
- میان بسیار خوش فکر و کم ساختار بودن
- عملکردهای زیادی را در اختیار شما قرار می دهد (مانند احراز هویت کاربر، اتصالات پایگاه داده و نمایش مشاهده)
- ادغام یک صفحه فرانت اند فانتزی ممکن است دشوار باشد.
- مدیریت داده های پایتون شگفت انگیز است
- Flask
- پایتون (زبان ساده تر برای یادگیری)
- قابل تنظیم تر از جنگو
- کمتر به شما می دهد (شما باید بیشتر بسازید)
- Ruby on Rails
- روبی (زبان ساده تر برای یادگیری)
- بسیار صاحب نظر
- دارای ابزارهای عالی مانند است تا بتوانید سریع تر بسازید
- عملکردهای زیادی را در اختیار شما قرار می دهد (مانند احراز هویت کاربر، اتصالات پایگاه داده و نمایش مشاهده)
- Ruby برای اجرای برنامه ها نسبت به برخی از زبان های برنامه نویسی دیگر زمان بیشتری می برد
- Meteor
- جاوا اسکریپت (زبان ساده تر برای یادگیری)
- عملکردهای زیادی را در اختیار شما قرار می دهد (مانند احراز هویت کاربر، اتصالات پایگاه داده و نمایش مشاهده)
- به خوبی با قسمت های فرانت اند مدرن ادغام می شود
- Express
- جاوا اسکریپت (زبان ساده تر برای یادگیری)
- بسیار قابل تنظیم
- بسیار سبک وزن
- ویژگی های داخلی کمتر
- Node بسیار سریع است
انتخاب یک چارچوب بک اند
معمولاً، شما یک فریم ورک بک اند را بر اساس زبان برنامهنویسی انتخاب میکنید. همچنین، ویژگیهایی را که میخواهید اضافه کنید را در نظر بگیرید – به عنوان مثال اگر میخواهید احراز هویت (یا ورود کاربر) برای وبسایت خود داشته باشید، نوشتن آن در جنگو جایی که احراز هویت در آن تعبیه شده است بسیار ساده تر از نوشتن آن در Flask است که در آن به یک سرویس اضافی نیاز دارید.
به پایان این مقاله رسیدیم، امیدواریم که با چارچوب های وب آشنا شده باشید. همچنین ممکن است بخواهید مقاله دیگر ما را در مورد بهترین سیستم مدیریت محتوا ببینید.