گم شدن در دنیای بی انتهای Front End!


#1

عرض سلام و احترام خدمت شما دوستان عزیز
من در حال یادگیری مهارت های مورد نیاز برای تبدیل شدن به یک Front End Developer هستم ولی یک مشکل بزرگ دارم و این هست که انقدر تعداد فریم ورک های javascript و css و … زیاد هست که در نهایت نمی تونم تصمیم بگیرم کدوم مورد رو انتخاب کنم و در اون حرفه ای بشم.
اگه بخوام به عنوان مثال React JS, Angular JS, Vue.js و از طرف دیگه Bootstrap و Foundation و در ادامه less, sass, scss و خلاصه هزار تا framework و preprocessor رو با هم پیش ببرم آخرش همه کاره و هیچ کاره میشم! و در این کار حرفه ای نخواهم شد.
واقعا ازتون ممنون میشم اگه من رو راهنمایی کنید که دقیقا چه کاری رو باید انجام بدم آیا اگر تمام تمرکزم رو روی مثلا ۵ تا چیز (HTML, CSS, JavaScript. Bootstrap, React JS) بزارم و اون ها رو عالی یاد بگیرم کافیه؟
از یکایک دوستانی که من رو راهنمایی می کنند صمیمانه سپاس گزارم…


#2

درود خدمت شما به نظرم شما همین موردی که خودتون فرمودید رو کامل یاد بگیرید دیگه نیاز نیست انگولار و ویو رو یاد بگیرید اتفاقا بهترین های بینشون رو انتخاب کردید

HTML, CSS, JavaScript. Bootstrap, React JS

همین بالایی رو کامل برید جلو .


#3

فقط راجبه react.js -> بهترین . باهات مخالفم :unamused::stuck_out_tongue_winking_eye:


#4

ممنون میشم اگر بفرمایید دلیل شما برای عدم انتخاب React JS و پیشنهاد شما به عنوان جایگزین چی هست؟


#5

مشکل اینه ک اکثرا ری اکت رو بخاطر همه کاره بودنش میخان یاد بگیرن!! اونم بحث ری اکت نیتیوش … ولی شما هدفتونو درست انتخاب کنید …
ببین این فریم ورکا
angular
react
vue
backbon
و…

همشون یک کار میکنن و یک امکانات دارن …
الان اینجا بحث معماری هرکدوم … کامیونیتی… راحتی با هرکدوم مطرحه … مثلا من vue.js رو انتخاب کردم خیلی وقت پیش… بخاطر minimal بودن و low dependencyاش … همه چیز داره … اما برات نصبش نمیکنه تا وقتی خودت نیازت بشه و نصبش کنی … و همینطور با تمپلیت انجینش بیشتر از همشون حال میکنم ک همه چیز اسکوپ مشخص و جدا داره از همون ابتدا … و خیلی ساده تر هست

یادگیری html5 / css3 زیاد زمان نمیگیره … اما تبحر شاید زمان ببره و با ادامه دادنه ک بدست میاد …

درباره فریم ورکای css هم … اینا هم همشون یک کار میکنن …
bootstarp
materialize
fundation
و…

و اصلا بحث عمیق شدن تو اینا معنی نداره … چون یک سری کلاسای آمادس … ک شما براحتی تو htmlات استفاده میکنی… با یکی بلد بشی کار کنی… بقیه برات میشه چند دقیقه خوندن داک …

درباره preprocessors , postprocessors ک توی css وجود دارن هم همینه … اینا برای کسایی هستن ک اعصاب css زدن ندارن :smiley: و دوس دارن بصورت فانکشنال و لاجیک نویسی پیش برن … مثلا متغییر تعریف میکنید … ارث بری میکنید … محاسبات میکنید برای اعداد و ارقام … ک یاد گرفتن اینها هم زیاد زمان نمیبره … و برای اوقاتی هست ک بصورت خیلی خیلی گسترده ای قراره css بنویسید …


#6

تو پست بالا توضیحش دادم … دلیل من بیشتر دیزاین و معماری ای هست ک تو ری اکت بکار رفته … و سلیقه ای . .
همونطور ک گفتم اینا برتری ای نسبت به هم ندارن … و همشون … همون امکانات رو دارن … و همشون هم مال دنیای js هستن …

