آموزش حرفه ای React

با React دانش جاوا اسکریپت خود را ارتقا دهید!

Complete React Developer Course

نام دوره آموزشیReactJS

 Logo For ReactJS

معرفی دوره آموزشی: امروزه نحوه تعامل کاربران با وب ‌سایت‌ها بسیار متفاوت شده است و کاربری یک وب سایت متفاوت از آن چیزی می‌باشد که تا چندی پیش شاهد آن بودیم. به لطف تکنولوژی‌های جدید، وب‌سایت ها از حالت ساده خود خارج شده و به سمت وب‌اپلیکیشن‌ها سوق پیدا کرده‌اند. یکی از بهترین و بروزترین این تکنولوژی‌ها ری‌اکت (ReactJS) می‌باشد. ری‌اکت یک کتابخانه جاوااسکریپت است که در سال ۲۰۱۳ توسط فیسبوک به صورت متن‌باز معرفی گردید. با استفاده از ‌ری‌اکت می‌توان برنامه‌های تک‌ صفحه‌ای (SPA) وب و برنامه‌های موبایل توسعه داد که در این دوره به صورت خاص به استفاده ری‌اکت در صفحات وب می‌پردازیم.در این دوره که به صورت پروژه محور برگزار می‌شود، پروژه‌‌های مختلفی مانند شمارنده، مدیریت کار‌ها، پنل‌ادمین (به همراه اتصال به سرور و مدیریت session کاربر) و پروژه‌ای برای درک بهتر SSR پیاده سازی می‌شود و در پایان دوره به تست‌نویسی‌های مختلف می‌پردازیم.همچنین این دوره به صورت مقدماتی تا پیشرفته ارائه می‌شود که برای شروع این دوره نیاز است به مباحث پایه‌ای و پیشرفته جاوا اسکریپت تسلط داشته باشید و پیشنهاد می‌شود پیش از ثبت نام در این دوره، دوره جاوا اسکریپت را گذرانده باشید.

 

محتوای آموزشی: آموزش جامع React JS

 

مخاطبین دوره ReactJS:

  • توسعه دهندگان وب
  • توسعه دهندگان Web Application با ReactJS

 

سطح دوره آموزشی: مقدماتی تا پیشرفته

 

مدت زمان آموزش: ۶۴ ساعت

 

نحوه برگزاری: بصورت آنلاین و حضوری

 

پیش نیاز آموزش: دوره JavaScript

 

 دوره رایگان React Js: برای اطمینان از کیفیت دوره React Js جلسه اول دوره را رایگان ثبت نام کنید.

 

زمانبندی و هزینه آموزش: برای اطلاع از هزینه لطفا به تقویم آموزشی مراجعه نمایید.

 

معتبرترین مدرک آموزشی: در پایان هر دوره مدرک معتبر اعطا خواهد شد که نمونه آن را می توانید در لینک "نمونه مدارک" مشاهده کنید.

 

 

Introduction

  • What is React?
  • React history
  • React community
  • React job market
  • React in mobile and DOM
  • SPAs VS MPAs
  • Editor / IDE

Remember

  • JavaScript
  • ES6
  • JS and NPM
  • Babel
  • Webpack

Setup

  • Add react to a website
  • Create project without CRA
  • JSX
  • Virtual DOM
  • Using Create React App
  • Eject the project
  • Create structure of project

Components

  • Create component and reuse it
  • Stateless vs Stateful Components
  • Class component vs Functional component
  • Lifecycle Overview
  • Higher Order Component (HOC)
  • Handling events
  • Styling
    • SASS
    • Inline
    • CSS module

Data

  • flow
  • State
  • Props
  • Refs
  • Two Way Binding
  • Fetch API and Axios

Hooks

  • useState
  • useEffect
  • useContext

Routing

  • react-router and react-router-dom
  • Wild card and arguments in routes
  • Hooks
    • useHistory
    • useLocation
    • useParams
    • useRouteMatch
  • Switch
  • Handling 404 pages

Context

  • Create context
  • Provider
  • Consumer
  • Multiple context
  • Reducer
  • Hooks
    • useContext
    • useReducer

