فریم ورک ها همیشه بحث بر انگیز هستند که کدام فریم ورک بهتر و توانمند تر است و یا کدام فریم ورک سریع تر شاید هم آسان تر بودن آن ملاک انتخاب برنامه نویس باشد. احتمالا با Framework ها آشنایی دارید که در حال خواندن این مطلب هستنید
فریم ورک ها همیشه بحث بر انگیز هستند که کدام فریم ورک بهتر و توانمند تر است و یا کدام فریم ورک سریع تر شاید هم آسان تر بودن آن ملاک انتخاب برنامه نویس باشد. احتمالا با Framework ها آشنایی دارید که در حال خواندن این مطلب هستنید اما اگر نمیدانید که یک فریم ورک دقیقا چیست مطالعه و تحقیقی در این زمینه داشته باشید، چرا که می توان گفت فرم ورک همه چیز است!
البته بسیار حائز اهمیت است که برای انتخاب از چه منظری به فریم ورک نگاه کنید، هدفتان و مسیرتان بهترین چیزی است که این انتخاب را بهتر و دقیق تر میکند، شاید سریع تر کد زدن برای شما اهمیت داشته باشد و شاید یادگیری آسان و تسلط خیلی زود بر فریم ورک اولویت باشد.
سریع ترین فریم ورک ها شاید سخت تر باشند و مجبور باشید کد های پیچیده تری با آن بنویسید که حتی خواندن آن کدها نیز آزار دهنده باشند، پس برای هر کاری که قرار است انجام شود شاید انتخاب ها کاملا متفاوت باشند، در یک کلام هیچ موقع نمی توان گفت کدام فریم بهتر است.
تا حدودی با کلیت موضوع آشنا شدیم، پس نگاهی به برخی فریم ورک های محبوب و معروف بیاندازیم و با آنها آشنا شویم
اس پی دات نت کور یکی از وب فریم ورک های زیر مجموعه فریم ورک دات نت کور محصول شرکت مایکروسافت می باشد که بصورت Open Source توسعه داده می شود، دات نت فریم ورک قدمت زیادی دارد و طرفداران پر و پا قرص خودش را دارد. البته این موضوع با بازنویسی از صفر تا صد دات نت توسط مایکروسافت در قالب .NET Core چندین برابر شد و برنامه نویسان بسیار زیادی را به سمت این فریم ورک کشاند و جامعه آن خیلی بزرگتر از سابق شد. در مقاله .NET Core چیست اطلاعات بیشتری می توانید کسب نمائید.
دات نت کور از صفر نوشته شد، مایکروسافت هر دارایی ای که از قبل برای دات نت فریم ورک داشت را کنار گذاشت و کد های تمیز و معماری جدید بهینه ای را از ابتدا استوار کرد، شاید همین موضوع موجب قدرت، سرعت و محبوبیت دات نت شده است که به اصطلاح boilerplate code ندارد و خالص و تمیز است و به دست مهندسانی انجام شده است که فرصت کرده اند تجربه های خوب و بد قبل را به فریم ورک جدیدی منتقل کنند. این روش یکی از گزینه های عالی برای طراحی سایت آموزش زبان های خارجی و طراحی سایت کیف و کفش می باشد.
فریم ورک جنگو که فریم ورک تحت وب به زبان پایتون می باشد با نام Django که در تلفظ حرف D آن خوانده نمی شود فریم ورک رایگان و Open-source محبوب پایتونی ها است.
جنگو با هدف توسعه سریع و آسان در عین حال کارآمد ساخته شده است، با همه سادگی و راحتی آن انتخاب توسعه دهندگان حرفه ای می باشد که حرفه ای بودن را در کنار ساگی به ارمغان می آورد. جنگو از امنیت بالایی هم برخوردار است و پشتیبانی نسبتا خوبی هم دارد، اما به این نکته باید توجه داشته باشید که پایتون نویس ها بسیار کم هستند و مشکل است همین موضوع مشکل ساز شود
روبی آن ریلز به زبان برنامه نویسی Ruby نوشته شده است، این فریم ورک نیز بصورت متن باز منتشر شده است که بصورت مخفف RoR نیز از آن یاد می شود و با هدف توسعه سریع ایجاد شده است اما عده ای آن را بزرگ و پر دردسر می دانند.
این فریم ورک بر پایه دو اصل مهم DRY و CoC تشکیل شده است که همین دو اصل آن را با ارزش می کنند. DRY به معنی تکرار نکردن کد ها (Don’t Repeat Yourself) با این دیدگاه که بسیاری از کارها را خودش انجام می دهد و نیازی نیست برنامه نویس کدهایش را تکرار کند. CoC نیز که مخفف Convention over Configuration می باشد که بصورت خیلی خلاصه می توان گفت که کنوانسیون ها را بر تنظیمات ترجیح دادن، یعنی برنامه نویس فقط نقاط نامشخص را تعیین میکند و خیلی چیزها قبلا توسط فریم ورک انجام شده است. این روش یکی از روش هایی می باشد که برای طراحی سایت مجله و نشریات مورد استفاده است.
اکسپرس یک فریم ورک سریع و سبک از دنیای Node.js می باشد که مورد توجه بسیاری از توسعه دهندگان واقع شده است. این فریم ورک طیف گسترده ای از ماژول ها را در پکیج منیجر نود یا همان NPM دارد. فریم ورکی که بر پایه جاوا اسکریپت بصورت متن باز و رایگان توسعه داده می شود.
با اکسپرس جی اس اتفاق جالبی که می افتد که هم در سمت کلاینت و هم در سمت سرور می توان کد نوشت و دو منظوره می باشد، جاوا اسکریپتی که به سمت سرور نفوذ کرده است و همه کارها را بر دوش می کشد.
از معایب این فریم ورک و سایر فریم ورک های جاوا اسکریپتی می توان این مورد را بیان کرد که هنوز نابالغ هستند و منبع واحد اطلاعاتی ای برای آنها وجود ندارند، کد ها در لایبرری های متنوع و سیعی که هر کدام به تنهایی عالی هستند پخش شده اند اما در کنار هم جهنمی از وابستگی ها ایجاد میکنند که می تواند بسیار خطرناک باشد
لاراول محبوب ترین و پراستفاده ترین فریم ورک زبان PHP است، در حال حاضر بعد از ASP.NET در اکثر شرکت های ایرانی از این فریم ورک استفاده می شود. فریم ورک لاراول مبتنی بر معماری MVC نوشته شده است و به این معروف است که با حداقل مقدار کد می توان به امکانات خوبی رسید، اگر زمان بسیار کمی دارید و میخواهید روند پیشرفت پروژه خیلی سریع باشد می توانید لاراول را انتخاب کنید
Laravel یک فریم ورک سبک وزن است و به نسبت های فریم ورک هایی مثل Django و Ruby از پشتیبانی داخلی کمتری برخوردار است اما به نسبت سایر فریم ورک های PHP زبان مانند Symphony و Codeigniter بالغ تر به حساب می آید
انگولار یکی فریم ورک های محبوب جاوا اسکریپتی است که توسط شرکت گوگل غول بزرگ تکنولوژی پشتیبانی می شود، این فریم ورک توسعه یافته ی Angular.js می باشد در نسخه دوم JS را حذف کرد و با نام Angular خالی عرضه شد.
یکی از بهترین و بزرگترین تکنولوژی هایی است که بصورت SPA یا همان اپلیکیشن وب تک صفحه ای عمل میکند. عموما کد های نوشته شده انگولار به زبان TypeScript هستند و که در نهایت به Java Script تبدیل می شوند.
دقت داشته باشید که انگولار یک فریم ورک کلاینت ساید و سمت کاربر محسوب می شود و نمی توان برنامه های سمت سرور با آن نوشت، برای سمت سرور باید زبان ها و فریم ورک های دیگر مانند Node.JS و ASP.NET استفاده کنید که به عنوان تامین کننده اطلاعات مورد نیاز انگولار عمل می کند.
انگولار در حال تکامل است و خیلی سریع نسخه ها را یکی پس از دیگری منتشر میکند و که متاسفانه برخی از آن ها به شدت با نسخه های قبلی تفاوت هایی دارند که توسعه دهندگان را به دردسر های عجیبی وا میدارد که گاها حل نشدنی است، در انتخاب این فریم ورک باید خیلی دقت کرد و این موضوع برای مبتدیان موجب سردرگمی زیادی خواهد شد
ری اکت که متعلق به فیس بوک است و توسط شرکت تراز اول دنیا توسعه داده می شود این روز ها خیلی پر بحث شده است. بهتر است اول این موضوع را بدانید که React یک فریم ورک نیست و همانطور که خود فیس بوک اعلام کرده است یک کتابخانه جاوا اسکریپت منبع باز است، از این کتابخانه برای مدیرت لایه سمت کاربر استفاده می شود و جهت مدیریت المان های نمایشی سمت وب سایت استفاده می شود که همانند انگولار بصورت SPA عمل می کند و برنامه های تک صفحه ای ایجاد میکند.
در ری اکت بجای استفاده مستقیم از جاوا اسکریپت از قالب جدیدی تحت عنوان JSX استفاده می شود که اجازه دسترسی به HTML را دارد و در نهایت به همان Java Script تبدیل خواهد شد، مرورگر های جدید شاید کد های نوشته شده ی جاوا اسکریپت مدرن یا ES6 را متوجه نشوند اما به لطف کامپایلر Babel این کد ها برای نسخه های قدیمی هم محیا می شوند و بدون مشکل کار خواهند کرد.
ری اکت در ایجاد صفحات وب در سمت کاربر مورد استفاده قرار می گیرد و یک فریم ورک کلاینتی محسوب می شود و برای عملیات سمت سرور باید از فریم ورک های دیگر کمک بگیرد تا بتواند اطلاعات مورد نیازش را تامین کند تا React آن ها را با کیفیت مطلوبی به نمایش بگذارد. ری اکت یکی از روش های متداولی می باشد که برای طراحی سایت هتل مورد استفاده قرار می گیرد.
فریم ورک Vue.js که به فارسی ویو جی اس باید بخوانید یکی دیگر از فریم ورک های جدید بر پایه زبان جاوا اسکریپت می باشد و استارت اولیه آن توسط یکی از کارمندان گوگل زده شده است که بر روی Angular.js کار میکرده است. Vue اپلیکیشن های تک صفحه ای (SPA) ایجاد میکند و یکی دیگر از فریم ورک های کلاینت ساید محسوب می شود، یعنی شما فقط برای ظاهر سمت کاربر می توانید از این فریم ورک استفاده کنید.
ویو جی اس روند پیشرفت و شد بیشتری را از میان سایر فریم ورک های JS ای داشته است و آمار و ارقام مناسبی در گیت هاب کسب کرده است و مستندات جامعی دارد. فریم ورک Vue.js انعطاف پذیری بالایی دارد و برنامه نویس را اصلا مجبور نمی کند که در الگوی خاصی حرکت کند، در ظاهر ممکن است جذاب به نظر بیاید اما واقعیت این است که این امکان یک شمشیر دو لبه است و می تواند خیلی خطرناک و برای آینده پروژه مرگبار باشد.
بلیزر یکی دیگر از تکنولوژی های ساخت SPA که بر پایه فریم ورک ASP.NET Core توسعه داده شده است و توسط مایکروسافت با زبان C# نوشته شده است، به نظر می رسد که آینده درخشانی خواهد داشت و باید صبر کنیم ببینیم ادامه مسیر را به چه صورت طی می کند.
فناوری شگفت انگیزی Blazor بصورتی است که شما می توانید به زبان C# هم در سمت سرور و هم در سمت کلاینت کد بزنید، خیلی جالب و عجیب است و جذاب است که کد هایی هر دو سمت را به زبان C# بنویسید.
فریم بلیزر روال خیلی متفاوت از سایر فریم ورک ها دارد و در WebAssembly کامپایل میشود، وب اسمبلی بخشی از مرورگر است و سرعت اجرای بی نظیری دارد چرا که کدهایی شما توسط موتور جاوا اسکریپت اجرا نمی شود و مستقیم بر روی مرورگر اجرا می شود و این خوب است که WebAssembly توسط تمامی مرورگرهای اصلی پشتیبانی میشود.
فریم ورک اسپرینگ که با زبان جاوا نوشته شده است انتخاب اول و آخر جاوا کاران است، زبان برنامه نویسی جاوا در بین زبان های سطح بالا حرف هایی برای زدن دارد که مشتریان ثابت خودش را دارد. تمامی نیازماندی هایی که یک اپلیکیشن Enterprise میخواهد را به خوبی پشتیبانی می کند برای نوشتن سیستم های سنگینی مثل ERP یا CRM مناسب است.
البته توسعه اپلیکیشن با فریم ورگ Spring اصلا کار ساده ای نیست و این فریم ورگ چرخه حیاط یا Lifecycle پیچیده ای دارد و سر و کله زدن با آن بسیار زمان بر و طاقت فرسا است. فریم ورگ اسپرینگ متن باز است و توسعه دهندگان Java زیادی بر روی این Framework کار میکنند، اما یادگیری نسبتا دشواری دارد و منابع کمکی و آموزشی ای به اندازه فرم های دیگر مانند ASP.NET و یا Laravel ندارد.
ما در شرکت پایدار سامانه از فریم ورک های زیای متنوعی در مقاطع زمانی مختلف استفاده کردیم و با مقاصدی آموزشی و همچنین عملیاتی آن ها را بر بار آوردیم، بر روی برخی از این وب فریم ورک ها بیشتر متمرکز شدیم و در نهایت به این نتیجه رسیدیم که هسته اصلی فریم ورک داخلی شرکت را بر پایه دات نت مایکروسافت بنا کنیم، که هم اکنون بر روی .NET Core مهاجرت کرده ایم که هم از پرفرمنس و سرعت زیادی برخوردار است و هم از نظر پشتیبانی و بروزرسانی دانش در سطح بالایی قرار گرفته است.
منظور از هسته اصلی فریم ورک، ارکستراسیون مرکزی فریم ورک داخل ماست، ما هم اکنون می توانیم به هر زبان برنامه نویسی کد بزنیم، پروژه های طراحی سایت را بر روی Vue.JS بالا بیاوریم و یا از React استفاده کنیم، اگر معماری صحیح و مهندسی دقیقی صورت پذیرد هر امکانی برای شما میسر خواهد بود. در ماژولاریته و حرکت به سمت معماری مایکروسرویس همه چیز تفکیک می شوند و هر چیزی ممکن خواهد بود.
فریم ورک های جدیدی که پشت سر هم پدیدار می شوند برای هر پروژه ای مناسب نیسند و در عمل بصورت دوره ای مورد آزمایش و تست قرار میگیرند و عده ای که بر روی هر کدام تکیه می کنند زمان و هزینه خودشان را به خظر می اندازند و منطقی تر است که صبر کرد تا به نقطه مطلوبی برسند و سعی و خطاهایشان را پس دهند و بعد مورد استفاده قرار گیرند، هر چند که بعد از رسیدن به بلوغ نسبی هم باز هم از زبان هایی مانند جاوا و سی شارپ که قدمت عظیمی دارند بسیار پر هزینه تر و پر خطر هستند.
جالب است بدانید که بسیار از Framework ها هستند که در بازه های رمانی مختلف معرفی و تبلیغ می شوند حتی توسط شرکت های بزرگی مانند گوگل و فیس بوک و بعد از گذشت مدتی به راحتی رها شده و یا بصورت خیلی رسمی مرگ آن ها اعلام می شوند و بد به حال کسانی که بر روی این موارد سرمایه گذاری کرده اند و پایه و اساس بیزینس و کسب و کارشان را روی آن ساخته اند که گاها جبران نپذیر می شوند.
امیدوارم که مطالب فوق مورد استفاده شما قرار گیرند و در انتخاب شما که قطعا نقطه مهمی برای استارتاپ یا کسب و کارتان است هرچند کوچک کمکی کرده باشد و یا اثر گذار باشد، مشتاقانه منتظر شنیدن نظرتان مثبت و منفی و نقد های شما هستیم و در قسمت کامنت از شما دعوت میکنیم نظرتان را بیان بفرمایید، چرا که ممکن است تجربه و پاسخ شما موجب رهایی مشکل دیگری شود
شرکت پایدار سامانه، نشاندهنده رویایی جذاب و پر احساس در دنیای فناوری و خدمات دیجیتال است. ما با آتشی برافروخته از انگیزه و تعهد، تمام تلاش خود را به کار میگیریم تا برای مشتریان عزیزمان، تجربهای بینظیر از خدمات بیمانند را فراهم آوریم. تیم متخصص و پرانرژی ما، همیشه در حال جلب رضایت شما و بهبود پیوسته خدماتمان است. ما اعتقاد داریم که موفقیت ما به واسطه موفقیت شماست و همچنین با تکیه بر مفهوم برد-برد، مسیر مشترکی را با شما طی میکنیم. اینجاست که ما نه تنها شرکتی هستیم، بلکه یک خانوادهی پایدار و احساسی که در کنار شماست. ما برای پیوستن به مسیر موفقیت شما و ایجاد تفاوت واقعی در دنیای دیجیتال همراه شما هستیم.
نظرات کاربران
کیوان
لطفا این فریم ورک را بررسی کنید جدید هست و مدعی سرعت بیشتر از ASP.NET هست https://github.com/elanatframework/Code_behind
Sepanta
چند تاشونو باید یاد بگیریم فریم ورک زبان برنامه نویسی نیست منطقیه که روی چند تا فریم ورک مسلط بشیم؟ یا نباید واردشون بشیم گیج میشیم؟؟ فقط برای طراحی سایت میخوام یاد بگیرم بین فریم ورک دات نت و سینگل پیج ها خیلی شک دارم و نمیتونم تصمیم بگیرم با یدونه فریم ورک میشه مستر شد به نظر شما
اردلان
سلام نظر شما راجع به نکست چیه Next js
designer
منظورم سرعت یادگیری فریم ورک بود نه سرعت خود سایت پیام قبل رو نتونستم ویرایش کنم میخوام روی یه فریم ورک کار کنم نمیدونم چی باید انتخاب کنم هر زبان شروع میکنم نمیتونم تا اخر ادامه بدم
designer
واسه طراحی سایت کدوم فریم ورک سرعت بیشتری داره و با یه زبان برنامه نویسی بشه باهاش کار کرد، دنبال هر چیزی میرم باید صد تا چیز یاد گرفت تا یه سایت بشه طراحی کرد من نمیدونم چیکار باید بکنم
دیدگاه شما
از همین دسته بندی