اما توصیه میکنم اگر فرانت اند رو تخصصی میرید جلو … به js و به خصوص ES6/7 یا یه جایگزین (typescript,) تسلط پیدا کنید …
و صرفا استفاده کننده آماده نشید … عمیق بشید …

بعدش درک فریم ورکاش براتون خیلی ساده تر میشه


#7

من تو بحث UI زدن به این نتیجه رسیدم که کلا سلیقه ای استانتخاب یک فریم ورک البته در این بین آدم باید از زندگیش لذت ببره و بخاطر شفافیت و سرزندگی پوستش در ادامه راه بی خیال کلا محصولات گوگل بشه . چون نه داکیومنت درست حسابی داره نه پروسه به روز رسانی نه کلا آدم نوشته اونو :sweat_smile: راحتتون کنم :grin:

من ری اکت رو انتخاب کردم چون عمر بالایی داره و از نحوه نوشته شدنش خیلی خوشم اومد لازم به ذکر هست که به قول دوستان فعلنه دوربین ها زیاد روی ویو جی اس هستند و برای کار های کوچیک مورد استفاده است.

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


#8

خیلی نامردیه اینجور فک کردن …
ما خودمون یه کدبیس 15k loc داریم با ویو…
علی بابا و گیت لب هم کوچیک نیست : )


#9

درود خدمت شما . قبل از صحبتم باید بگم شما اینطور که از تاپیکاتون مشخصه بسیار تجربه داریدو بنده تازه برنامه نویسی شروع کردم ولی امید وارم سو تفاهم نشه . مثال هایی مثل علی بابا یا … واقعا با یک تیم کوچیک دو الی سه نفر داخل ایران خیلی فرق می کنه . مثل اینکه بگیم با php بریم فیسبوک بزنیم چون فیسبوک اونو درست کرده . واقعیت امر اینکه فیسبوک یک مشت زامی اسختدام کرده :grin: دوباره سازی کردن کامل

شما ۱۵ هزار کاربر در روز دارید روی سایت ؟ یا ۱۵ هزار ری کو است . اگر می شه اطلاعاتی بیشتری در صورت امکان قرار بدید تا استفاده کنیم بسیار عالی می شه مخصوصا بکندش چی هست ؟


#10

اختیار دارید : ) شکسته نفسی میکنید عزیز … منم مثل خودتون…

والا تا جایی ک میدونم loc = Lines Of Code میشه (15هزارخط کد :grin: )

یعنی من زامبیم ؟ :laughing::laughing::laughing:

والا هنوز تازه راه افتادیم اینقد کابر نداریم … ولی بکندم پایتونه …


#11

تو بازی DOTA 2 یک معنی دیگه داره نتونستم تجزیه و تفکیک کنم :rofl:


#12

سلام و با اجازه از دوستان.
این حالتی که میگی خیلی مرسومه و خیلی ها بهش میگن JavaScript Fatigue !

ولی راه حل وجود داره :

قدم اول :

شما متاسفانه یا خوشبختانه از HTML و CSS و JavaScript به عنوان بیس و پایه، راه فراری نداری:

  • HTML و CSS که بیس و پایه هستن و باید یاد گرفته بشن، البته که یادگیری اینا خیلی ساده ولی ماهر شدن در اینا زمان میبره.
  • در مورد JavaScript که خود من هم مخالفش هستم و مشکلات زیاد و عمیقی داره که با ES6 و غیره هم ظاهرا حل نمیشه، ولی این هم باید به عنوان بیس و پایه یاد گرفته بشه که با مطالعه کتاب های مناسب اصلا کار سختی نیست. ولی ماهر شدن در JS هم طبیعتا زمان میبره.

قدم دوم :