Redux

  • What is the state management systems?
  • Store
  • Reducers
  • Actions
  • Middlewares
    • Apply middlewares
    • Create custom middleware
    • Popular middlewares
    • Redux thunk
  • Sample project with vanilla redux
  • Using Redux with React (react-redux)
  • Hooks
    • useSelector
    • useDispatch
    • useStore
  • Redux toolkit
  • Redux DevTools

Popular React UI frameworks

  • Ant Design
  • Material UI

Finally

  • Build
  • Deploy on server

SSR

  • What is SSR?
  • Why SSR?
  • SSR solutions
  • NextJS
  • Pages
    • Static pages
    • Dynamic pages
  • Routes
    • Static routes
    • Dynamic routes
  • Error pages handling
  • Static site generation (SSG)
  • Redux in NextJS
  • Optimize SEO
  • Static files
  • Components and reuse it
  • Fetch data
  • Axios in Nextjs
  • Middlewares in requests

Testing

  • Jest
  • Enzyme
  • TDD
  • React test library
  • Components
  • Redux
  • Axios

 

درباره React JS بیشتر بدانیم:

React چیست؟

React در حال حاضر یک زبان برنامه نویسی محبوب و پرکاربردترین و محبوب ترین کتابخانه Front-End جاوا اسکریپتی در زمینه توسعه وب است و تقریباً هر توسعه‌دهنده وب یا برنامه‌نویس فول استک، از آن استفاده می نماید. جالب به نظر می‌رسد، نه؟! React توسط شرکتهای بزرگ و استارتاپهای بزرگی همچون (Netflix ،Airbnb ، Instagram و ...) مورد استفاده قرار گرفته‌است. React مزایای زیادی را به میدان آورده و همین موضوع آن را به گزینه‌ای بحث برانگیز در مقابل فریم ورک هایی مانند Angular.js تبدیل کرده‌است.

قبل از پرداختن به React، ابتدا با درک اینکه SPA (برنامه تک صفحه‌ای) چیست شروع می‌کنیم.

 

SPA یا Single Page Application چیست؟

SPA در اصل برنامه‌ای است که به جای بارگیری مجدد کل صفحه از سمت سرور در طی تعاملات با برنامه، یک صفحه HTML را بارگیری می‌کند و ضمن تعامل با برنامه، صفحات را به صورت پویا به روز می‌کند.ReactJs یک کتابخانه جاوا اسکریپتی کارآمد و انعطاف‌پذیر است که برای طراحی رابط کاربری به طور خاص برای برنامه‌های تک صفحه‌ای استفاده می‌شود. ReactJS یک کتابخانه فرانت‌اند متن باز و مبتنی بر کامپوننت است که فقط محدود به لایه نمایش برنامه می‌شود و به توسعه‌دهندگان این اجازه را می‌دهد تا بدون بارگیری مجدد صفحه، برنامه های وب بزرگی را که داده های آنها بطور مداوم در حال تغییر هستند، ایجاد کنند. هدف اصلی ReactJS سرعت، مقیاس پذیری در عین حال سادگی می‌باشد. نکته قابل توجه این است که React یک فریمورک نیست و فقط کتابخانه‌ای است که توسط فیس‌بوک برای حل برخی از مشکلات که قبلاً با آن روبرو بودیم ایجاد شده است.فریمورک ها به ویژه برای تیم های جوان و استارت آپ‌ها ابزار بسیار خوبی هستند. هنگام کار با یک فریمورک، بسیاری از تصمیمات طراحی برای شما از قبل گرفته شده‌است، که این امر به شما یک مسیر روشن برای نوشتن منطق خوبی در سطح برنامه می‌دهد. با این حال، فریمورک ها معایبی نیز دارند. برای توسعه‌دهندگان باتجربه که روی سورس کد های بزرگی کار می‌کنند، این معایب گاهی اوقات یک نقطه شکست است.React از فلسفه یونیکس پیروی می‌کند زیرا این یک کتابخانه کوچک است و فقط بر روی یک چیز و انجام بسیار خوب آن کار تمرکز دارد.

 

چرا باید React را یاد بگیریم؟

React قدرتمندترین کتابخانه Frontend برای توسعه بخش View از مدل توسعه MVC می باشد و حتی محدود به این مدل هم نمی‌باشد. در زیر چند دلیل آورده شده است:

  • منحنی یادگیری کم:

همه توسعه‌دهندگان وب مطمئنا باید با JS آشنایی خوبی داشته باشند و اگر این چنین باشد، یادگیری React برایشان بسیار آسان است. کسانی که زمینه‌ای از توسعه وب نداشته و یا در توسعه وب تازه کار هستند، ابتدا باید JavaScript را یاد بگیرند. مخصوصاً جدیدترین نسخه آن که JS ES6 می‌باشد.

  • معماری مبتنی بر کامپوننت ها:

این موضوع به شما کمک می‌کند تا بتوانید برنامه‌های بسیار پیچیده‌ای را طراحی کرده و آنها را به قطعات کوچک و ریزی تقسیم کنید و با این کار ساخت، نگهداری، آزمایش و اشکال زدایی کل برنامه خود را آسان تر کنید.

  • سرعت:

برنامه‌ای که با React توسعه داده می‌شود بسیار سریع است. React برنامه ها را به سرعت رندر کرده و دوباره ارائه می‌دهد و با آخرین تغییر در داده ها به روز می‌شود.

  • مقیاس پذیری:

برنامه های مبتنی بر React بسیار سریع هستند که این موضوع تجربه بسیار خوبی را به کاربر انتقال می‌دهد که باعث خوشحالی کاربر می‌شود.

برای مثال فیس‌بوک را ببینید، چه اندازه مقیاس پذیر است! فیس بوک با داشتن چیزی حدود 5000 کامپوننت هنوز هم بدون افت عملکرد در حال اجرا است. رویکرد مبتنی بر کامپوننت، استفاده از JSX، استفاده از DOM مجازی، در دسترس بودن کامپوننت های شخص ثالث، همه اینها باعث شده است که React بسیار مقیاس پذیر باشد.

  • داشتن جامعه‌ای بزرگ:

می‌دانیم با وجود جامعه‌ای قدرتمند، منابع خوبی نیز به دست می‌آید، هزاران فیلم، آموزش، پست وبلاگ در دسترس است که به شما کمک می‌کند هر نوع برنامه را با استفاده از React یاد بگیرید و به راحتی هر چه تمام تر توسعه دهید.

  • ایجاد آسان برنامه هایی پویا:

React ایجاد برنامه های تحت وب پویا را بسیار آسان کرده است زیرا به کد کمتری نیاز دارد و عملکرد بهتری را به شما ارائه می‌دهد، در مقابل JavaScript، که در آن کد زدن اغلب خیلی زود پیچیده می‌شود.

  • ابزارهای اختصاصی برای اشکال زدایی آسان:

فیس‌بوک افزونه‌ای برای Chrome منتشر کرده است که می‌تواند برای اشکال‌زدایی از برنامه های React استفاده شود. این امر باعث می‌شود روند اشکال‌زدایی برنامه های وب مبتنی بر React سریعتر و راحت تر انجام شود.

  • کتابخانه و رویکرد بومی

فریمورک React می‌تواند برای ایجاد برنامه‌های تلفن همراه (React Native) استفاده شود. ری اکت یک طرفدار قوی از قابلیت استفاده مجدد است، به این معنی که قابلیت استفاده مجدد کد را پشتیبانی می‌کند. بنابراین در همزمان ما می‌توانیم برنامه IOS، Android و نرم افزار وب خود را با داشتن یک سورس کد به راحتی ایجاد کنیم.

 

پیش نیازهای یادگیری

ReactJS

در اینجا برخی از مفاهیمی ذکر شده است که باید تا حد قابل قبولی با آنها آشنا باشید تا بتوانید با React کار کنید:

  • مفاهیم پایه برنامه نویسی مانند توابع، اشیا، آرایه ها و به میزان کمتری کلاس ها.
  • داشتن دانش کافی از JavaScript
  • داشتن آشنایی لازم با HTML و CSS

 

بازار کار React

React امروزه به محبوب ترین واژه در جامعه توسعه‌دهندگان Front-End تبدیل شده است، که نشان از استفاده روزافزون آن در میان توسعه‌دهندگان می‌باشد.

  • توسعه‌دهندگان React در مقایسه با سایر فناوری های توسعه وب درآمد بیشتری کسب می‌کنند. به دلیل رندر شدن سریع برنامه‌های مبتنی بر React، شرکت های بیشتری در حال استفاده از این ابزار در توسعه برنامه‌های خود می‌باشند. متعاقباً این امر منجر به تقاضای بیشتر توسعه‌دهندگان React در سراسر جهان شده است.
  • React از زمان انتشار به طور مداوم محبوبیت بیشتری پیدا کرده است و همانطور که در گزارشات Google آمده است، هیچ نشانه‌ای از کاهش محبوبیت آن وجود ندارد. فیس‌بوک بصورت مداوم ویژگی‌هایی را به React اضافه می‌کند و با گذشت زمان قدرت آن را بیشتر می‌کند. بهتر است که فرض کنیم React آمده است تا بماند.

 

سوالات رایج به نحوه شرکت در دوره ها:

چه کسانی نیاز دارند این دوره را بگذرانند؟

این دوره مخصوص کسانی است که می خواهند به عنوان یک توسعه دهنده نرم افزار front-end  واسط کاربری قدرتمند بنویسند.

 

برای شرکت در این دوره چه پیش نیازهایی باید داشته باشیم؟

تسلط کامل بر مباحث دوره JavaScript

 

با گذراندن این دوره در چه حوزه هایی می توانم وارد شوم؟

شما با یادگیری React JS می توانید به عنوان متخصص front-end و یا full-stack Developer به اجرای پروژه ها بپردازید.

 

دوره های خانه لینوکس حضوری هست یا آنلاین؟

دوره های خانه لینوکس هم به صورت آنلاین و هم به صورت حضوری برگزار می گردند که از هنگام شیوع بیماری کرونا اکثر دوره ها بصورت آنلاین و با کیفیت عالی برگزار می گردند. نحوه برگزاری هر دوره قبل از شروع دوره، در وبسایت مجموعه اعلام می گردد.

 

آیا امکان شرکت در دوره ها از خارج از ایران امکان پذیر هست؟

بله، امکان شرکت از هرجای دنیا در دوره های آنلاین خانه لینوکس وجود دارد.

 

سامانه آموزش آنلاین مجموعه چیست؟

سامانه آموزش آنلاین خانه لینوکس نرم افزارهای توسعه داده شده مبتنی بر پروژه متن باز bigbluebutton  Moodle +می باشد که بر روی بستر امن و قدرتمند لینوکس میزبانی شده است و هر امکانی که در سامانه های آموزش آنلاین رایج وجود دارد را در بالاترین کیفیت ارائه می دهد و همچنین یه انقلابی را از لحاظ کیفیت و قدرت استفاده از امکانات، در صنعت آموزش آنلاین بوجود آورده است.

 

آیا کیفیت دوره های آنلاین به اندازه دوره های حضوری هست؟

بی شک می توان گفت با توجه به سامانه نرم افزاری مورد استفاده در دوره های آنلاین آنیسا و میزبانی بر روی بستر لینوکس و پشتیبانی قدرتمند و وجود امکاناتی چون مشاهده ویدیوهای کلاس بعد از تشکیل کلاس و وجود همه نوع امکانات ارتباطی در بالاترین کیفیت، دوره های آنلاین کیفیتی کم از دوره های حضوری نداشته و معمولا با شرکت در دوره های آنلاین آنیسا، دشمنان دوره های آنلاین به طرفداران پروپاقرص این نوع از دوره های آموزشی تبدیل شده اند.

 

دوره ها به چه زبانی برگزار می گردند؟

دوره ها بصورت پیش فرض به زبان فارسی برگزار می گردند و درصورت نیاز می توان برخی دوره ها را بصورت خصوصی یا سازمانی به زبان انگلیسی برگزار کرد.

 

آیا می توانم همزمان در دو یا چند دوره آموزشی شرکت نماییم؟

در صورتی که یکی از این دوره ها آنلاین باشد، بله می توان. البته در صورت شرکت در دوره بصورت آفلاین، کسب مدرک به شرط قبولی در آزمون پایان دوره می باشد.

 

آیا امکان پرسش و پاسخ در کلاس آنلاین وجود دارد؟

بله شما در طول کلاس می توانید بصورت صوتی و یا تصویری، یا بصورت چت و حتی با به اشتراک گذاری تصویر صفحه کامپیوترتان در سامانهLMS ، به راحتی سوالات خود را بپرسید و استاد محترم مشکلات شما را در طول دوره به بهترین نحو حل می نماید.

 

آیا مدرس دوره تجربه عملیاتی مناسبی در حوزه مربوطه دارد؟

بله، مدرسان مجموعه آنیسا متخصصین و مدرسین برتر و مرجع حوزه تخصصی که آموزش می دهند با تجربه بالا در محیط ها کاری و عملیاتی هستند و غیر از دانش، بینش و تجربه را بصورت کاملا عملیاتی به دانشجویان منتقل می نمایند. قابل ذکر است که دوره های خانه لینوکس در بالاترین سطح علمی و عملی در دنیا ارائه می گردد.

 

آیا می توانیم قبل از شرکت در دوره تعیین سطح و مشاوره داشته باشیم؟

بله شما می توانید با تماس با مجموعه و مشاوره کاملا صادقانه و رایگان به منظور جلوگیری از طوفان مغزی در انتخاب مسیر، مشاوره و تعیین سطح شوید.

 

امکان شرکت در کلاس ها بصورت آفلاین وجود دارد؟

شما باید دوره های مجازی (آنلاین) را ثبت نام نمایید، اما می توانید با توجه به وجود مشغله کاری، یا اختلاف ساعت محل زندگی تان، دوره را در طول زمان برگزاری بصورت آفلاین ملاحظه بفرمایید. البته در صورت شرکت در دوره بصورت آفلاین، کسب مدرک منوط به قبولی در آزمون پایان دوره است.

 

ساعت برگزاری دوره ها به چه صورت است؟

معمولا زمان برگزاری دوره های در طول هفته، در بعد از ظهر ها و دوره های آخر هفته صبح ها و یا بعد از ظهر ها می باشند. لطفا برای اطلاع دقیق از ساعت برگزاری هر دوره به تقویم آموزشی مراجعه فرمایید.

 

آیا تعداد ساعت دوره های حضوری و آنلاین با یکدیگر متفاوت است؟

خیر، کاملا یکسان است.

 

سوالات رایج آزمون ها و مدارک:

آیا پس از دوره مدرک معتبر دریافت می کنم یا باید در آزمون های بین المللی شرکت کنم؟

پس از شرکت در هر دوره، در صورت اجرای تمرینات دوره و قبولی در آزمون های دوره، مدرک فناوران آنیسا - خانه لینوکس برای شما صادر می گردد که به دلیل سطح دانش کسب شده توسط دانشجویان، در اکثر شرکت های بزرگ دنیا از اعتبار بالایی برخوردار است.

در حوزه لینوکس، در صورت نیاز، دانشجویان می توانند جداگانه در ازمون های بین المللی موسسه LPI شرکت نمایند و پس از قبولی مدرک موسسه LPI را اخذ نمایند.

 

آیا مدرک خانه لینوکس قابل ترجمه هست؟

مدرک خانه لینوکس به زبان انگلیسی صادر می گردد و نیازی به ترجمه در هنگام پروسه مهاجرت یا همکاری با شرکت های خارجی نیست.

 

آیا می توانم بدون شرکت در دوره آموزشی در آزمون بین المللی شرکت کنم؟

بله، در صورت آمادگی برای شرکت در آزمون های بین المللی لینوکس، این امکان وجود دارد.

 

آزمون های بین المللی به چه زبانی برگزار می شوند؟

این آزمون ها در ایران به زبان انگلیسی برگزار می گردند.

 

چگونه داوطلبان می توانند صحت مدارک خود را به کارفرمایان اثبات کنند؟

کارفرمایان می توانند جهت آگاهی از وضعیت گواهینامه شما، با ارائه شماره سریال مدرک موسسه در وبسایت موسسه، مدارک خانه لینوکس را استعلام نمایند.

 

آزمون پایان دوره به چه صورت است؟

این آزمون به صورت آنلاین در سامانه LMS مجموعه برگزار می گردد. اجرای تمارین کلاسی و تاییدیه مدرس جهت صدور مدرک نیاز است.

 

سوالات عمومی:

آیا من می توانم ویدیوی دوره را ضبط کنم؟

خیر، به منظور حفظ حق مالکیت معنوی موسسه (البته با لطف و حمایت دانش پژوهان محترم خانه لینوکس)، دوره های آنلاین توسط موسسه ضبط می گردند و تا دو ماه در دسترس کامل دانشجو برای تمرین و یادآوری در سامانه آموزش مجازی در دسترس هستند اما ضبط و انتشار ویدیوهای کلاس توسط دانشجو غیر قانونی است.

 

چه نیازمندی های سخت افزاری برای برگزاری این کلاس به صورت آنلاین نیاز هست؟

داشتن یک سیستم با حدود 30 گیگ هارد خالی و حداقل 8 گیگ مموری و حداقل cpu در سطح core i3 نیازمندی شرکت در این دوره هست. در دوره های حضوری مجموعه به هر دانشجو یک سیستم مجزا تخصیص داده می شود. دسترسی به اینترنت نیز برای کلاس های آنلاین، نیاز است.

 

آیا من پشتیبانی رو در طول دوره دارم؟

بله شما در طول دوره پشتیبانی مجموعه و مدرس را دارید.

 

آیا امکان پیشنهاد کار از سمت موسسه به دانشجویان وجود دارد؟

بله، بدین منظور موسسه همواره آگهی های شغلی سازمان های همکار را در شبکه های اجتماعی منتشر می کند و با کسب دانش و تخصص، دانشجویان توانسته اند در بهترین شرکت ها و سازمان های داخلی و خارجی جمله Dell، Cisco، MTN، Amazon و حتی NASA مشغول به کار شوند.

 

آیا کلاس را می توانم بصورت خصوصی و یا اختصاصی برای سازمان برگزار کنم؟

بله امکان شرکت بصورت دوره خصوصی یا سفارشی شده برای سازمانها وجود دارد.

 

آیا مسیر آموزشی مشخصی برای ادامه کسب تخصص وجود دارد؟

بله، حرفه ای ترین مسیر آموزش نتیجه سال ها تجربه و آموزش حرفه ای در صنعت و همچنین نتیجه اتاق فکر اساتید آنیسا بصورت یک Roadmap جامع در حوزه های مدیریت سیستم های لینوکس، توسعه نرم افزار، DevOps، IOT، Data Science، شبکه و DevNet و همچنین زیرساخت به دانشجویان ارائه می گردد.

 

تا چه مدت به دوره دسترسی دارم؟

در دوره های آنلاین، تا دو ماه پس از اتمام دوره، ویدیوهای دوره قابل بازدید در سامانه آموزش آنلاین است.

 

سوالات رایج ثبت نام و پرداخت:

آیا امکان پرداخت هزینه دوره بصورت اقساط وجود دارد؟

بله خوشبختانه، این امکان وجود دارد.

 

آیا تخفیفی برای شرکت در دوره ها وجود دارد؟

بله تخفیفات دائمی چون تخفیف گروهی، دوره های همزمان، تخفیف معرفی و تخفیفات مناسبتی وجود دارد.

 

گروه سنی مخاطب دوره ها چیست؟

مخاطب دوره های تخصصی آنیسا معمولا جوانان و بزرگ سالان متخصص هستند اما دوره های مجزایی برای رده سنی نوجوانان و کودکان وجود دارد.

 

چگونه می توانم برای شرکت در دوره ثبت نام کنم؟

کافی است برای شروع در قسمت پیش ثبت نام، پیش ثبت نام را انجام داده و منتظر تماس همکاران ما باشید که در اسرع وقت و در ساعات اداری با شما تماس خواهند گرفت و شما را در ادامه پروسه ثبت نام همراهی می نمایند.

 

آیا رعایت پیش نیاز ها واجب است؟

بله، رعایت پیش نیاز های رسمی دوره بسیار مهم هستند، و عملا بدون رعایت آنها امکان بهره وری از دوره وجود ندارد.

 

من دانش آموزم آیا می توانم در دوره ها شرکت کنم؟

بله، با مشاوره و سنجش دانش شما در حوزه IT امکان شرکت در دوره مناسب سن و دانش شما وجود دارد

دوره های پیشنهادی

EN / FA

فناوران آنیسا - خانه لینوکس ایران

تهران، میدان آرژانتین، خ وزرا، کوچه هشتم، یحیوی، پلاک ۴

 اطلاعات تماس:

  • 021-88716168
  • 021-88712172
  • 0910-8555111

info @ anisa.co.ir

© فناوران آنیسا - خانه لینوکس ایران | تمامی حقوق این سایت تحت مجوز GFDL برای فناوران آنیسا محفوظ است.
design by www.digitaldesign.ir