در این مقاله قصد داریم به این موضوع بپردازیم که چرا باید توسعه وب را انتخاب کنیم و چگونه به یک توسعه دهنده حرفهای فرانت اند تبدیل شویم.
چرا توسعه وب؟
توسعه وب حوزهای است که به این زودی از بین نمیرود. وب بهسرعت در حال پیشرفت و همه گیر شدن است.
برنامههای مبتنی بر ابر، این اجازه را به ما میدهند که پردازشهای سنگین را در ابر انجام دهیم و به وسیله مرورگر که شبیه پل عمل میکند، سرورهای پر قدرت بک اند را به فرانت اند وصل کنیم.
اگر قصد یادگیری چیزی را دارید الان بهترین زمان برای یادگیری توسعه وب است.
توسعه وب نه تنها فرصتهای زیادی برای شما ایجاد میکند، بلکه این امکان را هم دارید که یک پروژه را به طور کامل انجام دهید که توسط هر کس از هر جای این سیاره قابل استفاده باشد.
از آنجایی که معمولا تمام افراد به مرورگر دسترسی دارند، هر شخص با برنامهای که نوشتهاید فقط یک URL فاصله دارد. اگر این را با یک برنامه دسکتاپ یا یک محصول مبتنی بر سختافزار مقایسه کنید، خواهید دید که اصلا قابل مقایسه با وب نیست.
حالا که فهمیدیم در حال حاضر توسعه وب بهترین چیز برای یادگیری است، بیاید ببینیم بهترین راه برای تبدیل شدن به یک توسعه دهنده وب چیست.
وب بسیار گسترده است - از کوچک شروع کنید و آن را کوچک نگه دارید
احتمالا کتابخانه و فریمورکهای زیادی مانند React,Angular,Vue,Ember,jQuery,XYZ و... را میشناسید.
برخی از سوالات که من در یوتیوب با آنها برخورد کردهام:
- باید چی یاد بگیرم؟
- X بهتره یا Y؟
- دامنه Z چیست؟
همیشه دو چیز در مورد تکنولوژی، به خصوص در مورد وب را بهخاطر داشته باشید:
- اینکه از چه فناوری استفاده میکنید همیشه هم مهم نیست. اگر شما بهاندازه کافی در زبان یا فریمورک خوب باشید، بهاحتمال بسیار زیاد موفق خواهید بود.
- شما اصلا نیاز به یادگیری همه چیز ندارید. اگر میخواهید موفق شوید، باید در یک چیز استاد شوید.
برای خلاصه کردن این بخش، وقتی شروع می کنید باید خیلی کوچک فکر کنید. این خیلی آسان است که در فریمورکی که تازه منتشر شده حرفهای شوید. اما من به شما پیشنهاد میکنم بدون تحقیق هیچ انتخابی نکنید.
با HTML و CSS شروع کنید
این واقعا باعث استرس میشود که بعضی از افراد از من درباره React سوال میپرسند در حالیکه جواب هنوز در HTML و CSS نهفته است .
جاوااسکریپت در ابتدا فقط یک زبان اسکریپتنویسی برای مرورگر بود. اگرچه اکنون خیلی بیشتر از آن است، اما این واقعیت را تغییر نمیدهد که در وب HTML و CSS را تکمیل میکند.
برای اینکه به استانداردهای وب برسید، موارد زیادی وجود دارد که فقط با CSS میتوانید به آنها دست پیدا کنید، و برای خیلی از آنها هم هیچ نیازی به جاوااسکریپت نیست.
تصاویر متحرک و drag and drop را میتوان به وسیله HTML مدیریت کرد. چیدمان صفحه؟ با استفاده از Flexbox یا Grid CSS APIs ایجاد میشوند.
چیزهای زیادی وجود دارد که میتوانید در مورد HTML و CSS بیاموزید! برای یادگیر جاوااسکریپت عجله نکنید به این دلیل که همه از Angular استفاده میکنند. آن دسته از کتابخانهها و فریمورکها جایی نمیروند.
برای یادگیری HTML میتوانید از این دورهی آموزشی از وبسایت راکت استفاده کنید.
و همچنین این دوره هم برای یادگیری CSS میتواند برای شما مفید باشد.
پهناور یا عمیق بودن
دو رویکرد برای زمانیکه توسعه وب را یاد میگیرید وجود دارد: پهناور یا عمیق بودن.
پهناور به این معنی است که شما شروع به یادگیری چیزهای زیادی با هم میکنید. این ممکن است برای برخی افراد کارساز باشد، اما نه برای همه. شما ممکن است خود را با برنامههای آموزشی، تمرینات، ویدیو و بلاگها درگیر کرده و در نهایت تسلیم شوید.
عمیق بودن به این معنی است که شما شروع به یادگیری یک چیز کرده و سعی کنید تا جایی که میتوانید یاد بگیرید. این حوزه مزایا و معایب خاص خود را دارد. ممکن است در این مسیر خسته یا تسلیم شوید چون نتایج را فوراً نمیبینید.
پس راهحل چیست؟
جواب: جای تعجب دارد ولی هیچکدام را انجام ندهید. فناوریهای کوچکی مانند HTML / CSS / JavaScript را انتخاب کنید و در هر سه مورد به اندازه متوسط عمیق شوید. چند مزیت این کار:
- خسته نخواهید شد، چون این سه مورد هدف متفاوتی دارند.
- شما می توانید هر سه را با هم مخلوط کنید و بدون ماهها تلاش (که معمولاً برای زبانهای دیگر مانند C / C ++ مورد نیاز است) به سرعت چیزی معنیدار ایجاد کنید و ببینید. این باعث میشود که انگیزه خود را برای ادامه کار حفظ کنید.
Reac،Angular یا Vue را انتخاب نکنید
هنگامی که افراد شروع به کار با جاوااسکریپت میکنند، میخواهند کتابخانهای مانند React، یک سیستم UI مانند Material UI را انتخاب کنند و به ساختن چیزهای جذاب بپردازند.
متأسفانه، این کار خودکشی است. اگر اصول اولیه جاوااسکریپت را نفهمید، هرگز و هرگز نمیتوانید با این فریمورکها پروژههای پیشرفتهای ایجاد کنید. و اینکه استفاده از جاوااسکریپت کمی زمانبر است.
توجه کنید که من در جمله قبلی کلمه «استفاده» را بهکار بردم؛ نه یادگیری. تفاوت زیادی بین یادگیری چیزی و استفاده از چیزی که آموختهاید وجود دارد.
یک پروژه کوچک با HTML / CSS / JavaScript ایجاد کنید. و زمانیکه این کار را انجام دادید، یک پروژه دیگر ایجاد کنید و سپس یک پروژه دیگر هم ایجاد کنید.
هر گامی که در طول مسیر برمیدارید، پیچیدگی پروژه و انتظارات را نیز افزایش میدهید تا زمانیکه codebaseتان عالی شود. در این مرحله شما به جایی رسیده که من آن را مرز یادگیری برتر نامیدهام.
اولین باری که فریمورکی مانند React یا Angular را برای پروژههای خود انتخاب میکنید باید زمانی باشد که مطمئن هستید میتوانید آن پروژه را بدون React یا Angular نیز بسازید.
پس ابتدا جاوااسکریپت را بهطور کامل یاد بگیرید و سپس شروع به یادگیری فریمورک کنید.
برای یادگیری جاوااسکریپت این دورههای وبسایت راکت واقعا میتواند برای شما مفید باشد.
تسلط در یک فناوری
اکنون، هنگامیکه با HTML / CSS / JavaScript خوب کار میکنید، وقت آن است که به سمت استانداردهای این صنعت بروید. واقعیت این است که، مهم نیست که یک توسعه دهنده جاوااسکریپت چقدر خوب باشد، شما اغلب نیاز به کار با فریمورکهای مدرن مانند React دارید و فقط با دانش جاوااسکریپت نمیتوانید بلافاصله مسلط شوید.
زمان میبرد تا اصطلاحات، مفاهیم و نحوه کار فریمورک در هسته را یاد بگیرید و درک کنید. پس یک فریمورک انتخاب کنید و بر آن مسلط شوید.
ممکن است بپرسید چگونه؟ جواب ساده است: این بستگی به شما دارد. یک پروژه ساده در کلیه فریمورکهای اصلی (Angular ،Vue و React) ایجاد کنید و ببینید کدامیک را میپسندید. یکی را انتخاب کنید و دیگر به عقب نگاه نکنید.
سپس تمام پروژههای خود را با این فریمورک درست کنید. تلاش کنید کاری را انجام دهید که قبلا نمیدانستید چگونه باید انجام دهید. این بهترین راه برای این است که از منطقه امن خود خارج شوید و چیزهای جدید یاد بگیرید است.
چند دوره آموزشی خوب به شما معرفی میکنم تا بتوانید به یک فریمورک تسلط پیدا کنید:
اما بقیه را فراموش نکنید
توجه به رقبای دیگر نیز بسیار مهم است. این نه تنها شامل رقبای مستقیم فریمورک "مورد علاقه" شما است، بلکه بقیه ابزارهای ارزشمند توسعه وب نیز میباشد.
لازم نیست که در این ابزارها هم "استاد" شوید زیرا در بسیاری از مواقع از آنها فقط نیاز به یکبار تنظیم یا نگهداری منظم دارید. اما همیشه خوب است که آنها را در لیست مهارتهای خود نگه دارید.
این موضوع میتواند شامل موارد مختلفی باشد؛ مانند تست واحد با Jest، تست نهایی با Cypress ،Webpack ،Babel یا Parcel، کمی devops ،Linux shell scripting ،server deployments و ...
شما همیشه میتوانید اصول اولیه این مهارتها را به سرعت یاد بگیرید زیرا مدتهاست در این زمینه کار کردهاید، بنابراین آنها مطالب مفیدی را در اختیارتان قرار میدهند.
حرکت کنید
به من اعتماد کنید. احساس مضحکی دارد؛ اما زمانیکه بسیاری از پروژهها را توسعه دادید و کد بسیار زیادی را با فریمورک مورد نظر خود نوشتید، احساس میکنید که میتوانید هر کاری انجام دهید. در این نقطه، شما میتوانید کار پیدا کنید و فقط همان کار را انجام دهید که واقعا خوب است. یا میتوانید مهارتهایتان را افزایش دهید و پیشرفت کنید.
وب بسیار گسترده است
بنابراین اگر در HTML / CSS / JavaScript / React / Angular / Vue حرفهای شدید، به سمت سرور حرکت کنید. در مورد استقرار سرور، NGiNX ، HAProxy، load balancing، تنظیم زیرساختهای ابری، فایروالها و autoscaling اطلاعات کسب کنید.
در اینها هم حرفهای شدید؟ حالا به سمت WebAssembly حرکت کنید، زبانی برای دوره بعدی وب.
برنامهنویسی وب را تمام کردید؟ حالا دیگر من نمیدانم، شاید میخواهید در زمینه دیگری برنامهنویسی کنید یا اینکه آشپزی کنید.
نتیجه
در دنیای امروز ، برای شما بسیار آسان است که اشتباهاتی را که من هنگام یادگیری توسعه وب انجام دادهام، تکرار نکنید. چرا که همه آن اشتباهات، اکنون برای همه قابل خواندن است!
شما در حال حاضر منابع رایگان و غیر رایگان زیادی برای یادگیری در دسترس دارید و میتوانید با سرعت بیشتری در این کار حرفهای شوید. پس اصلا درنگ نکنید و هرچه سریعتر شروع به یادگیری کنید.
خوشحال میشوم شما هم تجربیات خود را با ما در میان بگذارید.
ممنون از وقتی که برای خواندن این مقاله صرف کردهاید. امیدوارم که برای شما مفید باشد.
دیدگاه و پرسش
در حال دریافت نظرات از سرور، لطفا منتظر بمانید
در حال دریافت نظرات از سرور، لطفا منتظر بمانید