بعد از یادگیری HTML و CSS و JavaScript تازه میشه سراغ Framework ها و Library ها و غیره رفت :

  • اول اینکه :
    باید همیشه تو ذهنت باشه که اکثر Framework ها به اصطلاح Opinionated هستن، یعنی یه جورایی سلیقه ای هستن و برای یادگیری هر کدام باید یه نحوه تفکر جدید راجب حل مسأله یاد بگیری.
    پس چیزی که باعث ایجاد این JavaScript Fatigue و این احساس سردرگمی میشه سخت بودن خود JavaScript یا CSS و یا خود این Framework ها نیست، بلکه یادگیری یه نحوه تفکر جدیده که باعث این حس و حال سردرگمی میشه.

  • دوم اینکه :
    اکثر اوقات Absolute Best وجود نداره، یعنی اکثر اوقات نمیشه گفت چه چیزی بهترین هستش، بستگی داره چه کسی چقدر در کار کردن با یه ابزار ماهر هستش و به چه چیزی عادت کرده (ترک و جابگزین کردن عادت ساده نیست).
    شاید من در کار کردن با Angular اینقدر ماهر باشم که استفاده از من، از استفاده از ۵ نفر که از React استفاده میکنن، بازده بالاتری داشته باشه برای یه پروژه.

  • سوم اینکه :
    خوشبختانه این Framework ها همگی رایگان هستن و خیلی راحت میشه همه رو امتحان کنی.
    علاوه بر این، تعداد بسیار زیادی ویدیو راجب این Framework ها در Youtube هستش که میشه بری و نحوه کاربرد هرکدام رو در عمل ببینی و هرکدام که با سلیقت بیشتر جور بود انتخاب کنی.

  • چهارم اینکه :
    وقتی چند تا رو امتحان کردی و تصمیم گرفتی یکی رو یادبگیری، این رو بدان که درمورد هر Framework یا Library یه مفهومی وجود داره به اسم Workflow، به زبان ساده بگم یعنی همون نحوه کار کردن و استفاده از اون Framework یا Library برای حل مسأله، که باید مد نظرت باشه که زمان میبره و سریع یادنمیگیری.

چند توصیه :

  • دنبال بهترین و جدیدترین نری بهتره، ببین خودت به چه چیزی علاقه داری و توی اون یه چیز ماهر شو.
    این همه Framework و Library میان و میرن ولی در آخر یه شخص از چیزی استفاده میکنه که توش ماهر باشه.

  • قرار نیست فقط یه چیز یاد بگیری تا آخر عمرت! چند تا یاد بگیر به جای یکی، البته به نوبت!

  • بهتر اینه که در حیطه نرم افزار و زبان های برنامه نویسی و Framework ها و Library ها و غیره، به همه چی به عنوان ابزار نگاه کنی و ببینی برای یک پروژه خاص چه ابزاری مناسب تره.

  • درمورد JavaScript خیلی وقت ها اصلا نیازی به Framework نیست و یه چیزی مثل jQuerry هم واقعا کافیه، ببین Application که میخوای بسازی واقعا به یه Framework نیاز داره؟

  • درمورد CSS هم تقریبا همینطوره، مخصوصا اینکه آپدیت های جدید خیلی کار رو راحت تر کرده.

  • پس همه چی به این بستگی داره که واقعا برای پروژه ای که داری روش کار میکنی اصلا به یه Framework نیازی داری یا نه؟ و اینکه علاقه شخصیت چیه و چقدر در استفاده از یه ابزار ماهری.

در پایان شاید این جمله از Bruce Lee نه تنها به بحث ما بلکه در جاهای دیگه از زندگی هم کمک کنه :

  • I fear not the man who has practiced 10,000 kicks once, but I fear the man who had practiced one kick 10,000 times.

  • من از کسی که ۱۰۰۰ نوع ضربه متفاوت رو یک بار تمرین کرده نمیترسم، ولی از کسی که یک نوع ضربه رو ۱۰۰۰ بار تمرین کرده میترسم.


#13

سلام :slight_smile:
در حال در حاضر در Back End (با Python, Django, Postgresql) کار می کنم ولی نوشته هاتون خیلی ارزشمند بود سه بار خوندمش… تشکر ازتون :heart: مواردی رو که فرمودین حتما رعایت می کنم :rose:

:+1::+1::+1:


#14

خواهش میکنم، خوشحالم که مفید بود. :slightly_smiling_face::rose: