React محبوب ترین کتابخانه جاوا اسکریپت است که به جهت توسعه رابط کاربری به کار می رود. این کتابخانه کارآمد و منعطف، توسط جردن واک، مهندس نرم افزار فیس بوک ساخته شده است. طراحی سایت با React به شما این امکان می دهد که رابط های کاربری پیچیده ای را از قطعات کوچک و مجزای کد بسازید. به این صورت که به شما این امکان را می دهد که پروژه های بزرگ را به اجزای کوچک تقسیم کنید، سپس آن ها را ترکیب کرده، دوباره استفاده نمایید و به اشتراک بگذارید.
چرا React متفاوت است؟
وب سایت ها و استارت آپ هایی چون فیس بوک، اینستاگرام، نتفلیکس، اوبر و… در حال حاضر در حال استفاده از react js هستند. برای مثال فیس بوک از ری اکت برای عناصر کوچک مانند دکمه های لایک و ورود استفاده می کند. همچنین عملکرد اشتراک گذاری، عملکرد نظرات و جاسازی پست و ویدیو نیز توسط React ارائه می شود. سایر ویژگی های مهم ساخته شده با این فناوری عبارتند از عملکرد چت، نمایه کاربر و عملکرد اشتراک.
محبوبیت این نوع طراحی امروزه از همه فریمورک های توسعه فرانت اند دیگر فراتر رفته است. دلایل زیر علت محبوبیت این کتابخانه و اینکه چرا توسط تعداد زیادی از سازمان ها و کسب و کارها پذیرفته شده است را توجیه می کند و باعث شده امروزه شاهد انواع سایت های طراحی شده با react (سایت آموزشی ، فروشگاهی ، شرکتی و …) باشیم.
توسعه دهندگان این کتابخانه در مقایسه با سایر فناوری های توسعه وب، درآمد بیشتری کسب می کنند. با توجه به رندر سریع برنامه های ری اکت، شرکت های بیشتری از این ابزار توسعه استفاده می کنند و این متعاقباً منجر به تقاضای بیشتر برای توسعه دهندگان در سراسر جهان شده است.
- ایجاد آسان برنامه های پویا:
React برخلاف جاوا اسکریپت، جایی که اغلب کدنویسی خیلی سریع پیچیده می شود، ایجاد برنامه های وب پویا را آسان تر می کند؛ زیرا با کدنویسی کمتر، عملکرد بیشتری ارائه می کند.
- عملکرد بهبود یافته:
این کتابخانه از دام (DOM) مجازی استفاده می کند، در نتیجه برنامه های وب را سریع تر ایجاد می کند.
- اجزای قابل استفاده مجدد:
مؤلفه ها، بلوک های سازنده هر برنامه React هستند. یک برنامه واحد معمولاً از چندین مؤلفه تشکیل شده است. این مؤلفه ها، منطق و کنترل های خود را دارند و می توان از آن ها در سراسر برنامه استفاده مجدد کرد که به نوبه خود زمان توسعه برنامه را به طور چشمگیری کاهش می دهد.
- جریان داده های یک طرفه:
این کتابخانه از یک جریان داده یک طرفه پیروی می کند، این بدان معنی است که هنگام طراحی سایت با React، توسعه دهندگان اغلب اجزای فرزند را در اجزای والد قرار می دهند. از آنجایی که داده ها در یک جهت جریان می یابند، اشکال زدایی خطاها و دانستن محل بروز مشکل در یک برنامه کاربردی در لحظه مورد نظر آسان تر می شود.
- امکان یادگیری آسان:
یادگیری آن آسان است، زیرا بیشتر مفاهیم پایه HTML و جاوا اسکریپت را با برخی از اضافات مفید ترکیب می کند. با این حال، همانطور که در مورد سایر ابزارها و فریم ورک ها وجود دارد، باید مدتی را صرف کنید تا درک درستی از این کتابخانه داشته باشید.
- توسعه برنامه های وب و موبایل:
ما قبلاً می دانیم که این کتابخانه برای توسعه برنامه های کاربردی وب استفاده می شود؛ اما این تنها کاری نیست که می تواند انجام دهد. چارچوبی به نام React Native وجود دارد که برگرفته از خود React است که بسیار محبوب است و برای ایجاد برنامه های موبایل استفاده می شود. بنابراین، در واقعیت، این کتابخانه می تواند به عنوان پایه ای برای ساخت و توسعه اپلیکیشن های تحت وب و موبایل استفاده گردد.
- ابزارهای اختصاصی برای اشکال زدایی آسان:
فیس بوک، افزونه کروم را منتشر کرده است که می تواند برای اشکال زدایی برنامه های ری اکت استفاده شود. این باعث می شود که فرآیند اشکال زدایی برنامه های وب، سریع تر و آسان تر شود.
ویژگی های طراحی سایت با React
- پسوند JSX جاوا اسکریپت
JSX یک پسوند برای جاوا اسکریپت است. این پسوند به همراه React برای توصیف اینکه رابط کاربری چگونه باید باشد، استفاده می گردد. با استفاده از JSX می توانیم ساختارهای HTML را در همان فایلی که حاوی کد جاوا اسکریپت است، بنویسیم. این امر درک و اشکال زدایی کد را آسان تر می کند؛ زیرا از استفاده از ساختارهای دام پیچیده جاوا اسکریپت جلوگیری می کند.
- دام مجازی
این کتابخانه یک دام مجازی (یا VDOM) ایجاد می کند که کپی دقیق دام واقعی است، با وزنی سبک تر. دستکاری دام واقعی بسیار کندتر از دستکاری دام مجازی است. این فرآیند در مقایسه با به روزرسانی تمام اشیاء در دام واقعی بسیار سریع تر است. هنگامی که دام مجازی به روز می شود، ری اکت دام مجازی به روز شده را با عکس فوری دام مجازی که درست قبل از به روز رسانی گرفته شده است، مقایسه می کند. با مقایسه آن ها، React متوجه می شود که دقیقا کدام شیء دام مجازی تغییر کرده است. در نهایت، ری اکت فقط آن اشیا را در دام واقعی به روز می کند.
- برنامه های افزودنی
این کتابخانه فراتر از طراحی ساده رابط کاربری بوده و دارای افزونه های زیادی است که پشتیبانی کامل از طراحی برنامه را ارائه می دهد.
مؤلفه ها، جزء به جزء شرح دادن، و پراپ ها در طراحی سایت با React
- مؤلفه ها
همانطور که قبلا اشاره شد، مؤلفه ها بلوک های سازنده هر برنامه ری اکت هستند. یک برنامه واحد معمولاً از چندین مؤلفه تشکیل شده است. هر مؤلفه اساساً بخشی از رابط کاربری است. طراحی به این روش رابط کاربری را به بخش های مستقل و قابل استفاده مجدد تقسیم می کند که می توانند جداگانه پردازش شوند.
به طور کلی دو نوع مؤلفه وجود دارد:
- مؤلفه های کاربردی: این مؤلفه ها هیچ حالتی برای خود ندارند و فقط حاوی یک متد رندر هستند، بنابراین به آن ها مؤلفه های بدون حالت نیز می گویند و ممکن است داده ها را از سایر مؤلفه ها به عنوان پایه استخراج کنند. کد احوالپرسی با استفاده از مؤلفه کاربردی:
return <h1>Welcome to {props.name}</h1>;
}
- مؤلفه های کلاس: این مؤلفه ها می توانند حالت خود را نگه داشته و مدیریت کنند. آن ها می توانند یک متد رندر جداگانه برای برگرداندن jsx روی صفحه داشته باشند؛ به آن ها، مؤلفه های حالت دار نیز می گویند. کد احوالپرسی مؤلفه کلاس React:
render () {
return <h1>Welcome to {this.props.name}</h1>;
}}
- جزء به جزء شرح دادن (state)
جزء به جزء شرح دادن در واقع وضعیت یک شیء داخلی است که برای محتوی داده ها یا اطلاعات مربوط به مؤلفه ها استفاده می شود. وضعیت یک جزء می تواند در طول زمان تغییر کند. هر زمان که تغییر کند، مؤلفه دوباره ارائه می شود. تغییر حالت می تواند به عنوان پاسخی به عملکرد کاربر یا رویدادهای ایجاد شده توسط سیستم اتفاق بیفتد و این تغییرات رفتار جزء و نحوه نمایش آن را تعیین می کند.
کد احوالپرسی مؤلفه کلاس React به صورت جزء به جزء شرح دادن:
state = {
name: "World"
};
updateName () {
this.setState ({ name: "Simplilearn" }) ;
}
render () {
return (
<div>
{this.state.name}
</div>
)
}
}
- پراپ ها (props)
پراپ ها یک شیء داخلی هستند که ارزش ویژگی های یک برچسب را ذخیره کرده و مشابه ویژگی های HTML عمل می کنند.
پیش نیازهای طراحی سایت با React
- مفاهیم برنامه نویسی مانند توابع، اشیا، آرایه ها و تا حدی کلاس ها
- دانش پایه جاوا اسکریپت
- آشنایی با HTML
مثالی از طراحی سایت با React
اگر در طراحی وب کار کرده اید، قبلاً برچسب های رایج مانند div، p، span و غیره را می شناسید. حال فرض کنید در حال ساخت یک وب سایت معمولی در HTML هستید. در اینجا به نظر می رسد:
<div>
<div><img src="image/Home.png"><span>Home</span></div>
<div><img src="image/Help.png"><span>Help</span></div>
<div><img src="image/Docs.png"><span>Docs</span></div>
<div><img src="image/Mail.png"><span>Mail</span></div>
</div>
بسیار ساده، اما همانطور که می بینید، تکراری است. برای هر آیتم منو، باید یک دسته کامل از HTML یکسان، با نمادها و عناوین مختلف بنویسید. حتی بدتر از آن، اگر بعداً تصمیم گرفتید ظاهر یک آیتم منو را تغییر دهید، باید آن را برای هر مورد کپی، جای گذاری و به روزرسانی کنید.
حال برای لحظه ای تصور کنید که در بالای همه برچسب های موجود، می توانید برچسب های جدیدی بسازید. و اگر این مهارت را داشتید، آیا منوی خود را بیشتر به این شکل سازماندهی نمی کردید؟
<div>
<MenuItem name="Home" />
<MenuItem name="Help" />
<MenuItem name="Docs" />
<MenuItem name="Mail" />
</div>
تقریباً می توانید اجزای خود را به عنوان قالب های کوچکی در نظر بگیرید که از طریق برچسب ها، کاملاً با HTMLیکپارچه شده اند. مطمئن هستم که تا به حال حدس زده اید که این دقیقاً همان چیزی است که ری اکت به شما اجازه می دهد. بیایید به نسخه دقیق موارد بالا در React نگاه کنیم.
function MenuItem(props) }
return (
<div>
<img src={`image/${props.name}.png`} />
<span>{props.name}</span>
</div>
) ;
}
function Menu () {
return )
<div>
<MenuItem name="Home" />
<MenuItem name="Help" />
<MenuItem name="Docs" />
<MenuItem name="Mail" />
</div>
) ;
}
در مثال بالا، توابع نه تنها برای تعریف یک کد، بلکه برای نامگذاری آن ها نیز استفاده می شوند. این نام به طور خودکار توسط ری اکت به یک برچسب تبدیل می شود، که می توانید به سادگی از آن در هر بخش دیگری از پروژه خود استفاده کنید، دقیقاً مانند تگ MenuItem بالا. اساساً طراحی سایت با React، می توانید یک مؤلفه را به عنوان یک برچسب و به عنوان یک تابع در نظر بگیرید.
البته کاربردهای react به همینجا ختم نمی شود و خارج از موضوع مقاله ما است. اما جالب است بدانید از react در طراحی اپلیکیشن های حرفه ای نیز بسیار استفاده می شود. مثلا طراحی اپلیکیشن با React Native در لیست ترندهای طراحی اپلیکیشن قرار گرفته و روز به روز به طرفداران آن اضافه می شود.
سوالات متداول
- React چیست؟
React کتابخانه جاوا اسکریپت بوده که در جهت توسعه رابط کاربری استفاده می شود. طراحی سایت با React به شما این امکان می دهد پروژه های بزرگ را به اجزای کوچک تقسیم کنید، سپس آن ها را ترکیب کرده، دوباره استفاده نمایید و به اشتراک بگذارید.
- چند ویژگی React را نام ببرید:
از ویژگی های این کتابخانه می توان به ایجاد آسان برنامه های پویا، عملکرد بهبود یافته، اجزای قابل استفاده مجدد، جریان داده های یک طرفه، امکان یادگیری آسان، توسعه برنامه های وب و موبایل، ابزارهای اختصاصی برای اشکال زدایی آسان و… اشاره کرد.
- برای طراحی سایت با React به چه چیزهایی نیاز است؟
برای طراحی سایت به این روش، باید با مفاهیم برنامه نویسی مانند توابع، اشیا، آرایه ها و تا حدی کلاس ها، دانش پایه جاوا اسکریپت و HTML آشنا بود.