سلام دوستان من می خام برای توسعه بهتر وب سایت و افزودن ویژگی های جدید (سمت frontend) تصمیم به یادگیری جاوا اسکریپت دارم، ولی وقتی یه سرچ تو اینترنت زدم واقعا گیج شدم. نمیدونم vuejs رو شروع کنم یا jquery یا react . کدومشون برای طراحی وب سایت و افزودن امکاناتی که بوسیله جاوا اسکریپ انجام میشه بهتره و سازگار با laravel هست؟ کدوم رو پیشنهاد می کنید؟ اصلا هر کدوم کاربردشون چیه؟
ببینید jQuery کتابخونه کارآمدی هست که تا قبل از React و Vue بسیار استفاده میشد.. و هنوز هم میشه
طبق گفته فیسبوک: React یک لایبرری ساخت UI هست
و Vuejs یک فریمورک جاوااسکریپتیه.
اگر با جاوااسکریپت آشنا نیستید:
اولین کاری که باید بکنید یادگیری جاوااسکریپت هست و بعدش Ecmascript که نسخه های جدیدش حساب میشه...
در این حین میتونید این ابزار ها رو بررسی کنید و ببینید مثلا با ویو راحت تری یا با ریاکت
react و jquery یک library هستن همونجور که تو سایت خودشون هم گفته. کتابخونه مجموعه ای از توابع هست مانند به توان رساندن یک عدد که هر جا که بخوایم میتونیم به هر شکلی استفاده کنیم انتخاب های بیشتری برای برنامه نویس ها ارائه میدن
توضیح بیشتر کتابخانه تو این لینک
اما vue یه freamwork هست فریم ورک مجموعه ای از کلاس ها و متد هاست که اومدن تا برنامه نویس ها هدف رو فقط توسعه بزارن و کار زیادی به پیچیدگی های او بخش نداشته باشن مثله لاراول یا vue که انتخاب های محدود تری برای برنامه نویس ها ارائه میده ولی در هنگامی که پروژه ها بزرگ میشه چون یک چهار چوب استاندارد پیاده سازی شده سود مند خواهد بود
توضیح بیشتر این لینک
در باره اینکه کدوم رو شروع کنی باید بگم من خودم vue و jquery کار کردم و درباره react فقط آمار هارو می تونم بگم
react در کل دنیا بازار بسیار خوبی دارد جوری که شغل هایی ایجاد شده با عنوان react engineer و خیلی ها با همین زمینه حتی مهاجرت کردن که چندتاشون رو میشناسم.
vue هم بسیار محبوب هست مثلا کافه بازار vue استفاده میکنه و خیلی سایت های دیگه که اگه مهارت های vue رو هم خوب یاد بگیرید مثله vue , vuex و nuxt ,... بازار خوبی داره نه اندازه react
jquery : خیلی ها که از vue یا react استفاده میکنن دیگه در کنارش از jquery استفاده نمی کنن ولی به نظرم هنوز به شدت مورد استفاده هست ومن خودم هر شرکتی که رفتم استفاده شده و یک front-end کار حتمــــــــــا باید بلد باشد.
اما بینه vue و react نظر من اینه اگه یه پروژه داری یا میخوای سریع از یه کدوم استفاده کنی شدیدا پیشنهاد میکنم vue چون خیلی هارو میشناسم که جاوا اسکریپت خوبی ندارن ولی vue رو سریع یاد گرفتن و خیلی هم خوب استفاده کردن و پروژه هم خیلی خوب جلو رفت
اما اگه وقت داری فعلا بشین react یاد بگیر
اگر چیزی اشتباه بود دوستان اصلاح کنن😊🌹🌹
@ahmad316948
توضیحات عمومی و شباهتهای Vue.js و React.js
قبل از اینکه به سراغ مقایسهی بین React و Vue.js بروید، اطمینان حاصل کنید که کاملا متوجه هستید که این ابزار ها به چه منظوری استفاده میشوند و چه امکاناتی دارند. هردو این ابزارها به دستهبندی کتابخانهها یا فریمورکهای جاوااسکریپت مربوط میشوند و هردو آنها در طراحی رابط (interface) استفاده میشوند. علاوه بر هدف مشترک، این دو فریمورک در چیزهای دیگری نیز مشابه هستند:
Vue.js و React.js هردو بر اساس مدل Virtual DOM هستند.
ساختار مبتنی بر کامپوننت و واکنش پذیری از ویژگی های هر دو ابزار است.
آنها برای کار با کتابخانه روت در نظر گرفته شده اند، در حالی که تمام وظایف اضافی به سایر کتابخانه ها منتقل می شود.
در عین حال، تفاوت هایی بین این دو ابزار وجود دارد. به عنوان مثال، بسیاری از توسعهدهندگان، پشتیبانی کامل از زیرساختها و بسیاری از ابزارهای تجسم (visualization) را از جمله مزایای React.js میدانند. همچنین توسعهدهندگان برنامههای کاربردی وب معتقدند استفاده از React Native برای ایجاد برنامهها، بسیار آسان است.
در صورتی که عبارت ساده “Hello, world” را که در سراسر جهان توسط برنامهنویسان برای تست زبانهای برنامهنویسی مورد استفاده قرار میگیرد، در این دو فریمورک بررسی کنیم مشاهده خواهیم کرد که کد کمتر و ساده تری با استفاده از Vue خواهیم داشت.
"Hello, world" با استفاده از Vue.js :
new Vue({
el: '#app',
data: {
message: 'Hello from Vue'
}
});
"Hello, world" با استفاده از React.js :
var Greeting = React.createClass({
render: function() {
return (
<p> Hello from React </p>
)
}
});
ReactDOM.render(
<Greeting/> ,
document.getElementById('greeting')
);
نقاط قوت و ضعف Vue.js و React.js
بسیاری از طراحان رابط و برنامهنویسان به اتفاق آراء میگویند که استفاده از Vue.Js را در موارد زیر ترجیح میدهند:
ایجاد برنامه های وب با استفاده از قالبها
در Vue، یک اقدام اجباری، اضافه کردن صفات به طرح HTML است. این مشابه اتصال داده در Angular است. یکی از مزایای Vue.Js ، فرآیند سریع و ساده تر ایجاد برنامه ها با استفاده از قالب است. یک مثال از این برنامه ها، برنامه ای است که می توانید نام دکمه نمایش داده شده را توسط یک کلیک تغییر دهد.
React از قالب استفاده نمیکند بنابرین برای اجرای یک تسک به راهاندازی DOM در JS نیاز دارد و زمان و تلاش بیشتری لازم است. درصورتیکه بخواهید با قالب کار کنید، لازم است HTML پیشرفته بدانید، اما برخی از توابع ساده را میتوان با استاندارد HTML و JS نوشت.
وقتی نیازمند چیزی ساده و کارآمد هستید :
شما می توانید یک برنامه نوشته شده با Vue را در مرورگر خود بدون نیاز به ترنسپایل کردن، بارگیری کنید. درنتیجه کتابخانه Vue بدون مشکلی برای کل پروژه اضافه می شود.
طراحی Vue به طور کلی ساده است. برای مثال، پردازش مقدار در Vue با پردازش مقدار در React متفاوت است. بنابراین، React هر دو اقدام قبلی و فعلی را تجزیه و تحلیل می کند و سپس بر اساس نتایج تحلیل ها داده های مربوطه را به DOM اضافه می کند. به همین دلیل شما هیچ مقداری را به طور مستقیم نمی توانید تغییر دهید.
در فریمورک Vue شما می توانید به راحتی مقادیر را تغییر دهید و به طور خودکار، تغییرات مرتبط در DOM هر زمانی که مقادیر تغییر می کند، اعمال میکند. این راه حل نسبتا کارآمد است، اما در مقایسه با React، حداقل یک نقص دارد. Vue امکان ویرایش و حذف اطلاعات را ندارد ، که گاهی اوقات می تواند یک مشکل باشد.
وقتی نیاز به یک برنامه کوچک اما سریع دارید:
مکانیسم کار هر دو فریمورک مشابه است: یک DOM مجازی ایجاد شده و با DOM واقعی همگام سازی میشود. هنگامی که مقادیر در DOM مجازی تغییر می کند، این تغییرات به طور خودکار به DOM واقعی منتقل می شود.
این فرآیند را می توان در هر دو سیستم بهینه سازی کرد. اما در Vue با سرعت بیشتری کار می کند، در حالی که اندازه خود کتابخانه کم است - فقط 25.6 کیلوبایت. حجم کل React دو برابر بزرگتر است - 37.4 کیلو بایت DOM و 11.4 کیلو بایت کتابخانه. با این حال، در میان مزایای React.JS یک آرایه وسیع از گزینه های API وجود دارد.
حال فریمورک بزرگتر و سنگینتر و پیچیدهتر React.JS را برای استفاده در شرایط زیر توصیه می کنیم:
درصورتیکه بخواهید یک برنامه بزرگ را توسعه دهید:
همانطور که قبلا متوجه شدهایم، بسیاری از توسعه دهندگان Vue را برای ایجاد برنامه های کوچک ترجیح می دهند. اما React قطعا برای برنامه های در حال توسعه بزرگتر ، بهتر است. چرا React.JS؟ React انعطاف پذیر و قابل تنظیم میباشد. همانطور که می دانید Vue از قالبها ، که باعث روند توسعه ساده تر و سریع تر میشود، استفاده می کند. اما زمانی که برنامه بزرگ باشد این مزایا تبدیل به معایب میشوند. اغلب استفاده از قالب، بازسازی یک برنامه را غیر ممکن و یا بیش از حد پیچیده می کند. کد React باJS قابل استفاده مجدد است و هنگامی که برنامه React ایجاد کنید، برنامه شما به راحتی در آینده قابل بازسازی است.
در صورتیکه بخواهید هم برنامه موبایل و هم برنامه وب توسعه دهید:
React کتابخانه React Native را ارائه می دهد که می تواند برای توسعه نرم افزار های موبایل در JS مورد استفاده قرار گیرد و بسیار شبیه به React.JS، به نظر می رسد. اگر شما بدانید که چگونه از React استفاده کنید، به سرعت نحوه استفاده از RN را یاد خواهید گرفت. React Native اجازه می دهد تا برنامه تلفن همراه را بدون هر گونه دانش حرفه ای و مهارت خاصی، ایجاد کنید.
در صورتیکه بخواهید پشتیبانی فنی عالی و مجموعه ای از راه حل های آماده داشته باشید:
اگرچه Vue و React فریمورک های محبوبی هستند، محبوبیت دومی بسیار بیشتر است،-2.5 میلیون دانلود در مقابل 225هزار دانلود Vue در هر ماه. این فریمورک به طور گسترده ای در انجمن ها و در رسانه های اجتماعی مورد بحث است. شما می توانید انواع دستورالعمل های آماده و راه حل ها و راهنماها را درباره فریمورک React پیدا کنید. در نهایت، React توسط تیم توسعه دهندگان حرفه ای از فیس بوک ساخته شدهاست لذا اگر شما هر گونه سوالی داشته باشید پشتیبانی بسیار زیادی در اختیار خواهید داشت.
نتیجه گیری:
Vue.JS و React.JS دو ابزار بسیار محبوب توسعه دهندگان هستند که در بسیاری موارد بسیار مشابه اند. هردو نسبتا سبک وزن، سریع و انعطاف پذیر هستند. هر دو آنها از Virtual DOMsاستفاده میکنند و به سرعت آن را با DOM واقعی همگام میکنند، با این حال، برخی تفاوت های ظریف بین این دو فریمورک وجود دارد.
Vue مزایای زیر را نسبت به React دارد:
کوچکتر و سریعتر است.
دارای قالب های ساده ای است که روند توسعه را سرعت میبخشند.
از لحاظ سینتکس ساده تر است.
React در مقایسه با Vue دارای مزایای زیر است:
انعطاف پذیری بیشتری در برنامه های بزرگ در حال توسعه دارد.
قابلیت تست آسانتری دارد.
برای ایجاد برنامههای موبایل مناسبتر است.
اطلاعات و راهحل های بیشتری در دسترس برنامهنویس وجود دارد.
اما به هر حال، بهترین راه برای انتخاب بهترین ابزار برای حل مسائل خاص، این است که گزینه های مختلف را آزمایش کنید.
منبع: scotch.io
@ali.bayat
@rezaataei54
یه سوال دیگه vue با سئو مشکل نداره؟ چون بعضی جاها دیدم که نوشتن vue با سئو مشکل داره
کلا کتابخانه ها و فریمورک های جاوا اسکریپت بر اساس DOM مجازی (Virtual DOM) کار میکنن پس تمامی المنت ها و داده ها عملا بعد از ایجاد صفحات ساخته میشن ( SEO برای سایت های SPA واقعا یک کابوسه) گوگل و سایر جستجوگرها نمی تونن اطلاعاتی از صفحه رو ببین پس نیاز هست برای رفع این مشکل از ssr استفاده کنید بهترین گزینه کار با Nuxt.js هست برای اینکار. ssr چیه و چطور کار میکنه رو میتونین صبر کنین تا راکت قراره این دوره Nuxt.js رو برگزار کنه.
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